/* UI v4 · approved pixel home is not re-laid out. */
:root{--ui-font:'Pretendard','Apple SD Gothic Neo','Noto Sans CJK KR',sans-serif}
.mini-shell,.mini-shell *,.modal,.modal *,#toast,.preview-bar,.preview-bar *{font-family:var(--ui-font)!important}
body:not([data-page="home"]){font-feature-settings:'ss05';-webkit-font-smoothing:antialiased}
/* Main typography inherits unchanged app.css (v3). No Pretendard override touches the house. */
.preview-bar{font-size:11px;justify-content:flex-end;gap:14px;min-height:20px}.preview-bar .preview-label{font-size:11px;letter-spacing:0;opacity:.7;text-decoration:none}
body:not([data-page="home"]){background:#e9e7e1;background-image:linear-gradient(#c6c4bc20 1px,transparent 1px),linear-gradient(90deg,#c6c4bc20 1px,transparent 1px);background-size:20px 20px;--ink:#3b3b36;--muted:#7c7e76;--paper:#fffdf7;--paper-light:#fff;--line:#d9dcd4;--green:#356648;--wood:#356648;--red:#a75441}
.mini-shell{max-width:1000px;margin:26px auto 12px;border:1px solid #adb4ae;border-radius:12px;padding:9px;background:#f5f3ec;box-shadow:3px 3px 0 #c5ccc1;background-image:none;overflow:visible}
.mini-shell .topbar{height:64px;background:#fffdf8;border:1px solid var(--line);border-radius:6px 6px 0 0;padding:0 27px;position:relative}
.mini-shell .brand{display:flex;align-items:baseline;gap:8px;letter-spacing:-.4px}.mini-shell .brand span{font-size:17px;font-weight:750}.mini-shell .brand small{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:0}.mini-shell .back-link{min-width:100px;font-size:14px;gap:6px;color:#666f69;height:44px}.mini-shell .header-user{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-size:12px;min-width:100px}.header-user .pixel-icon{width:20px;height:20px}.mini-titlebar{padding:13px 28px 12px;background:#fffdf8;border-left:1px solid var(--line);border-right:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;font-size:12px;color:#456c4b}.mini-titlebar a{color:#7c8e89;font-size:11px;letter-spacing:0}.mini-tabs{display:flex;gap:3px;padding:0 25px;background:#fffdf8;border:1px solid var(--line);border-top:0;border-bottom:1px dashed #cbd1c8;overflow-x:auto;scrollbar-width:none}.mini-tabs::-webkit-scrollbar{display:none}.mini-tabs a{white-space:nowrap;min-height:42px;display:flex;align-items:center;padding:0 16px;background:#f0f2ec;border:1px solid #d8ddd4;border-bottom:none;border-radius:4px 4px 0 0;font-size:13px;color:#69746a;margin-bottom:-1px}.mini-tabs a.active{background:#356648;color:white;border-color:#356648;font-weight:650}
.mini-shell .page-body{padding:30px 34px 40px;background:#fffdf8;border:1px solid var(--line);border-top:none;min-height:565px}.page-body :focus-visible{outline:2px solid #356648;outline-offset:3px}.mini-shell h1{font-size:26px;font-weight:730;line-height:1.35;letter-spacing:-.8px}.mini-shell h2{font-size:19px;line-height:1.45;letter-spacing:-.6px;font-weight:680}.mini-shell h3{font-size:15px;font-weight:650;letter-spacing:-.2px}.mini-shell p{line-height:1.7;font-size:14px}.mini-shell .page-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:26px}.mini-shell .page-heading p{margin-top:6px;font-size:14px;color:#85877e}.heading-icon{height:31px;width:31px;opacity:.85;margin-top:3px}.mini-shell .english,.mini-shell .mono{letter-spacing:0}.mini-shell .page-footer{border:1px solid var(--line);border-top:1px dashed #ccd1c7;background:#f5f6ef;color:#888d82;padding:16px 26px;border-radius:0 0 5px 5px;min-height:50px;font-size:10px;gap:20px}.page-footer>span{margin-right:auto}.mini-shell .page-footer a,.mini-shell .page-footer button{font-size:11px;color:#7d8578;letter-spacing:0}.mini-shell .panel{background:#fff;border:1px solid #dfe3db;border-radius:5px;box-shadow:none;padding:24px}.mini-shell .panel-title{border-bottom:1px dashed #d8ddd4;padding-bottom:12px;margin-bottom:18px}.mini-shell .panel-title .pixel-icon{width:20px;height:20px}.mini-shell .panel-title .english{display:none}.mini-shell .btn{background:#356648;color:white;min-height:46px;font-size:14px;font-weight:600;border:1px solid #2c583e;border-radius:4px;padding:12px 17px;box-shadow:inset 0 1px 0 #ffffff33;transition:background .15s}.mini-shell .btn:hover{background:#2d593f;transform:none}.mini-shell .btn.wood{background:#356648;border-color:#2c583e}.mini-shell .btn.ghost{background:#fafbf7;color:#5e6c61;border:1px solid #cdd4ca;box-shadow:none}.mini-shell .btn.ghost:hover{background:#f0f3ec}.mini-shell .btn.small{min-height:40px;font-size:12px;padding:8px 13px}.mini-shell .btn.danger{background:#ab5947;border-color:#ab5947}.mini-shell .text-link{font-size:12px;color:#3e6c4c;text-decoration:none}.mini-shell .text-link:hover{text-decoration:underline}.mini-shell .pill{border:0;border-radius:3px;font-size:11px;padding:5px 8px;letter-spacing:-.2px}.mini-shell .pill.ready{background:#ebf1e8;color:#587151}.mini-shell .pill.loan{background:#f8eee1;color:#af7a40}.mini-shell .pill.unknown{background:#f1f1ec;color:#85877e}.mini-shell .pill.red{background:#f9e9e5;color:#b1614e}.mini-shell .callout{border:0;border-left:2px solid #cfd8ce;border-radius:0;padding:12px 15px;background:#f5f6ee;color:#73816d;font-size:12px}.mini-shell .help{font-size:12px;line-height:1.75}.plain-note{font-size:12px!important;color:#686e61;line-height:1.65!important}.centered{text-align:center}.block-link{display:block;margin-top:16px;font-size:13px;color:#3e6c4c}.tiny-label{font-size:10px;color:#8b9285;letter-spacing:1px}.mini-shell .section-label{font-size:11px;letter-spacing:1px;color:#798777}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px dashed #cbd3c7;margin-bottom:18px;padding-bottom:11px}.section-head h2{font-size:16px}.section-head>span{color:#6e7b63;font-size:11px}.mini-shell input,.mini-shell textarea,.mini-shell select{background:#fff;border:1px solid #d6ddd1;border-radius:4px;padding:13px 12px;min-height:46px;font-size:15px;color:#4b5148}.mini-shell label{font-size:13px;font-weight:550;color:#677061}.mini-shell .icon-btn{background:transparent;border:1px solid #d9dfd3;border-radius:3px;width:36px;height:36px;font-size:21px;line-height:1;color:#798774}.bottom-nav{display:none}
/* Calendar: stationery, not dashboard tiles. */
.calendar-layout{grid-template-columns:1.04fr 1fr;gap:27px;align-items:start}.mini-shell .calendar-panel{padding:20px 19px 17px}.month-nav{align-items:center;margin-bottom:20px}.mini-shell .month-nav h2{font-size:19px;font-weight:650;letter-spacing:-.5px}.calendar-grid{gap:5px}.mini-shell .weekday{font-size:12px;color:#899285;padding-bottom:9px;letter-spacing:0}.mini-shell .weekday:first-child{color:#b7806d}.mini-shell .weekday:nth-child(7){color:#698faa}.mini-shell .day{height:43px;border-radius:3px;font-size:14px;position:relative;background:transparent;border:0;color:#48553f}.mini-shell .day.muted{opacity:.6;color:#aab0a3}.mini-shell .day.open{background:#f3f5ed}.mini-shell .day.open i{display:block;width:3px;height:3px;background:#be9164;margin:2px auto 0;border-radius:50%}.mini-shell .day.selected{background:#356648;color:white;box-shadow:none;border:0}.mini-shell .day.selected i{background:white}.calendar-legend{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px dashed #d8dfd1;padding-top:13px;margin-top:13px;font-size:11px;color:#6e7967}.calendar-legend .dot{width:5px;height:5px;background:#bc9268}.mini-shell .day-card{background:#fcfbf4;border:1px solid #dadfd1;padding:22px 24px;border-radius:4px;box-shadow:3px 3px 0 #f0efdf;transform:none}.mini-shell .day-card::before,.mini-shell .day-card::after{display:none}.day-card>.row-between h2{font-size:19px}.day-info{margin:23px 0 10px;display:grid;gap:13px}.day-info>div{display:flex;justify-content:space-between;align-items:center;font-size:14px}.day-info>div>span{color:#626e5e;font-size:12px}.day-info strong{font-weight:600}.interest-note{border-top:1px dashed #d7dccd;margin:20px 0 17px;padding-top:17px;display:flex;flex-wrap:wrap;gap:7px;align-items:baseline;font-size:12px;color:#78866b}.interest-note small{flex-basis:100%;font-size:11px;color:#7c8274}.mini-shell .counts{padding:0;margin:0;color:#356648;display:inline;font-size:12px;background:none;border:0}.mini-shell .counts strong{font-size:18px;font-weight:650}.day-card>.plain-note.centered{margin-top:12px}.schedule-list{margin-top:32px}.mini-shell .schedule-row{width:100%;display:grid;grid-template-columns:1fr 1fr auto 12px;gap:12px;text-align:left;align-items:center;padding:16px 0;min-height:60px;border:0;border-bottom:1px solid #e6e9e0;background:none;font-size:13px;color:#68745f}.schedule-row>strong{color:#454d3e;font-size:14px;font-weight:600}.schedule-row .mini-count{font-size:11px;color:#a37b53}
/* Check-in screen opens directly, without authentication blocking the page. */
.arrival-panel{max-width:580px;margin:0 auto;background:#fff;border:1px solid #d5ddd0;border-radius:5px;padding:30px}.arrival-welcome{display:flex;gap:19px;align-items:center;margin-bottom:27px}.profile-sticker{width:62px;height:66px;border:1px solid #d9dfd0;background:#f5f6ec;display:grid;place-items:center;flex-shrink:0;border-radius:3px}.profile-sticker .pixel-icon{width:48px;height:48px}.arrival-welcome h2{margin:5px 0 7px;font-size:20px}.mini-shell .state-tag{padding:0;background:none;color:#809071;border:0;font-size:11px;display:inline-flex;gap:4px;margin:0}.state-tag:before{content:'';width:5px;height:5px;background:#89a879;border-radius:50%;margin-right:5px;align-self:center}.arrival-primary{width:100%;min-height:78px;border:1px solid #2c583e;border-radius:4px;background:#356648;display:flex;align-items:center;gap:15px;padding:15px 24px;color:white;font-size:21px;letter-spacing:-.5px}.arrival-primary .pixel-icon{width:30px;height:30px}.arrival-primary b{margin-left:auto;font-size:25px;font-weight:400}.arrival-primary:disabled{opacity:.65}.arrival-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.arrival-shortcuts button{border:1px solid #d5dccd;background:#f7f8f1;min-height:93px;display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:column;font-size:12px;padding:14px 4px;color:#656c5b;border-radius:4px}.arrival-shortcuts button:disabled{opacity:.45}.arrival-shortcuts .pixel-icon{width:27px;height:27px}.qr-quick{display:flex;align-items:center;gap:10px;padding:18px 0 0;margin-top:18px;border-top:1px dashed #d5dccb;color:#3e6c4c;font-size:13px}.qr-quick b{margin-left:auto;font-size:20px;font-weight:400}.qr-quick .pixel-icon{width:20px;height:20px}.hold-note{margin-top:22px;padding:14px 16px;background:#fbf3e5;border:1px solid #eddfc8;display:flex;align-items:center;gap:20px}.hold-note>div>span{font-size:11px;color:#a28f6a}.mini-shell .hold-clock{font-size:26px;color:#b3854d;font-weight:650;display:block;letter-spacing:-.5px}.mini-shell .hold-clock small{font-size:13px;margin-left:3px}.hold-note>p{font-size:12px}.visit-note{font-size:12px!important;line-height:1.7;color:#939782;text-align:center;margin:20px 0 25px}.loan-panel{border-top:1px solid #dfe5d7;margin-top:12px;padding-top:19px}.loan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e5eadf;font-size:13px}.loan-row small{display:block;color:#929b86;margin-top:5px;font-size:11px}.loan-empty{color:#a0a695;padding:7px 0 15px;font-size:13px!important}.login-box{border:0!important;background:transparent!important}.login-box>.profile-sticker{margin:auto}.login-box p{color:#929b86;font-size:13px}.mini-shell .login-box h2{font-size:20px}.login-box label{text-align:left}
/* My diary and stamp booklet */
.record-layout{display:grid;grid-template-columns:1.1fr .85fr;gap:26px}.mini-shell .account-card{padding-bottom:19px;border-bottom:1px dashed #d4ddcc;gap:13px;margin-bottom:22px}.account-card .profile-sticker{width:55px;height:56px}.account-card .profile-sticker .pixel-icon{width:42px;height:42px}.account-card h2{font-size:17px}.account-card>button{margin-left:auto!important;font-size:11px}.small-id{font-size:11px;color:#979e8c}.stamp-heading{font-size:14px;color:#8a957b;display:flex;gap:6px;align-items:baseline}.stamp-heading strong{font-size:25px;color:#5b6753;font-weight:700}.mini-shell .stamp-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:21px 0}.mini-shell .stamp{border:1px dashed #d7decf;background:#fcfcf6;width:100%;aspect-ratio:1;max-width:64px;height:auto;color:#c2cbb6;font-size:12px;box-shadow:none;border-radius:50%}.mini-shell .stamp.filled{background:#f9eee6;border:1px solid #c6a088;color:#a57a60;box-shadow:inset 0 0 0 4px #fff7ed}.mini-shell .stamp .pixel-icon{width:28px;height:28px;filter:sepia(.5);opacity:.8}.reward-compact{margin:22px 0 13px;padding-top:15px;border-top:1px dashed #d6ddcd}.reward-compact>div{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:9px 0;line-height:1.5}.reward-compact b{font-weight:600;color:#788069}.reward-compact span{color:#456c4b}.qr-panel>p{font-size:12px;color:#859276}.mini-shell .qr-box{width:185px;height:185px;margin:24px auto 12px;background:#fffdf6;border:1px solid #e1e6d8;padding:16px;border-radius:3px}.mini-shell .qr-expiry{font-size:11px;color:#9aa58d;text-align:center;margin-bottom:15px}.copy-qr{font-size:11px!important;margin:9px auto 14px!important}.history-panel{margin-top:30px}.mini-shell .history-row{display:flex;gap:15px;align-items:center;border-bottom:1px solid #e2e8d8;padding:14px 0;font-size:13px}.history-row>div>small{display:block;color:#9aa68b;font-size:11px;margin-top:5px}.history-row>span{margin-left:auto;font-size:11px;color:#9c997e}.history-dot{width:28px;height:28px;display:grid;place-items:center}.history-dot .pixel-icon{width:19px;height:19px;opacity:.7}
/* Game collection / mini photo album */
.shelf-tabs{display:flex;gap:20px;border-bottom:1px solid #cbd6c4;margin:0 0 19px}.shelf-tabs a{padding:10px 3px 11px;font-size:14px;color:#9aa68d;min-height:42px}.shelf-tabs a.active{color:#356648;border-bottom:2px solid #356648;font-weight:650;margin-bottom:-1px}.shelf-tools{display:flex;gap:15px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.mini-shell .search{max-width:270px;height:44px;padding:12px 13px;margin:0;min-height:44px;background:#fff}.filter-scroll{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}.filter-scroll::-webkit-scrollbar{display:none}.mini-shell .tab{font-size:12px;padding:8px 12px;min-height:35px;background:#f5f7f0;border:1px solid #dce4d3;color:#7b8b6c;border-radius:3px;white-space:nowrap;box-shadow:none;font-weight:400}.mini-shell .tab.active{background:#e3eee2;color:#356648;border-color:#bad0b9;font-weight:600}.shelf-count{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:#939f85;margin-bottom:18px}.shelf-count b{color:#76907b}.game-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px 17px}.mini-shell .game-tile.game-row{display:flex;flex-direction:column;align-items:stretch;gap:9px;min-width:0;padding:0 0 14px;border:0;border-bottom:1px solid #e2e8da;border-radius:0;background:transparent;position:relative}.mini-shell .game-tile:hover{transform:none;color:var(--ink)}.game-photo{position:relative;background:#f5f5ee;aspect-ratio:1.1;border:1px solid #e1e5d9;padding:12px;display:grid;place-items:center;border-radius:3px;overflow:hidden}.game-photo img{position:absolute;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain;z-index:2;image-rendering:auto}.cover-fallback{position:absolute;inset:12px;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;color:#92a080}.cover-fallback .pixel-icon{width:30px;height:30px;opacity:.55}.cover-fallback b{font-size:12px;font-weight:500;text-align:center}.game-photo:has(img:not([style*="display: none"])) .cover-fallback{opacity:0}.game-photo.image-failed .cover-fallback{opacity:1}.mini-shell .game-text strong{font-size:14px;line-height:1.45;font-weight:600;display:block;min-height:20px}.mini-shell .game-text small{font-size:11px;color:#959f88;line-height:1.6;display:block;margin-top:5px}.game-status{display:flex;align-items:center;gap:5px;font-size:11px;color:#98a18c;margin-top:auto}.game-status>i{width:4px;height:4px;background:currentColor;border-radius:50%}.game-status.ready{color:#699275}.game-status.loan{color:#b19365}.shelf-bottom{margin-top:30px;padding:19px 20px;border:1px dashed #d2dec6;background:#f6f8ef;border-radius:3px}.shelf-bottom p{font-size:12px;color:#869773;line-height:1.8}.shelf-bottom small{font-size:11px;color:#6b755c;display:block;margin-top:6px}.back-list{display:inline-flex;min-height:40px;align-items:center;font-size:12px;color:#8a9a7a;margin-bottom:12px}.mini-shell .game-detail-layout{display:grid;grid-template-columns:.85fr 1fr;gap:32px;align-items:start}.mini-shell .game-cover{min-height:0;background:transparent;border:0;padding:0;display:block}.game-cover .game-photo{aspect-ratio:1}.game-photo.large img{width:80%;height:80%}.game-description>h2{font-size:27px;margin-top:13px;letter-spacing:-.7px}.game-en{font-size:11px!important;color:#a3ac94;margin-top:4px}.mini-shell .game-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;border-top:1px dashed #d1dec4;border-bottom:1px dashed #d1dec4;padding:16px 0;margin:20px 0 23px}.game-facts>div>span{display:block;font-size:10px;color:#9eaa8d}.game-facts>div>b{font-size:12px;display:block;line-height:1.5;margin-top:5px;color:#687c54;font-weight:550}.game-description h3{font-size:13px;margin:18px 0 8px;color:#738462}.mini-shell .detail-summary,.mini-shell .detail-tip{padding:0;border:0;background:none;font-size:14px;line-height:1.75;color:#636f57;margin:0}.dependency-note{font-size:12px!important;color:#a68a5e;background:#faf5e5;padding:11px;margin-top:18px}.mini-shell .game-actions{margin-top:26px}.game-links{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:10px}.game-links .btn.small{border:0;background:none;padding:10px 0;font-size:11px;color:#a6ae95}
/* Library: text-led covers, not guessed manga artwork */
.library-filters{margin-bottom:24px}.comic-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.comic-art{min-height:200px;aspect-ratio:1.25;display:flex;flex-direction:column;justify-content:space-between;padding:23px 25px;background:#5f8079;position:relative;overflow:hidden;border:1px solid #52756d;border-left:7px solid #405d59;color:#f5f1e3}.comic-art>span{font-size:9px;letter-spacing:2px;position:relative;z-index:2}.comic-art>b{font-size:30px;letter-spacing:-1px;line-height:1.1;z-index:2}.comic-art.slam{background:#bd755c;border-color:#b26852;border-left-color:#8a503f}.comic-pattern{position:absolute;right:-10px;bottom:-20px;width:135px;height:135px;background:conic-gradient(#7f9e8d 25%,#416254 0 50%,#7f9e8d 0 75%,#416254 0);background-size:40px 40px;transform:rotate(20deg);opacity:.6}.basketball{position:absolute;right:-18px;bottom:-27px;width:155px;height:155px;border-radius:50%;background:#ca8a60;border:1px solid #774d33;overflow:hidden;opacity:.65}.basketball:before,.basketball:after{content:'';position:absolute;inset:0;border:1px solid #774d33;border-radius:50%;transform:translateX(-35%)}.basketball:after{transform:translateX(35%)}.comic-item>.row-between{margin:16px 0 8px;gap:5px}.comic-item h2{font-size:17px}.full-series{font-size:10px;color:#9f7654;border:1px solid #d5c1a4;border-radius:2px;padding:3px 6px;white-space:nowrap}.comic-item p{font-size:12px;color:#9ca78d}.collection-feature{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}.collection-feature h2{font-size:23px;margin:10px 0 14px}.collection-feature p{font-size:14px;color:#8a9879}.collection-visual{aspect-ratio:1.25;background:#eae8dc;display:flex;align-items:center;justify-content:center;padding:25px;gap:8px;overflow:hidden;border:1px solid #d5dacd;position:relative}.design-volume{background:#e0d4bc;color:#8c7b5f;height:185px;width:115px;box-shadow:5px 4px 0 #b7ac94;border-left:6px solid #bbaf94;font-size:20px;font-weight:650;padding:17px 10px;letter-spacing:-.5px;transform:rotate(-5deg)}.design-volume+.design-volume{background:#87988b;border-left-color:#657d70;color:#e7e9d9;transform:rotate(6deg);margin-top:25px}.disc{width:130px;height:130px;border-radius:50%;background:conic-gradient(#cfcbc2,#e8eff1,#b3c4ba,#ede6db,#bfd5d8,#cfcbc2);border:1px solid #aaa99b;position:relative}.disc:after{content:'';position:absolute;inset:40%;border-radius:50%;border:1px solid #b3b2a6;background:#eae8dc}.cd-case{font-size:15px;padding:12px;color:#687969;width:110px;height:145px;background:#f5f1dfaa;border:1px solid #98a18b;box-shadow:4px 4px 0 #aaa98d4d;margin-left:-50px;transform:rotate(10deg)}
/* A quiet personal-home note, not a marketing hero */
.house-letter{padding:27px 30px 25px;background:#f8f7ef;border:1px solid #d8decf;border-radius:3px;margin-bottom:30px;position:relative;box-shadow:3px 3px 0 #eceee2}.letter-label{font-size:10px;letter-spacing:1px;color:#a78a63}.house-letter h2{font-size:26px;font-weight:650;line-height:1.45;margin:15px 0 22px;color:#64775d}.house-letter p{font-size:14px;line-height:1.85;color:#869475;margin:13px 0}.guide-price{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 0;border-top:1px dashed #cbd6c0;border-bottom:1px dashed #cbd6c0}.guide-price>div>span{font-size:12px;color:#8a9975;display:block}.guide-price strong{font-size:30px;letter-spacing:-1px;color:#718466;display:block;margin-top:6px;font-weight:650}.guide-price strong small{font-size:14px;margin-left:4px}.guide-price>p{font-size:11px;color:#9f967c;text-align:right;line-height:1.8}.guide-line{display:flex;gap:19px;border-bottom:1px solid #e2e9d9;padding:20px 0;align-items:flex-start}.guide-line>.pixel-icon{margin-top:2px;width:22px;height:22px}.guide-line h3{font-size:14px;margin-bottom:7px;color:#76866a}.guide-line p{font-size:13px;color:#67745d;line-height:1.8}.address-card{margin-top:28px;padding:23px 25px;background:#f4f6ec;border:1px solid #d2ddc4;border-radius:4px}.address-card .section-head{border:0;margin-bottom:10px}.address-card .address-main{font-size:16px;font-weight:650;color:#6d7e61;margin:8px 0}.address-card>p:not(.address-main){font-size:13px;color:#919f80}.address-actions{display:flex;gap:8px;margin-top:20px}.address-actions>.btn{flex:1}.address-card>.block-link{font-size:12px}
.news-tabs{display:flex;gap:5px;margin-bottom:16px}.news-list>a{display:flex;gap:15px;align-items:center;padding:21px 0;border-bottom:1px solid #dee5d6;min-height:85px}.news-kind{font-size:10px;background:#f1f4e9;border:1px solid #d2dec5;border-radius:3px;padding:5px 7px;color:#849772;white-space:nowrap}.news-list b{font-size:15px;color:#6a7c5c;font-weight:600}.news-list p{font-size:12px;color:#9caa89;margin-top:5px}.news-list>a>span:last-child{margin-left:auto;font-size:20px;color:#a7b596}.contact-note{background:#f6f7ee;border:1px solid #d6dfcc;border-radius:3px;padding:25px;margin-top:29px}.contact-note h2{font-size:18px;color:#7d8d6c;margin:10px 0 16px}.contact-link{display:flex;flex-wrap:wrap;gap:8px;padding:15px 0;border-bottom:1px dashed #d5dfc9;font-size:12px;color:#657655}.contact-link span{margin-left:auto}.contact-link:last-child{border:0}.contact-link b{font-weight:550;color:#6c8980}.mini-shell .faq details{border-color:#dbe4d1;padding:19px 0}.mini-shell .faq summary{font-size:14px;color:#758568;font-weight:550}.mini-shell .faq details p{font-size:13px;color:#8f9e80;padding-top:12px;line-height:1.75}
/* Coupons are quiet printed tickets; unready features are not promised as live. */
.event-list{display:grid;gap:18px}.coupon-ticket{display:flex;gap:25px;align-items:center;border:1px solid #d8dfce;background:#fbfcf6;border-radius:4px;padding:22px}.ticket-side{font-size:29px;font-weight:300;color:#b5bf9f;border-right:1px dashed #cdd8be;padding-right:22px;align-self:stretch;display:flex;align-items:center}.coupon-ticket h2{font-size:19px;color:#7b8a64;margin:6px 0}.coupon-ticket p{font-size:14px;color:#939d82}.coupon-ticket>.pixel-icon{margin-left:auto;width:33px;height:33px}.availability-note{display:inline-block;font-size:10px;background:#efefe4;color:#a4a38c;padding:3px 7px;margin-top:10px;border-radius:3px}.friend-ticket{padding:25px;background:#f7f2e6;border:1px solid #ddd9c5;border-radius:4px}.friend-ticket .people-pixels{padding:0 0 17px}.friend-ticket .pixel-icon{width:32px;height:32px}.friend-ticket h2{font-size:22px;line-height:1.55;color:#8c8063}.friend-ticket p{font-size:13px;color:#a3987b;margin:14px 0 11px}.friend-ticket small{font-size:11px;color:#b1a484}
/* Staff / modal */
.mini-shell .metric{background:#f7f9f0;border-color:#d6dfcb;padding:18px}.mini-shell .metric strong{font-size:27px;color:#7d976f}.mini-shell .admin-nav{gap:5px}.mini-shell .admin-table{font-size:12px}.mini-shell .admin-table th{background:#f2f5e9;font-weight:550;color:#869d77}.mini-shell .admin-table td{color:#869979;border-color:#dee6d6}.mini-shell .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.mini-shell .admin-table .btn{white-space:nowrap}.mini-shell .camera{border:1px solid #cad7bd;border-radius:5px;background:#363e34}.mini-shell .scan-corners{border-color:#cad7bd}.mini-shell .camera-placeholder .pixel-icon{width:50px;height:50px}.modal-backdrop{background:#25312680;backdrop-filter:none;z-index:130}.modal{font-family:var(--ui-font)!important;background:#fffdf8;border:1px solid #b9c7ad;border-radius:7px;box-shadow:4px 5px 0 #28362233;padding:26px;max-width:440px}.modal-header{margin-bottom:18px}.modal-header h2{font-size:20px;line-height:1.5;color:#586c4b;letter-spacing:-.6px}.modal p{font-size:13px;color:#657357;line-height:1.75}.modal .btn{background:#356648;border:1px solid #2d593f;min-height:46px;border-radius:4px;box-shadow:none;font-size:14px;font-weight:600}.modal .btn.ghost{background:#f5f7ee;color:#596c4e;border-color:#d3dec8}.modal label{font-size:13px;color:#596b49;font-weight:500}.modal input,.modal select,.modal textarea{font-size:16px;border-color:#d5dfca;background:white;color:#526443;min-height:46px}.modal input[type=checkbox]{min-height:20px;accent-color:#356648}.modal .error-inline{color:#ac6e50}.modal-close{min-width:44px;min-height:44px;font-size:25px;color:#6b7b5b}#toast{border:1px solid #748469;background:#465840;color:#f2f7e9;box-shadow:0 3px 7px #24322033;border-radius:5px;font-size:13px;max-width:min(420px,calc(100vw - 32px))}.mini-shell button:disabled{cursor:default}
/* Mobile first: keep existing home, adapt the remaining screens only. */
@media(max-width:700px){
 body:not([data-page="home"]){background:#edf0e6;background-image:none}.mini-shell{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;max-width:none}.mini-shell .topbar{height:58px;border:0;border-bottom:1px solid #e0e7d5;padding:0 18px;border-radius:0;position:sticky;top:0;z-index:30;background:#fffdf8}.mini-shell .back-link{min-width:65px;font-size:13px}.mini-shell .brand{font-size:14px;gap:5px}.mini-shell .brand span{font-size:15px}.mini-shell .brand small{display:none}.mini-shell .header-user{min-width:65px;font-size:11px;max-width:none}.mini-shell .header-user .pixel-icon{width:19px;height:19px}.mini-titlebar{border:0;padding:11px 18px 12px;font-size:11px;background:#fffdf8}.mini-titlebar a{font-size:10px}.mini-tabs{border-left:0;border-right:0;padding:0 17px;gap:3px;scrollbar-width:none}.mini-tabs a{min-height:39px;font-size:12px;padding:0 13px}.mini-shell .page-body{border:0;padding:24px 20px 26px;min-height:calc(100svh - 290px);background:#fffdf8}.mini-shell .page-heading{margin-bottom:22px}.mini-shell h1{font-size:24px;letter-spacing:-.7px}.mini-shell .page-heading p{font-size:13px;margin-top:7px}.heading-icon{width:26px;height:26px}.mini-shell .page-footer{border-radius:0;border-left:0;border-right:0;padding:16px 20px 88px;gap:16px;align-items:flex-start;min-height:135px}.mini-shell .page-footer a,.mini-shell .page-footer button{font-size:10px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #c8d7c2;background:#fcfef7;box-shadow:0 -3px 10px #4d673408;padding:8px 8px max(8px,env(safe-area-inset-bottom))}.bottom-nav a{height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#6a7b5b;font-size:10px;font-weight:500}.bottom-nav .pixel-icon{width:23px;height:23px;opacity:.65}.bottom-nav a.active{color:#356648;font-weight:650}.bottom-nav a.active .pixel-icon{opacity:1}.bottom-nav a.active:after{content:'';height:2px;width:17px;background:#356648;border-radius:1px;position:absolute;top:1px}.mini-shell~.preview-bar{margin:-75px 20px 76px;position:relative;color:#7d896d;font-size:10px;min-height:0}.mini-shell~.preview-bar button{font-size:10px}.mini-shell .panel{padding:21px}.mini-shell .calendar-layout{grid-template-columns:1fr;gap:19px}.mini-shell .calendar-panel{padding:18px 15px 15px}.calendar-grid{gap:3px}.mini-shell .day{height:39px;font-size:13px}.mini-shell .month-nav{margin-bottom:15px}.mini-shell .month-nav h2{font-size:18px}.calendar-legend{margin-top:12px;padding-top:12px;font-size:10px}.mini-shell .day-card{padding:21px 20px}.day-card>.row-between h2{font-size:20px}.day-info{margin-top:18px}.interest-note{margin:18px 0 15px}.schedule-list{margin-top:29px}.mini-shell .schedule-row{grid-template-columns:1fr 1.05fr auto 7px;gap:5px;font-size:11px;padding:17px 0;min-height:59px}.schedule-row>strong{font-size:13px}.schedule-row .mini-count{font-size:10px}.mini-shell .btn{min-height:48px;font-size:14px}.mini-shell .btn.small{min-height:40px;font-size:12px}.mini-shell .icon-btn{min-width:40px;min-height:40px}.arrival-panel{padding:22px 19px}.arrival-welcome{gap:13px;margin-bottom:24px}.arrival-welcome h2{font-size:17px;margin-top:6px}.arrival-welcome .profile-sticker{width:51px;height:58px}.arrival-welcome .profile-sticker .pixel-icon{width:40px;height:40px}.arrival-primary{font-size:20px;min-height:81px;padding:15px 17px}.arrival-shortcuts{gap:7px}.arrival-shortcuts button{font-size:12px;min-height:88px;line-height:1.5}.arrival-shortcuts .pixel-icon{height:24px;width:24px}.qr-quick{font-size:12px;margin-top:20px;padding-top:19px}.hold-note{gap:13px;padding:14px 12px}.hold-note>p{font-size:11px}.record-layout{grid-template-columns:1fr;gap:20px}.mini-shell .stamp-row{gap:12px;max-width:330px;margin:auto}.mini-shell .stamp{max-width:55px}.mini-shell .stamp-card{padding:23px 21px}.stamp-heading{font-size:14px}.reward-compact{margin-top:18px}.mini-shell .qr-box{width:182px;height:182px}.qr-panel>.section-head{margin-bottom:12px}.history-panel{margin-top:27px}.game-grid{grid-template-columns:1fr 1fr;gap:21px 15px}.shelf-tools{display:block;margin-bottom:18px}.mini-shell .search{max-width:none;width:100%;font-size:16px;height:46px;min-height:46px}.filter-scroll{margin-top:12px;margin-right:-20px;padding-right:20px;min-height:40px;align-items:center}.mini-shell .tab{min-height:36px;font-size:12px;padding:9px 12px}.shelf-count{font-size:11px;margin-bottom:15px}.shelf-count .text-link{font-size:11px}.mini-shell .game-tile.game-row{gap:8px;padding-bottom:13px}.game-photo{padding:9px;aspect-ratio:1.04}.game-photo img{width:calc(100% - 18px);height:calc(100% - 18px)}.mini-shell .game-text strong{font-size:14px;font-weight:600}.mini-shell .game-text small{font-size:10px;margin-top:5px;min-height:16px;line-height:1.6}.game-status{font-size:10px}.shelf-tabs a{font-size:13px;padding-bottom:12px}.shelf-bottom{padding:15px 17px;margin-top:24px}.shelf-bottom p{font-size:12px}.shelf-bottom small{font-size:10px;line-height:1.7}.mini-shell .game-detail-layout{grid-template-columns:1fr;gap:24px}.mini-shell .game-cover{max-width:290px;margin:0 auto;width:100%}.game-photo.large{aspect-ratio:1.17}.game-description h2{font-size:26px;margin-top:10px}.game-en{font-size:10px!important}.mini-shell .game-facts{padding:17px 0;margin:20px 0}.game-facts>div>b{font-size:12px}.mini-shell .detail-summary,.mini-shell .detail-tip{font-size:14px}.game-links{margin-top:9px}.mini-shell .game-actions{margin-top:24px}.comic-grid{gap:14px}.comic-art{min-height:190px;aspect-ratio:.78;padding:17px 14px;border-left-width:5px}.comic-art>b{font-size:27px}.comic-art>span{font-size:8px}.comic-pattern{width:110px;height:110px;background-size:32px 32px}.basketball{width:124px;height:124px}.comic-item>.row-between{margin-top:12px}.comic-item h2{font-size:16px}.full-series{font-size:9px;padding:3px 5px}.comic-item p{font-size:11px;line-height:1.75}.collection-feature{grid-template-columns:1fr;gap:23px}.collection-feature>div>h2{font-size:22px}.collection-visual{max-height:260px}.collection-feature p{font-size:14px}.house-letter{padding:23px 21px;margin-bottom:25px}.house-letter h2{font-size:24px;margin-top:16px;line-height:1.45}.house-letter p{font-size:13px;line-height:1.9}.guide-price{padding:18px 0;gap:9px}.guide-price strong{font-size:28px}.guide-price>p{font-size:10px}.guide-line{gap:14px;padding:19px 0}.guide-line p{font-size:13px}.guide-line h3{font-size:14px}.address-card{padding:20px}.address-card .address-main{font-size:15px}.address-actions .btn{padding:10px;font-size:13px}.address-card>.block-link{font-size:12px}.news-list>a{gap:12px;padding:19px 0}.news-list b{font-size:14px}.news-list p{font-size:12px}.news-kind{font-size:9px;padding:5px 6px}.contact-note{padding:22px 19px}.contact-note h2{font-size:18px}.contact-link{font-size:11px;min-height:48px}.coupon-ticket{padding:18px 15px;gap:15px}.ticket-side{padding-right:14px;font-size:27px}.coupon-ticket h2{font-size:17px}.coupon-ticket p{font-size:13px}.coupon-ticket>.pixel-icon{width:28px;height:28px}.friend-ticket{padding:22px}.friend-ticket h2{font-size:22px}.friend-ticket p{font-size:12px}.mini-shell .admin-metrics{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:23px}.mini-shell .metric{padding:16px 9px}.mini-shell .metric strong{font-size:27px}.mini-shell .admin-nav{flex-wrap:wrap;gap:5px}.mini-shell .admin-table{font-size:11px;min-width:440px}.mini-shell .admin-table th,.mini-shell .admin-table td{padding:13px 8px}.mini-shell .table-wrap{max-width:100%}.mini-shell .grid-two,.mini-shell .kiosk-grid{grid-template-columns:1fr}.mini-shell .camera{min-height:270px}.modal-backdrop{padding:0;align-items:flex-end;background:#25312680}.modal{width:100%;max-width:none;border-radius:12px 12px 0 0;border-bottom:0;padding:20px 24px calc(24px + env(safe-area-inset-bottom));max-height:88svh;box-shadow:none}.modal-header h2{font-size:20px}.modal-actions{margin-top:23px}.modal label{font-size:13px}.modal .btn{min-height:49px}.modal .login-box{padding:0}.modal .login-box h2{font-size:18px}#toast{bottom:82px;padding:13px 18px;font-size:12px}
}
@media(max-width:360px){.mini-shell .page-body{padding-left:16px;padding-right:16px}.mini-titlebar{gap:8px}.mini-titlebar a{font-size:9px}.mini-tabs{padding-left:12px}.mini-tabs a{padding:0 11px}.mini-shell .brand span{font-size:14px}.game-grid{gap:18px 12px}.arrival-panel{padding:20px 15px}.arrival-welcome h2{font-size:16px}.comic-item h2{font-size:14px}.coupon-ticket{gap:10px}.coupon-ticket h2{font-size:15px}.coupon-ticket p{font-size:12px}.coupon-ticket>.pixel-icon{width:23px;height:23px}.game-facts>div>b{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Final contrast and calendar corrections. */
.mini-shell .day.open{box-shadow:none}.mini-shell .day.selected{outline:none}.mini-shell .day:focus-visible{outline:2px solid #254d36;outline-offset:2px}
.mini-shell .day-card .counts{margin:0;padding:0;display:inline;border:0;background:none;font-size:12px;line-height:1.5}.mini-shell .day-card .counts strong{font-size:18px}
.mini-shell .page-heading p{color:#687362}.mini-shell .plain-note,.mini-shell .visit-note{color:#65725b}.mini-shell .state-tag{color:#526d42}
@media(max-width:360px){.mini-shell .filter-scroll{margin-right:-16px;padding-right:16px}}
/* Small mobile copy stays readable without enlarging every card. */
.mini-shell .comic-item p,.mini-shell .shelf-bottom p,.mini-shell .guide-line p,.mini-shell .news-list p{color:#5f6b58}
.mini-shell .admin-table td{color:#526054}.mini-shell .admin-table th{color:#52695a}

/* V5 · Main remains a horizontal room, never the alternate portrait homepage. */
.home-shell .community-hotspot{left:62%;top:52%;width:15%;height:6.5%;font-size:clamp(6px,1.25vw,16px);z-index:3;}
.home-shell .community-hotspot .pixel-icon{color:var(--green)}
/* Restored original main; no filter, pixel resampling, family or geometry changes. */
.unified-shelf{overflow-x:auto;scrollbar-width:none;gap:22px}
.unified-shelf button{white-space:nowrap;background:none;border:0;border-radius:0;padding:10px 1px 13px;min-height:46px;font-size:14px;color:#7e8b76}
.unified-shelf button.active{border-bottom:2px solid #356648;color:#356648;font-weight:650;margin-bottom:-1px}
.mini-shell .stamp.filled{background:#edf4e8;border-color:#8faa82;box-shadow:inset 0 0 0 4px #f6faf1;color:#356648;outline-color:#8faa82}
.mini-shell .stamp .pixel-icon{filter:grayscale(1) sepia(.35) hue-rotate(45deg)}
.board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:19px}
.board-toolbar .news-tabs{margin:0}.board-count{font-size:11px;white-space:nowrap;color:#7c8972}
.bulletin-row{padding:22px 0;display:flex;align-items:flex-start;gap:14px;border-top:1px dashed #d4ddce}
.bulletin-title{min-width:0;flex:1}.bulletin-title b{font-size:16px;font-weight:600;overflow-wrap:anywhere}.bulletin-title small{display:block;font-size:11px;color:#829075;margin-top:9px}.row-arrow{color:#7b8b6d;font-size:20px}
.news-kind.pinned{background:#e7efe2;color:#356648}.community-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 0;border-top:1px solid #d5dfce;border-bottom:1px dashed #d5dfce;margin-bottom:18px}.community-intro p{font-size:15px;margin-top:6px;color:#4e6048}
.community-list{border-top:1px solid #dbe2d5}.community-row{display:block;padding:22px 0;border-bottom:1px solid #dbe2d5;transition:background .12s}.community-row:hover{background:#f8faf4}.community-row-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.recruit-state{font-size:11px;color:#84907a}.recruit-state.open{color:#356648}.mini-shell .community-row h2{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.community-excerpt{color:#77856c;font-size:13px!important;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meetup-facts{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;margin:16px 0 12px;background:#f0f5ea;border-radius:3px;font-size:12px;color:#526747}.meetup-facts b{color:#356648}.post-meta{display:flex;flex-wrap:wrap;gap:10px;color:#7b896e;font-size:11px;line-height:1.7;margin-top:10px}.board-footnote{font-size:11px!important;color:#7d8871;margin-top:23px}
.post-article{padding:21px 0;border-top:1px solid #d7dfd0}.mini-shell .post-article h2{font-size:27px;line-height:1.45;margin-top:16px;overflow-wrap:anywhere}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:15px;color:#414d3d;padding:27px 0 30px}.post-meta+ .post-body{margin-top:16px;border-top:1px dashed #d5dfce}.meetup-summary{margin:25px 0 0;padding:17px 20px;background:#f1f5eb;border:1px solid #dbe4d2;border-radius:4px}.meetup-summary>div{display:flex;gap:20px;justify-content:space-between;font-size:13px;line-height:1.75;margin:8px 0}.meetup-summary span{color:#7b8970;min-width:60px}.meetup-summary b{text-align:right;color:#4b6042;font-weight:600}.join-area>small{font-size:11px;color:#7b876c;display:block;margin-top:12px;line-height:1.8}.host-note{display:block;padding:13px 0;color:#356648;font-size:13px}.owner-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.comments{padding-top:22px;border-top:1px dashed #d4ddcb}.comment{padding:16px 0;border-bottom:1px solid #e3e8db}.comment b{font-size:13px;font-weight:600}.comment p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px!important;line-height:1.8;margin-top:12px}.comment small{font-size:10px;color:#8b947d;display:block;margin-top:10px}.compact-body{font-size:13px;padding:12px 0;max-height:150px;overflow:auto}.mini-shell .compact-empty{padding:25px 16px}
.admin-top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:12px;color:#748368}.mini-shell .admin-metrics .metric{cursor:pointer;min-width:0}.mini-shell .metric strong{color:#356648}.mini-shell .needs-attention{border-color:#8aa37a;background:#e9f1df}.mini-shell .needs-attention strong{color:#356648}.mini-shell .admin-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:10px;scrollbar-width:none}.mini-shell .admin-content{padding:25px}.clear-card{display:flex;justify-content:space-between;gap:13px;border:1px solid #b4c5a9;background:#f2f6eb;border-radius:4px;padding:17px;margin-bottom:10px}.clear-card b{font-size:14px}.clear-card span{display:block;font-size:11px;color:#718161;margin-top:8px}.clear-check{border:1px solid #6e8d5e;background:#fffef8;color:#356648;display:flex;align-items:center;gap:7px;white-space:nowrap;border-radius:4px;font-size:12px;padding:8px 11px;min-height:44px}.clear-check .pixel-icon{width:18px;height:18px}.staff-list{display:grid;gap:0}.staff-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 0;border-bottom:1px solid #e0e6d8;font-size:12px}.staff-row b{font-size:13px;font-weight:600}.staff-row small{display:block;font-size:10px;color:#7f8a71;margin-top:6px;overflow-wrap:anywhere}.staff-history{margin-top:20px;border-top:1px dashed #d3decc;padding-top:16px}.staff-history summary{font-size:12px;cursor:pointer;color:#78896a}.admin-bulletin{padding:19px 0;border-bottom:1px solid #dce4d4}.admin-bulletin h3{margin-top:12px;line-height:1.6;overflow-wrap:anywhere}.admin-bulletin small{display:block;margin-top:7px;color:#7c8a6c;font-size:11px}.catalog-admin{display:grid;gap:16px}.catalog-admin-card{border-bottom:1px solid #dce4d5;padding:8px 0 21px}.catalog-admin-card h3{font-size:15px}.catalog-admin-card small{font-size:11px;color:#7a8a6a;display:block;margin-top:8px}.unit-list{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.unit-chip{display:flex;align-items:center;gap:8px;border:1px solid #d1ddc7;border-radius:3px;min-height:40px;padding:8px 12px;background:#f8faf3;font-size:11px;text-align:left}.unit-chip span{font-size:10px;color:#849078}.unit-chip b{font-weight:500;color:#536a45}.password-settings{max-width:420px;margin:auto}.password-settings .btn{width:100%}.modal input[type=checkbox]{width:20px;height:20px}.modal textarea{min-height:140px}.modal [hidden]{display:none!important}
@media(max-width:700px){
 .bottom-nav{grid-template-columns:repeat(6,1fr)}.bottom-nav a{font-size:10px;position:relative}.mini-shell .mini-tabs a{padding-left:11px;padding-right:11px}
 .unified-shelf{gap:18px;margin-bottom:22px}.unified-shelf button{font-size:12px;min-height:45px}
 .board-toolbar{gap:9px;align-items:center}.board-toolbar .filter-scroll{margin:0;padding:0;max-width:100%}.board-count{font-size:10px}.community-intro{padding:18px 0}.community-intro p{font-size:13px}.community-intro .tiny-label{font-size:9px}.community-intro .btn{min-width:70px}.community-row{padding:20px 0}.mini-shell .community-row h2{font-size:17px}.community-excerpt{font-size:12px!important}.meetup-facts{padding:11px 13px;font-size:12px}.post-meta{font-size:11px}.post-article{padding-top:15px}.mini-shell .post-article h2{font-size:23px}.post-body{font-size:15px;line-height:1.9}.meetup-summary{padding:13px 16px}.meetup-summary>div{font-size:12px;gap:10px}.bulletin-row{gap:11px;padding:20px 0}.bulletin-title b{font-size:15px}.bulletin-title small{font-size:10px}.board-footnote{font-size:10px!important;line-height:1.8}.mini-shell .admin-content{padding:20px 17px}.clear-card{padding:14px 12px;gap:8px}.clear-check{font-size:11px;padding:8px;gap:5px}.clear-card span{font-size:10px}.mini-shell .admin-nav{margin-right:-20px;padding-right:20px}.staff-row{font-size:11px}.unit-chip{max-width:100%;font-size:10px}.catalog-admin-card .row-between{gap:10px}.catalog-admin-card .btn.small{padding:8px 10px;font-size:11px}.admin-bulletin .owner-actions .btn{min-height:40px}.admin-top-actions{margin-bottom:18px}
}
@media(max-width:640px){.home-shell .community-hotspot{font-size:5.8px}.home-shell .community-hotspot .pixel-icon{width:9px;height:9px}}
@media(max-width:700px){.mini-shell .admin-nav{margin-right:0;padding-right:0;max-width:100%;min-width:0}}

/* ── 한남하우스 정렬 ── */
/* 폰트: 본 사이트와 동일한 Pretendard Variable 로 통일 */
:root{--ui-font:'Pretendard Variable','Pretendard','Apple SD Gothic Neo','Noto Sans CJK KR',system-ui,sans-serif;
  font-family:var(--ui-font)}
body,button,input,select,textarea,.wordmark{font-family:var(--ui-font)}
/* 로고: 워드마크가 배경 일러스트에 이미 그려져 있어 HTML 중복 표시는 숨김.
   화면에서만 감추고 스크린리더에는 남긴다. */
.home-brand{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;background:none}
/* 나머지 Courier New / monospace 자리도 Pretendard 로 통일 */
.back-link,.book-spine span,.day-card h2,.eyebrow,.hold-clock,.metric strong,
.mobile-home-message h1,.mono,.english,.month-nav h2,.notice-row time,
.open-sign strong,.page-footer a,.passport-id,.qr-expiry,.schedule-row strong,
.section-label,.stamp,.weekday,.wordmark,.boot{font-family:var(--ui-font)}
/* 운영 방식 한 줄 안내 — 그림을 가리지 않게 하단 스트립에 */
.home-usage{display:block;color:var(--paper);opacity:.9;font-size:12px;
  font-weight:500;letter-spacing:.01em;margin-bottom:3px}
@media(max-width:900px){
  .home-guide{display:block;text-align:center}
  .home-guide .home-usage{font-size:10.5px;margin-bottom:2px}
}
/* 첫 방문 안내 팝업 */
.intro-copy p{margin:0 0 14px;line-height:1.72;font-size:15px}
.intro-copy p:last-child{margin-bottom:0}
.intro-copy .intro-lead{font-weight:600;font-size:16px;color:var(--green,#326349)}
/* 촬영 스튜디오(본 사이트)로 가는 링크 */
.studio-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:#2b251d;color:#d8ccb6;padding:11px 26px;font-size:12px;
  text-decoration:none;border-bottom:1px solid #4a3f30;transition:background .2s ease}
.studio-bar:hover{background:#352e24}
.studio-bar b{color:#f0e6d2;font-weight:600}
.studio-bar .studio-go{color:#b9a888;white-space:nowrap}
.mini-titlebar .titlebar-studio{margin-left:auto;margin-right:14px}
@media(max-width:900px){
  .studio-bar{padding:9px 14px;font-size:10.5px}
  .mini-titlebar .titlebar-studio{margin-right:10px}
}
@media(max-width:560px){
  .studio-bar .studio-go{display:none}
}
/* 테이크씨 할인쿠폰 */
.coupon-card{margin-top:18px;padding:15px 16px;border:1px dashed #b49a6e;border-radius:6px;background:#fdfaf2}
.coupon-card.locked{border-style:solid;border-color:#ddd5c4;background:#f6f3ec;opacity:.85}
.coupon-card.used{border-style:solid;border-color:#ddd5c4;background:#f2efe8}
.coupon-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.coupon-head b{font-size:15px;letter-spacing:-.01em}
.coupon-stamp{flex:none;font-size:11px;padding:3px 9px;border-radius:999px;background:#e5dfd2;color:#6f6553}
.coupon-stamp.ok{background:var(--green,#326349);color:#fff}
.coupon-card.used .coupon-head b{color:#8a8172;text-decoration:line-through}
.coupon-terms{margin:0 0 12px;padding-left:17px}
.coupon-terms li{font-size:12.5px;line-height:1.7;color:var(--muted,#817663)}
.coupon-card .plain-note.centered{text-align:center;margin-top:9px}
/* 쿠폰 확인 문구 — 화면 정중앙에 크게 */
#toast.center{top:50%;bottom:auto;transform:translate(-50%,calc(-50% + 14px));
  padding:26px 34px;font-size:17px;font-weight:600;letter-spacing:-.01em;
  text-align:center;border-width:2px;box-shadow:5px 6px 0 #0004;max-width:min(420px,86vw)}
#toast.center.visible{transform:translate(-50%,-50%)}
@media(max-width:600px){#toast.center{padding:22px 26px;font-size:15.5px}}
/* 관리실 — 휴대폰 뒷번호로 손님 찾기 */
.pay-search{display:grid;gap:6px;margin:0 0 14px;padding:13px 15px;border:1px solid var(--line,#d9cbb0);border-radius:6px;background:#fbf8f1}
.pay-search label{font-size:12.5px;font-weight:600;color:var(--ink,#30291f)}
.pay-search input{width:120px;font-size:19px;letter-spacing:.22em;text-align:center;padding:9px 10px}
.pay-search .pay-hint{font-size:12px;color:var(--muted,#817663);line-height:1.6}
/* 토스 포스 결제 연결 */
.pos-box{display:grid;gap:10px}
.pos-card{padding:13px 15px;border:1px solid var(--line,#d9cbb0);border-radius:6px;background:#fbf8f1}
.pos-card .row-between b{font-size:14.5px}
.pos-card .row-between small{color:var(--muted,#817663);font-size:11px}
.pos-pick{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.pos-linked{display:grid;gap:6px;margin-bottom:6px}
.pos-row.done{display:grid;gap:2px;padding:9px 12px;border-left:3px solid var(--green,#326349);background:#f1f5ee;border-radius:3px}
.pos-row.done b{font-size:13.5px}
.pos-row.done span,.pos-row.done small{font-size:11.5px;color:var(--muted,#817663)}
/* QR 스캐너 미리보기만 좌우반전(거울). 인식은 원본 프레임으로 하므로 영향 없음 */
.camera video{transform:scaleX(-1)}
/* 입력 중(키보드 열림)에는 하단 메뉴를 화면 아래로 내린다 */
.bottom-nav{transition:transform .18s ease}
body.typing .bottom-nav{transform:translateY(110%);pointer-events:none}
/* 첫 방문 팝업(A안) — 기본 닫기 버튼 대신 두 갈래 선택 버튼 */
.intro-modal .modal-actions{display:none}
.intro-choices{display:grid;gap:9px;margin-top:20px}
.intro-choices .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;text-align:center;text-decoration:none}
.intro-copy p,.intro-choices .btn{word-break:keep-all}
