:root{--ink:#30291f;--muted:#817663;--paper:#f4eddb;--paper-light:#fbf6e9;--line:#d9cbb0;--wood:#88623f;--wood-dark:#634328;--green:#326349;--green-light:#e0ead7;--red:#a94f3e;--gold:#cba968;--shadow:rgba(24,17,10,.17);font-family:Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--ink);font-size:15px;background:#2b261f}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a9813b;outline-offset:4px}button,input,select,textarea{border-radius:3px}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cabc9f;background:var(--paper-light);color:var(--ink)}textarea{min-height:100px;resize:vertical}label{display:block;font-size:13px;font-weight:700;margin:16px 0 8px}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.25;letter-spacing:-1px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:16px}p{line-height:1.8}small{line-height:1.6}.mono,.english{font-family:'Courier New',monospace;letter-spacing:.1em}.english{font-size:11px;font-weight:700}.muted{color:var(--muted)}.pixel-icon{display:inline-block;width:24px;height:24px;flex-shrink:0;vertical-align:middle}.icon-lg{width:48px;height:48px}.icon-xl{width:80px;height:80px}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:10px;background:white;z-index:1000;padding:15px}.boot{text-align:center;padding:30vh 10px;color:var(--paper);font-family:monospace;font-weight:900;font-size:25px}.boot small{font-size:14px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;border-bottom:1px solid var(--line)}.back-link{display:flex;align-items:center;gap:9px;font:12px 'Courier New',monospace;min-width:160px}.brand{text-align:center;display:flex;align-items:center;gap:11px}.brand .pixel-icon{width:35px;height:35px}.wordmark{font-family:'Courier New',monospace;font-size:18px;line-height:1.1;font-weight:1000;letter-spacing:.08em;text-shadow:.65px 0 currentColor}.wordmark small{display:block;font-size:10px;letter-spacing:.22em;margin-top:4px;text-shadow:none}.top-right{min-width:160px;text-align:right;font-size:11px;color:var(--muted)}.page-shell{max-width:1160px;margin:28px auto 20px;background:var(--paper);box-shadow:0 3px 0 #867054,0 10px 35px #1b150d;border:1px solid #88775a;border-radius:9px;overflow:hidden;background-image:radial-gradient(#8777550b .7px,transparent .7px);background-size:5px 5px}.page-body{padding:36px 44px 42px;min-height:580px}.page-heading{display:flex;gap:16px;align-items:center;margin-bottom:30px}.page-heading p{font-size:14px;color:var(--muted);margin-top:7px}.eyebrow{font:11px 'Courier New',monospace;letter-spacing:.13em;color:var(--wood);margin-bottom:7px}.page-footer{display:flex;align-items:center;gap:28px;padding:18px 32px;background:#2e2a22;color:#e6dcc7;min-height:60px}.page-footer a{font:11px 'Courier New',monospace;letter-spacing:.08em}.page-footer .footer-home{margin-left:auto}.preview-bar{max-width:1160px;margin:10px auto 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#c5b89e;font-size:11px;padding:0 8px;line-height:1.5}.preview-bar strong{color:#ece2cc;font-size:10px;letter-spacing:.1em}.preview-bar button{background:none;border:0;color:#b9aa90;font-size:11px;text-decoration:underline}.btn{border:1px solid #244d36;border-bottom:3px solid #203f2e;background:var(--green);color:#fffaf0;padding:13px 20px;font-weight:700;display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:47px;transition:transform .12s,background .12s}.btn:hover{background:#254e37;transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn.wood{background:var(--wood);border-color:#68482e}.btn.wood:hover{background:#755130}.btn.ghost{background:transparent;color:var(--ink);border:1px solid #c4b493;border-bottom:2px solid #c4b493}.btn.ghost:hover{background:#e9dfc9}.btn.danger{background:var(--red);border-color:#803d32}.btn.wide{width:100%}.btn.small{min-height:36px;padding:8px 12px;font-size:12px}.pill{display:inline-flex;padding:5px 9px;align-items:center;gap:5px;font-size:11px;border:1px solid var(--line);border-radius:3px;white-space:nowrap}.pill.ready{background:#e1ead7;color:#315332;border-color:#d5e0c9}.pill.loan{background:#efe1c9;color:#815b25;border-color:#dfc8a8}.pill.unknown{background:#e9e4d7;color:#776c58}.pill.red{background:#f1dcd3;color:#934e3e}.panel{border:1px solid #cfc0a1;background:#faf5e880;border-radius:4px;padding:22px}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:17px}.panel-title .english{margin-left:auto;color:var(--muted)}.callout{display:flex;gap:12px;padding:16px 18px;border:1px solid #d6c49d;background:#eee3c9;font-size:12px;line-height:1.8;border-radius:3px}.callout .pixel-icon{margin-top:2px}.callout.subtle{background:transparent;border-color:var(--line);color:var(--muted)}.space-top{margin-top:24px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:25px}.grid-three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.text-link{background:none;border:0;padding:0;text-decoration:underline;font-size:12px;color:var(--wood);cursor:pointer}.section-label{font:11px 'Courier New',monospace;color:var(--wood);letter-spacing:.14em;margin-bottom:15px}.empty{padding:34px 18px;text-align:center;color:var(--muted);font-size:13px;line-height:1.9;border:1px dashed var(--line)}.hr{border:0;border-top:1px solid var(--line);margin:22px 0}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.help{font-size:11px;color:var(--muted);line-height:1.8;margin-top:12px}.check-label{display:flex;align-items:flex-start;gap:9px;font-weight:400;line-height:1.7}.check-label input{width:16px;margin-top:4px;accent-color:var(--green)}.hidden{display:none!important}
/* The approved room is a single compressed asset, with actual HTML controls on top. */
.home-shell{max-width:1280px;margin:22px auto 0;border:1px solid #6d573d;border-radius:6px;overflow:hidden;box-shadow:0 14px 35px #17120d}.house-scene{position:relative;aspect-ratio:3/2;background:#2b261f;isolation:isolate}.house-scene>img{width:100%;height:100%;object-fit:contain;display:block;image-rendering:pixelated}.home-brand{position:absolute;top:1.6%;left:1.4%;width:29%;height:17%;background:#28241f;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f4ecd9;border-radius:3px}.home-brand .pixel-icon{width:37px;height:37px;margin-bottom:6px}.home-brand .wordmark{font-size:clamp(15px,2.5vw,30px)}.home-brand .wordmark small{font-size:12px}.open-sign{position:absolute;top:1.8%;right:1.2%;width:20%;height:12.5%;background:#302a22;color:var(--paper);border:2px solid #967b55;padding:14px 17px;text-align:left;box-shadow:4px 4px 0 #201b15;display:flex;flex-direction:column;justify-content:center;gap:8px}.open-sign strong{font-size:clamp(12px,1.5vw,18px);font-family:'Courier New',monospace}.open-sign small{font-size:11px}.hotspot{position:absolute;display:flex;align-items:center;justify-content:center;gap:9px;background:#fcf3df;color:#181711;border:2px solid #332b1f;box-shadow:3px 4px 0 #35291c80;font-weight:700;font-size:clamp(11px,1.5vw,18px);z-index:2;transition:transform .14s,background .14s;padding:10px 8px}.hotspot:after{content:'';width:9px;height:9px;position:absolute;bottom:-7px;left:20px;background:#fcf3df;border-right:2px solid #332b1f;border-bottom:2px solid #332b1f;transform:rotate(45deg)}.hotspot:hover{transform:translateY(-5px);background:#fff9e9}.hotspot:focus-visible{outline:4px solid #dcb968}.hotspot.calendar{left:27.4%;top:17.1%;width:13.4%;height:7.1%}.hotspot.entrance{left:8%;top:52.3%;width:13.6%;height:7.5%}.hotspot.record{left:37.5%;top:73.8%;width:13%;height:7.5%}.hotspot.games{left:60.4%;top:23.9%;width:13.2%;height:7.5%}.hotspot.library{left:77.6%;top:35.7%;width:12.3%;height:7.3%}.hotspot.news{left:84.5%;top:54.7%;width:15.2%;height:7.7%}.home-bottom{display:flex;align-items:center;justify-content:space-between;background:#2b251d;color:#d8ccb6;padding:17px 26px;font-size:11px}.home-bottom .links{display:flex;gap:24px}.mobile-menu{display:none}.home-guide{color:#a9977a}.home-footer-link{opacity:.75;font-size:11px}
/* Calendar */
.calendar-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.calendar-panel{padding:24px}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.month-nav h2{font:700 23px 'Courier New',monospace;letter-spacing:.03em}.icon-btn{border:0;background:transparent;padding:8px;font-size:23px;min-width:38px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.weekday{font:11px 'Courier New',monospace;padding-bottom:12px}.weekday:first-child{color:var(--red)}.weekday:last-of-type{color:#527d8b}.day{height:46px;border:1px solid transparent;background:transparent;position:relative;font-size:14px}.day.muted{color:#c9beaa}.day.open{background:var(--green);color:#fff9eb;border-color:#23422f;box-shadow:inset 0 0 0 3px #497655}.day.selected{outline:2px solid var(--wood);outline-offset:3px}.day:not(:disabled):hover{background:#e8dcc3;color:var(--ink)}.calendar-legend{margin-top:25px;display:flex;gap:18px;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;background:var(--green);margin-right:5px}.day-card{position:relative;background:#eee3cc;border:1px solid #c7b698;padding:26px;box-shadow:4px 5px 0 #ded0b4;margin-top:6px}.day-card:before{content:'';position:absolute;top:-12px;left:calc(50% - 14px);width:28px;height:19px;background:#887450;border:2px solid #4e422e;border-radius:6px}.day-card .cover{height:115px;background:url('assets/room.webp') center 55%/cover;border:3px solid #9f8259;margin:3px 0 20px;image-rendering:auto}.day-card h2{font-family:'Courier New',monospace;font-size:21px}.details-list{display:flex;flex-direction:column;gap:14px;margin:20px 0;font-size:13px}.details-list .pixel-icon{width:20px;height:20px}.details-list b{margin-left:auto}.day-card .counts{padding:12px 0;border-top:1px solid #cdbb95;border-bottom:1px solid #cdbb95;margin-bottom:16px}.counts strong{color:var(--green);font-size:22px}.schedule-list{margin-top:25px}.schedule-row{display:grid;grid-template-columns:1.35fr .7fr 1fr 1fr .8fr;gap:12px;align-items:center;border-top:1px solid var(--line);padding:17px 2px;font-size:13px}.schedule-row strong{font-family:'Courier New',monospace}.schedule-row button{justify-self:end}
/* Cards and state */
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.account-card{display:flex;gap:16px;align-items:center;margin-bottom:22px}.passport-id{font:12px 'Courier New',monospace;color:var(--muted);margin-top:7px}.stamp-row{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin:21px 0}.stamp{aspect-ratio:1;border:1px dashed #baad93;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;color:#baad93;font:12px 'Courier New',monospace}.stamp.filled{border:3px double #a45340;outline:1px solid #a45340;outline-offset:-5px;color:#a45340;transform:rotate(-11deg);background:#a4534009}.stamp .pixel-icon{width:65%;height:65%;filter:sepia(1)}.stamp:nth-child(3n){transform:rotate(10deg)}.reward-row{padding:14px 0;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;font-size:13px}.reward-row .pill{margin-left:auto}.qr-box{display:flex;align-items:center;justify-content:center;background:#fffaf0;border:1px solid var(--line);min-height:225px;padding:20px;margin:14px 0}.qr-box svg{width:185px;max-width:100%;height:auto;image-rendering:pixelated}.qr-expiry{font-family:'Courier New',monospace;font-size:11px;color:var(--muted);text-align:center}.history-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;border-top:1px solid var(--line);padding:15px 0;font-size:12px}.state-card{text-align:center;border:1px solid var(--line);background:var(--paper-light);padding:26px 20px}.state-tag{display:inline-flex;gap:7px;align-items:center;border:1px solid #9ca67e;border-radius:20px;background:#e2e8d8;padding:7px 15px;font-size:12px;margin-bottom:16px}.state-buttons{display:grid;grid-template-columns:1fr 1fr;gap:13px}.state-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:25px 10px;border:1px solid #c2ad85;border-bottom:4px solid #c2ad85;background:#eee3cc;font-weight:700;font-size:15px;min-height:133px}.state-btn .pixel-icon{width:42px;height:42px}.state-btn.green{background:#326349;border-color:#23462f;color:#fff7e8}.state-btn.red{background:#aa5847;border-color:#874435;color:#fff7e8}.state-btn.blue{background:#507286;border-color:#395664;color:#fff7e8}.state-btn small{font-size:10px;font-weight:400;opacity:.85}.hold-clock{font:700 44px 'Courier New',monospace;letter-spacing:.06em;color:var(--wood);margin:17px 0}.step{display:flex;gap:9px;font-size:12px;line-height:1.8;margin:12px 0}.step b{width:19px;height:19px;background:var(--wood);color:white;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;margin-top:1px}
/* Shelf */
.tabbar{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.tab{border:1px solid var(--line);padding:10px 16px;background:transparent;font-size:13px}.tab.active{background:var(--wood-dark);border-color:var(--wood-dark);color:var(--paper-light)}.search{max-width:280px;margin-left:auto}.games-layout{display:grid;grid-template-columns:1fr 270px;gap:26px}.game-row{display:flex;align-items:center;gap:17px;width:100%;padding:15px 3px;background:none;border:0;border-top:1px solid var(--line);text-align:left}.game-row:hover{background:#e7dbc366}.game-row .book-spine{flex-shrink:0}.game-text{min-width:0;flex:1}.game-text strong{font-size:14px;display:block}.game-text small{font-size:11px;color:var(--muted);display:block;margin-top:6px}.book-spine{width:39px;height:49px;background:var(--spine,#7a432d);box-shadow:2px 3px 0 #4d382c42,inset 4px 0 0 #ffffff22;border:1px solid #432c21;color:#f5e7c7;padding:6px 3px;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.book-spine span{font:700 6px 'Courier New',monospace;letter-spacing:.06em}.book-spine .pixel-icon{width:24px;height:24px;margin:auto}.game-aside .panel{padding:20px;margin-bottom:17px}.game-aside h3{margin-bottom:12px}.game-aside p{font-size:12px}.game-detail-layout{display:grid;grid-template-columns:230px 1fr;gap:32px}.game-cover{min-height:275px;background:#ece1c8;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);position:relative}.game-cover .book-spine{width:140px;height:198px;box-shadow:10px 10px 0 #a9926b40;padding:20px 12px;transform:rotate(-5deg)}.game-cover .book-spine span{font-size:11px;line-height:1.4}.game-cover .book-spine .pixel-icon{width:80px;height:80px}.game-cover small{position:absolute;bottom:13px;color:var(--muted);font-size:10px}.game-facts{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.game-facts .pill{font-size:12px;padding:8px 10px}.detail-summary{font-size:15px;line-height:1.9}.detail-tip{background:#eadfc8;padding:17px;margin:19px 0;font-size:13px;line-height:1.9;border-left:3px solid var(--wood)}.game-actions{display:flex;gap:12px;align-items:center;margin-top:20px}.book-collection{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.wood-shelf{padding:26px 25px 0;background:repeating-linear-gradient(90deg,#88613d 0px,#936b44 2px,#936b44 78px);border:7px solid #6c4b2e;border-bottom-width:14px;min-height:300px;display:flex;align-items:flex-end;justify-content:center;gap:20px;position:relative;box-shadow:inset 0 10px 20px #3525165c}.book-art{height:205px;width:132px;background:#446457;border:1px solid #30261d;border-left:8px solid #1e322a;box-shadow:6px 3px 0 #e0d3b3,9px 4px 0 #4e3a26;color:#f4eddb;padding:20px 10px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;margin-bottom:3px;transform:rotate(-3deg)}.book-art.red{background:#9f4f3f;border-left-color:#6a3328;transform:rotate(4deg)}.book-art .pixel-icon{width:70px;height:70px}.book-art b{font-size:19px;line-height:1.5;text-align:center}.book-art span{font-size:9px;letter-spacing:.15em}.library-text h2{margin-bottom:15px}.library-text p{font-size:14px;margin:10px 0}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.guide-item{border:1px solid var(--line);padding:20px 17px;background:#faf4e6;text-align:center;min-height:176px}.guide-item .pixel-icon{width:35px;height:35px;margin-bottom:12px}.guide-item h3{font-size:14px;margin-bottom:9px}.guide-item p{font-size:11px;line-height:1.9;color:var(--muted)}.notice-row{display:flex;gap:15px;padding:18px 0;border-top:1px solid var(--line);font-size:13px}.notice-row time{margin-left:auto;white-space:nowrap;color:var(--muted);font:11px 'Courier New',monospace}.faq details{border-top:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-size:13px;font-weight:700}.faq details p{font-size:12px;color:var(--muted);padding:13px 8px 0}.event-card{padding:24px;border:1px solid var(--line);background:#faf3e3}.event-card h2{font-size:22px;margin:18px 0 12px}.event-card p{font-size:13px}.people-pixels{display:flex;gap:8px;padding:20px 0}.people-pixels .pixel-icon{width:46px;height:46px}.login-box{max-width:410px;margin:0 auto;padding:26px;text-align:center}.login-box h2{margin:18px 0 7px}.login-box label{text-align:left}.login-box input{text-align:left}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:26px}.metric{padding:20px;border:1px solid var(--line);text-align:center;background:#fbf6e8}.metric strong{font:700 31px 'Courier New',monospace;display:block;color:var(--green);margin-top:10px}.metric.red strong{color:var(--red)}.metric small{font-size:12px}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th,.admin-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;line-height:1.6}.admin-table th{background:#e9dec7}.table-wrap{overflow:auto}.kiosk-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px}.camera{min-height:280px;background:#25251f;position:relative;color:#bfb899;display:flex;align-items:center;justify-content:center;border:8px solid #544c3b}.camera video{width:100%;max-height:400px;object-fit:cover}.camera .scan-corners{position:absolute;inset:22%;border:3px dashed #f2e4c6;pointer-events:none}.camera-placeholder{text-align:center;padding:35px}.camera-placeholder .pixel-icon{width:70px;height:70px;margin-bottom:20px}
/* Dialog, feedback and responsive adaptation */
.modal-backdrop{position:fixed;inset:0;background:#1d170ebb;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}.modal{background:var(--paper);border:2px solid #826842;box-shadow:5px 6px 0 #20180f;max-width:490px;width:100%;padding:27px;max-height:90vh;overflow:auto;border-radius:5px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-header h2{font-size:20px}.modal p{font-size:13px}.modal-close{border:0;background:transparent;font-size:24px;padding:0 6px}.modal-actions{display:flex;gap:10px;margin-top:24px}.modal-actions .btn{flex:1}#toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;transition:all .2s;background:#30291f;color:#fff8e8;border:1px solid #c6ac7b;padding:15px 22px;z-index:200;box-shadow:3px 4px 0 #0003;border-radius:4px;font-size:13px;max-width:min(500px,90vw);line-height:1.6}#toast.visible{transform:translate(-50%,0);opacity:1}.loading{opacity:.55;pointer-events:none}.error-inline{color:var(--red);font-size:12px;margin-top:13px;line-height:1.7}.mobile-only{display:none}
@media(min-width:1440px){.home-shell{max-width:1230px}.page-shell{margin-top:35px}}
@media(max-width:900px){.page-shell{margin:15px}.page-body{padding:28px}.topbar{padding:0 24px}.top-right{min-width:90px}.back-link{min-width:90px}.calendar-layout{gap:20px}.games-layout{grid-template-columns:1fr 225px}.guide-grid{grid-template-columns:repeat(2,1fr)}.home-shell{margin:15px}.home-brand .wordmark{font-size:21px}.open-sign{padding:9px}.open-sign .english{font-size:8px}.open-sign small{font-size:9px}.hotspot{gap:5px;padding:5px;font-size:12px}.hotspot .pixel-icon{width:19px;height:19px}.stamp-row{gap:5px}.preview-bar{padding:0 18px}.game-row{gap:12px}.book-collection{grid-template-columns:1fr 1fr}}
@media(max-width:640px){body{background:#2a251e}.page-shell{margin:8px 8px 0;border-radius:6px}.topbar{height:66px;padding:0 17px}.back-link{min-width:52px;font-size:10px}.top-right{min-width:45px;font-size:9px}.top-right .english{display:none}.brand{gap:7px}.brand .pixel-icon{width:27px;height:27px}.wordmark{font-size:14px}.wordmark small{font-size:8px}.page-body{padding:24px 19px;min-height:calc(100svh - 178px)}.page-heading{gap:11px;margin-bottom:25px}.page-heading .pixel-icon{width:36px;height:36px}h1{font-size:25px}.page-heading p{font-size:12px;line-height:1.6}.eyebrow{font-size:10px}.calendar-layout,.card-grid,.grid-two,.games-layout,.game-detail-layout,.book-collection,.kiosk-grid{grid-template-columns:1fr;gap:23px}.grid-three{grid-template-columns:1fr}.calendar-panel{padding:20px 15px}.calendar-grid{gap:6px}.day{height:38px}.month-nav{margin-bottom:20px}.month-nav h2{font-size:22px}.day-card{padding:23px}.day-card .cover{height:132px}.schedule-row{grid-template-columns:1fr auto auto;font-size:12px}.schedule-row .sched-time{display:none}.schedule-row .sched-price{display:none}.page-footer{padding:18px 17px;gap:20px}.page-footer a{font-size:10px}.preview-bar{font-size:10px;padding:0 15px;margin-top:9px}.preview-bar .hint-long{display:none}.home-shell{margin:8px;border-radius:4px}.home-brand{height:16%;top:1%;left:1%;width:30%}.home-brand .pixel-icon{width:18px;height:18px;margin-bottom:2px}.home-brand .wordmark{font-size:11px}.home-brand .wordmark small{font-size:6px;letter-spacing:.13em}.home-brand .english{display:none}.open-sign{width:21%;height:13%;top:1.5%;padding:4px;border-width:1px;box-shadow:1px 2px 0 #201b15;gap:2px}.open-sign .english{font-size:5px}.open-sign strong{font-size:8px}.open-sign small{font-size:5px}.hotspot{border-width:1px;gap:1px;font-size:5.8px;padding:2px;box-shadow:1px 1px 0 #35291c80}.hotspot .pixel-icon{width:9px;height:9px}.hotspot:after{width:4px;height:4px;bottom:-4px;left:8px;border-width:1px}.home-bottom{padding:13px 14px;font-size:9px}.home-bottom .links{gap:15px}.home-guide{display:none}.mobile-menu{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);gap:10px;padding:20px}.mobile-menu a{display:flex;align-items:center;gap:10px;padding:15px 12px;background:#fcf5e4;border:1px solid #cbbb9a;box-shadow:0 2px 0 #d8c6a2;font-size:13px;font-weight:700}.mobile-menu a span{margin-left:auto;color:#96846b}.mobile-home-message{padding:25px 20px 8px;color:var(--paper)}.mobile-home-message h1{font:700 25px 'Courier New',monospace;letter-spacing:.01em}.mobile-home-message p{font-size:11px;color:#c9bba0;margin-top:10px}.mobile-only{display:block}.panel{padding:19px}.stamp-row{gap:7px}.stamp{font-size:9px}.stamp .pixel-icon{width:70%;height:70%}.state-btn{font-size:14px;padding:20px 8px;min-height:132px}.tabbar{gap:6px}.tab{padding:9px 13px;font-size:12px}.search{max-width:100%;margin:0;flex-basis:100%;height:43px}.game-row{gap:12px;padding:15px 1px}.game-text strong{font-size:13px}.game-row .pill{padding:5px 7px;font-size:10px}.book-spine{width:35px;height:45px}.game-aside{display:grid;grid-template-columns:1fr;gap:10px}.game-aside .panel{margin:0}.game-cover{min-height:230px}.game-cover .book-spine{height:170px;width:115px}.guide-grid{grid-template-columns:1fr 1fr;gap:10px}.guide-item{padding:18px 12px;min-height:176px}.wood-shelf{min-height:270px}.book-art{height:185px;width:115px}.admin-metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:17px 8px}.metric strong{font-size:29px}.notice-row{font-size:12px}.notice-row time{font-size:10px}.login-box{padding:10px 3px 20px}.modal{padding:22px}.modal-actions .btn{padding:12px 10px}.help{font-size:11px}.home-footer-link{font-size:9px}.header-user{max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-accessible{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
