:root{color:#18312b;background:#eef4f1;font-family:Inter,Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{border:0;border-radius:8px;background:#216869;color:#fff;cursor:pointer;font-weight:700}button:hover{background:#174d4e}.entry-screen{display:grid;min-height:100dvh;place-items:center;padding:48px 24px;background:radial-gradient(circle at 50% 35%,#fffffff5,#f4f7f6e6 56%,#e8efeceb),#eef3f1}.entry-panel{width:min(420px,100%);border:1px solid #c5d9d4;border-radius:18px;background:#fff;padding:28px;box-shadow:0 18px 40px #18312b1f}.entry-panel--welcome{width:min(720px,100%);padding:48px 64px 44px;text-align:center}.entry-panel--compact{text-align:center}.entry-panel h1{margin:4px 0 24px;font-size:28px}.entry-panel--welcome h1{margin:18px 0 8px;color:#123f3c;font-size:clamp(30px,4vw,44px);line-height:1.25;letter-spacing:.04em;text-shadow:0 2px 0 rgba(33,104,105,.12)}.entry-hero{display:block;width:100%;margin:10px auto 18px}.entry-text{margin:0 0 18px;color:#526961;line-height:1.7}.entry-panel--welcome .entry-text{max-width:570px;margin:0 auto 22px;color:#24475a;font-size:16px;line-height:1.9}.entry-divider{display:flex;align-items:center;gap:18px;margin:0 0 22px;color:#168b80}.entry-divider:before,.entry-divider:after{height:1px;flex:1;background:repeating-linear-gradient(90deg,#75c7ba 0 5px,transparent 5px 9px);content:""}.entry-divider svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.entry-login-guide{margin:0 0 20px;color:#24475a;font-size:16px;line-height:1.7}.entry-error{border:1px solid #e8b4ad;border-radius:8px;background:#fff1ef;padding:10px 12px;color:#92362d;line-height:1.6}.eyebrow{margin:0;color:#216869;font-size:13px;font-weight:800}.entry-panel--welcome .eyebrow{text-align:left;font-size:18px;letter-spacing:.08em}.entry-panel label{display:grid;gap:8px;margin-bottom:18px;font-weight:700}.entry-panel input,.chat-form input,.profile-editor input,.music-add-form input,.music-edit-form input,.admin-music-search input{width:100%;border:1px solid #b4cbc3;border-radius:8px;padding:12px 14px;color:#18312b}.entry-panel button{width:100%;padding:13px 16px}.entry-panel .entry-primary-button{display:flex;min-height:64px;align-items:center;justify-content:center;gap:14px;border:1px solid #126262;border-radius:13px;background:linear-gradient(135deg,#187f80,#216f70);box-shadow:0 8px 18px #195f5f33;font-size:21px;letter-spacing:.08em}.entry-panel .entry-primary-button:hover{background:linear-gradient(135deg,#146f70,#195d5e)}.entry-primary-button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.entry-actions{display:grid;gap:10px}.secondary-button{border:1px solid #b4cbc3;background:#fff;color:#216869}.secondary-button:hover{background:#eef7f3}.profile-box{display:flex;align-items:center;gap:12px;margin-bottom:18px;border:1px solid #d8e7e1;border-radius:8px;background:#f6fbf8;padding:12px}.entry-panel--welcome .profile-box{max-width:360px;margin:0 auto 20px;text-align:left}@media(max-width:600px){.entry-screen{place-items:start center;padding:16px 12px}.entry-panel--welcome{padding:28px 20px 24px}.entry-panel--welcome .eyebrow{font-size:14px}.entry-panel--welcome h1{margin-top:12px;font-size:clamp(27px,8.5vw,36px)}.entry-hero{margin:8px auto 14px}.entry-panel--welcome .entry-text,.entry-login-guide{font-size:14px}.entry-panel .entry-primary-button{min-height:56px;font-size:17px}}.profile-box img{width:48px;height:48px;border-radius:50%}.profile-box span{display:block;color:#5f766f;font-size:13px}.profile-box strong{display:block;margin-top:2px;color:#18312b}.room-screen{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;height:100vh;padding:16px}.game-area,.chat-panel{min-width:0}.game-area{position:relative}.room-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#2f4b45}.room-header strong{color:#216869;font-size:18px}.room-brand{display:flex;align-items:baseline;gap:4px}.app-version{color:#82918c;font-size:9px;font-weight:500;letter-spacing:.02em;line-height:1}.room-header span,.chat-panel header span{color:#5f766f;font-size:14px}.game-canvas{overflow:hidden;width:100%;height:calc(100vh - 58px);border:1px solid #b7d0c8;border-radius:8px;background:#dcebe5}.game-canvas canvas{display:block}.chat-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;height:calc(100vh - 32px);border:1px solid #c8ddd5;border-radius:8px;background:#fff}.chat-panel header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8e7e1;padding:14px 16px}.chat-panel h2{margin:0;font-size:18px}.side-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;border-bottom:1px solid #d8e7e1;padding:8px 12px}.side-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid #c8ddd5;background:#fff;color:#2f4b45;font-size:13px}.side-tab:hover,.side-tab.active{border-color:#216869;background:#eef7f3;color:#18312b}.side-tab .tab-badge{min-width:20px;border-radius:999px;background:#e84d4d;padding:2px 6px;color:#fff;font-size:11px}.tab-icon{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.records-placeholder{display:grid;justify-items:center;gap:10px;padding:32px 20px;text-align:center}.records-placeholder .tab-icon{width:38px;height:38px;color:#216869}.records-placeholder h3,.records-placeholder p{margin:0}.records-panel{min-width:0;overflow-y:auto;padding:14px;background:#f4f8f6}.records-loading,.records-error{margin:0;padding:24px 12px;color:#5f766f;text-align:center}.records-error{display:grid;justify-items:center;gap:12px}.records-error p{margin:0}.pasoken-score-card{display:grid;min-width:0;width:100%;gap:12px;border:1px solid #cfe2da;border-radius:18px;background:#fff;padding:16px;box-shadow:0 8px 24px #22493d14}.pasoken-score-card>*{min-width:0;max-width:100%}.pasoken-practice-callout{display:grid;gap:10px;border:2px solid #e5a52e;border-radius:14px;background:linear-gradient(135deg,#fff5c7,#ffe4a8);padding:13px;box-shadow:0 5px 14px #b8701029}.pasoken-practice-callout div{display:grid;gap:3px}.pasoken-practice-callout strong{color:#71440d;font-size:15px}.pasoken-practice-callout span{color:#8a642d;font-size:11px}.pasoken-practice-callout a{display:grid;min-height:42px;place-items:center;border-radius:10px;background:#d87816;color:#fff;font-size:13px;font-weight:900;text-decoration:none;box-shadow:0 3px #a8500d}.pasoken-practice-callout a:hover{background:#c96910}.pasoken-practice-callout .pasoken-practice-callout-header{display:grid;grid-template-columns:minmax(0,1fr)}.pasoken-practice-callout .pasoken-practice-callout-header.has-seals{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px}.pasoken-practice-callout-header img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 3px 4px rgb(168 88 6 / 22%))}.pasoken-practice-callout .pasoken-practice-callout-header>div{display:grid;min-width:0;gap:0}.pasoken-practice-callout-header strong{font-size:15px;line-height:1.1;white-space:nowrap}.pasoken-practice-callout-header em{color:#d14d0a;font-size:23px;font-style:normal;white-space:nowrap}.pasoken-practice-callout-header .seal-encouragement{font-size:clamp(13px,3.4vw,15px)}.score-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.score-card-heading h3,.score-card-section h4{margin:0;color:#18312b}.score-card-heading h3{font-size:20px}.score-card-best{display:grid;flex:0 0 auto;justify-items:end;gap:1px;padding:4px 0;color:#18312b}.score-card-best span{color:#6d7d78;font-size:10px;font-weight:800}.score-card-best strong{font-size:19px;line-height:1.15}.score-card-best.empty{color:#72847e}.score-card-best.empty strong{font-size:13px}.score-card-heading>.tab-icon{width:34px;height:34px;color:#216869}.score-card-eyebrow{display:block;margin-bottom:2px;color:#6d8e83;font-size:9px;font-weight:800;letter-spacing:.12em}.score-card-section{display:grid;gap:10px;border-radius:12px;background:#f6faf8;padding:12px}.score-card-section h4{font-size:14px}.target-empty{display:grid;gap:5px;color:#5f766f;font-size:12px}.target-section{background:#eef7f3}.target-section.achieved{background:#fff6d9}.target-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;color:#38574f;font-size:12px}.target-summary>strong,.target-empty span{color:#b06b16}.target-progress{height:12px;overflow:hidden;border-radius:999px;background:#d4e5df}.target-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#40a982,#e1a33a)}.target-progress-label{justify-self:end;color:#5f766f;font-size:10px}.seal-goal{display:grid;gap:9px;margin-top:4px;border-top:1px dashed #c8ddd5;padding-top:10px}.seal-goal h5{margin:0;color:#38574f;font-size:12px}.seal-muted,.seal-count{margin:0;color:#6d817a;font-size:10px}.seal-next-summary,.seal-completed,.seal-available-message{display:grid;gap:2px}.seal-next-summary strong,.seal-completed strong,.seal-available-message strong{color:#b06b16;font-size:14px}.seal-next-summary span,.seal-completed span,.seal-available-message span{color:#5f766f;font-size:10px}.seal-road{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:5px;overflow:hidden;padding:4px 0}.seal-road-item{display:grid;min-width:0;justify-items:center;gap:1px;color:#6d817a;font-size:9px;text-align:center}.seal-road-item img{width:32px;height:32px;object-fit:contain;filter:grayscale(1);opacity:.5}.seal-road-item strong{font-size:9px}.seal-road-item.pasted img{filter:none;opacity:1}.seal-road-item.available img{filter:none;opacity:1;border-radius:50%;filter:drop-shadow(0 0 5px #f2ad25)}.seal-road-item.highlighted img{width:44px;height:44px;filter:drop-shadow(0 0 7px #f2ad25)}.seal-road-item.next{color:#9a6214;font-weight:800}.seal-road-item.next img{width:44px;height:44px;opacity:.85;border-radius:50%;outline:2px solid #e1a33a;outline-offset:1px}.seal-road-item.future img{opacity:.3}.seal-available-message{border-radius:8px;background:#fff1bd;padding:8px;text-align:center}.daily-records-open-button{width:100%;min-height:42px;border:1px solid #216869;border-radius:8px;background:#216869;color:#fff;font-weight:800;cursor:pointer}.daily-records-open-button:hover{background:#195856}.daily-sync-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;border:1px solid #c8ddd5;border-radius:11px;background:#eef7f3;padding:10px 12px;color:#607871;font-size:10px}.daily-sync-status strong{grid-column:1 / -1;color:#216869;font-size:10px}.daily-records-message{display:grid;justify-items:center;gap:8px;margin:0;border-radius:12px;background:#fff;padding:24px 12px;color:#607871;text-align:center}.daily-records-message p{margin:0}.score-card-challenge{display:grid;gap:10px;min-width:0}.seven-day-challenge{display:grid;gap:11px;border:1px solid #e7d3a8;border-radius:16px;background:linear-gradient(145deg,#fffdf5,#fff5d9);padding:13px;box-shadow:0 7px 18px #825b1d1a}.seven-day-heading{display:flex;align-items:end;justify-content:space-between;gap:10px}.seven-day-heading>div:first-child{display:grid;gap:1px}.seven-day-heading span{color:#9b7135;font-size:9px}.seven-day-heading h4{margin:0;color:#69410e;font-size:16px}.seven-day-heading>strong{color:#b56713;font-size:12px;white-space:nowrap}.challenge-streak{display:inline-flex;align-items:center;gap:2px;border:2px solid #ffb11a;border-radius:14px;background:linear-gradient(160deg,#fff7c7,#ffe178);padding:3px 7px;color:#f06417;box-shadow:0 3px 8px #f064172e}.challenge-streak>span{font-size:25px;line-height:1}.challenge-streak>strong{font-size:18px;line-height:1}.challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,.9fr)) minmax(0,1.45fr);grid-template-rows:repeat(2,minmax(96px,auto));gap:6px}.challenge-day{display:grid;min-width:0;align-content:center;justify-items:center;gap:2px;overflow:hidden;border:1px solid #e1d7c1;border-radius:9px;background:#fff;padding:5px 3px;text-align:center}.challenge-day.today{grid-column:4;grid-row:1 / span 2;border:2px solid #df9a2e;background:linear-gradient(160deg,#fff9d9,#ffe7ab);box-shadow:inset 0 0 16px #e6a1361f}.challenge-day:nth-child(1){grid-column:1;grid-row:1}.challenge-day:nth-child(2){grid-column:2;grid-row:1}.challenge-day:nth-child(3){grid-column:3;grid-row:1}.challenge-day:nth-child(4){grid-column:1;grid-row:2}.challenge-day:nth-child(5){grid-column:2;grid-row:2}.challenge-day:nth-child(6){grid-column:3;grid-row:2}.challenge-day:nth-child(7){grid-column:4;grid-row:1 / span 2}.challenge-date{color:#725c3c;font-size:9px;font-weight:800}.challenge-today-streak{color:#f06417;font-size:14px;font-weight:900;line-height:1}.challenge-score-wrap{display:grid;min-width:0;justify-items:center;gap:1px}.challenge-score{display:block;min-height:14px;color:#b55e0d;font-size:11px}.challenge-score-crown{font-size:14px;line-height:1;filter:drop-shadow(0 1px 1px rgb(100 64 0 / 20%))}.challenge-day img{width:min(40px,88%);max-width:100%;aspect-ratio:1;object-fit:contain}.challenge-day small{max-width:100%;color:#947a54;font-size:7px;line-height:1.2;white-space:nowrap}.challenge-day.today .challenge-date{font-size:13px}.challenge-day.today .challenge-score{font-size:17px}.challenge-day.today{padding-inline:2px}.challenge-day.today img{width:min(60px,82%);max-width:100%}.challenge-day.today small{font-size:9px;font-weight:700}.challenge-day.practiced{border-color:#e3b65d}.challenge-day.not-practiced{background:#f1f1ed}.challenge-day.not-practiced img{filter:grayscale(1);opacity:.45}.challenge-day.not-practiced small{color:#9c9c94}@media(max-width:420px){.pasoken-practice-callout .pasoken-practice-callout-header.has-seals{grid-template-columns:28px minmax(0,1fr);gap:5px}.pasoken-practice-callout-header img{width:28px;height:28px}.pasoken-practice-callout-header strong{font-size:13px}.pasoken-practice-callout-header em{font-size:19px}.seven-day-challenge{padding:9px}.seven-day-heading{align-items:start}.challenge-streak{padding:2px 5px}.challenge-streak>span{font-size:20px}.challenge-streak>strong{font-size:15px}.seven-day-heading h4{font-size:14px}.seven-day-heading>strong{font-size:10px}.challenge-grid{grid-template-rows:repeat(2,minmax(82px,auto));gap:4px}.challenge-day{padding:4px 1px}.challenge-day img{width:min(34px,86%)}.challenge-day.today img{width:min(52px,78%)}.challenge-day.today small{font-size:8px}.challenge-score{font-size:9px}.challenge-day small{font-size:6px}.daily-sync-status{grid-template-columns:1fr}.daily-sync-status strong{grid-column:auto}}.competition-history{display:grid;gap:10px;border-radius:12px;background:#f7f8fb;padding:12px}.competition-history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.competition-history-heading h4{margin:0;color:#18312b;font-size:14px}.competition-history-heading>span{border-radius:999px;background:#e4e9f5;padding:3px 7px;color:#52638c;font-size:9px;font-weight:800}.competition-list{display:grid;gap:10px}.competition-card{overflow:hidden;border:1px solid #dce3ee;border-radius:10px;background:#fff}.competition-card>header{display:flex;justify-content:space-between;gap:8px;background:#edf1f8;padding:9px 10px;color:#33456f;font-size:11px}.competition-result{display:grid;gap:8px;padding:10px}.competition-result+.competition-result{border-top:1px dashed #dce3ee}.competition-result h5{margin:0;color:#2d4941;font-size:12px}.competition-result dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.competition-result dl>div{min-width:0}.competition-result dt{color:#7b879f;font-size:9px}.competition-result dd{overflow-wrap:anywhere;margin:2px 0 0;color:#34435e;font-size:11px;font-weight:800}.competition-result .official-score dd,.competition-result .official-rank dd{color:#8b5b12;font-size:14px}.competition-empty{margin:0;padding:14px 8px;color:#78869b;font-size:12px;text-align:center}.competition-toggle-button{min-height:36px;border-color:#c9d4e6;background:#fff;color:#40557d;font-size:11px;font-weight:800}.pasoken-ranking-panel{display:grid;min-width:0;width:100%;overflow:hidden;gap:12px;border:1px solid #cfe2da;border-radius:18px;background:#fff;padding:16px;box-shadow:0 8px 24px #22493d14}.pasoken-ranking-panel>*{min-width:0;width:100%;max-width:100%}.pasoken-score-card>.pasoken-ranking-panel{border-radius:12px;box-shadow:none}.ranking-heading{display:flex;align-items:center;gap:10px}.ranking-heading h3,.ranking-title{margin:0;color:#18312b}.ranking-heading h3{font-size:20px}.ranking-selector{display:grid;min-width:0;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ranking-selector.student button:first-child{grid-column:1 / -1}.ranking-selector button{min-height:34px;border-color:#c8ddd5;background:#f7faf9;padding:4px 8px;color:#45655c;font-size:11px}.ranking-selector button.active{border-color:#216869;background:#e3f2ed;color:#18312b;font-weight:800}.ranking-title{font-size:13px;line-height:1.45}.ranking-score-note{margin:-8px 0 0;color:#73877f;font-size:10px}.ranking-list{display:grid;min-width:0;width:100%;gap:6px;margin:0;padding:0;list-style:none}.ranking-table-header,.ranking-row{display:grid;min-width:0;width:100%;grid-template-columns:32px minmax(0,1fr) 46px 58px;align-items:center;gap:3px}.ranking-table-header.practice-days,.ranking-row.practice-days,.ranking-table-header.five-minute,.ranking-row.five-minute{grid-template-columns:32px minmax(0,1fr) 46px 58px}.ranking-table-header{padding:0 8px;color:#6b7f78;font-size:9px;font-weight:800;text-align:center}.ranking-row{min-height:42px;border:1px solid #e0ebe7;border-radius:10px;background:#f8fbfa;padding:6px 8px}.ranking-row.current-user{border-color:#d6a03c;background:#fff6d9;box-shadow:inset 4px 0 #d6a03c}.ranking-position{color:#216869;font-size:18px;text-align:center}.ranking-position small{margin-left:1px;font-size:10px}.ranking-nickname{min-width:0;display:-webkit-box;overflow:hidden;color:#2d4941;font-size:12px;font-weight:800;line-height:1.25;text-align:center;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ranking-grade{overflow:hidden;color:#536a62;font-size:10px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ranking-value{color:#b06b16;font-size:13px;text-align:center;white-space:nowrap}.ranking-value small{margin-left:1px;font-size:9px}.ranking-row.five-minute .ranking-value>span{font-size:12px}.ranking-value .ranking-count{margin-left:0;font-weight:700}.ranking-current-user{display:grid;min-width:0;width:100%;gap:6px;border-top:1px dashed #c8ddd5;padding-top:10px}.ranking-current-user>span{color:#7b6a42;font-size:11px;font-weight:800}.ranking-empty,.ranking-self-empty{margin:0;border-radius:10px;background:#f4f8f6;padding:16px 10px;color:#637a72;font-size:12px;line-height:1.5;text-align:center}.ranking-self-empty{background:#fff8e8;color:#8c6a2c}.ranking-legends{display:grid;min-width:0;width:100%;overflow:hidden;gap:8px;margin-top:4px;border-top:1px dashed #d9e1de;padding-top:12px}.ranking-legends-heading{display:flex;align-items:center;gap:6px;color:#66766f}.ranking-legends-heading span{color:#aa9564;font-size:12px}.ranking-legends-heading h4{margin:0;font-size:12px}.ranking-legends>p{margin:0;color:#77847f;font-size:10px;line-height:1.5}.ranking-legends .ranking-row{min-height:38px;border-color:#e5e9e7;background:#fff;padding-inline:7px;opacity:.88}.ranking-legends .ranking-position{color:#687a73;font-size:16px}.ranking-legends .ranking-value{color:#8c7651}.ranking-legends .ranking-legends-empty{border-radius:8px;background:#f1f3f2;padding:12px 8px;text-align:center}.records-placeholder p{max-width:280px;color:#5f766f;line-height:1.6}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.messages{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:14px}.message{max-width:86%;border-radius:8px;background:#f2f7f4;padding:10px 12px}.message.theirs{align-self:flex-start}.message.mine{align-self:flex-end;background:#dff4ea}.message.mine strong{text-align:right}.message strong{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;color:#216869;font-size:13px}.message time{color:#7b918b;font-size:11px;font-weight:600;white-space:nowrap}.message p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.5}.message p time{margin-left:6px}.message.system{align-self:center;max-width:100%;background:#fff7df;color:#755a10;font-size:13px}.new-message-button{justify-self:center;margin:0 12px 8px;border:1px solid #b4cbc3;background:#fff;padding:7px 12px;color:#216869;font-size:13px;box-shadow:0 8px 18px #18312b1a}.new-message-button:hover{background:#eef7f3}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px;border-top:1px solid #d8e7e1;padding:12px}.chat-form button{padding:0 12px}.pomodoro-focus-panel{display:grid;align-content:center;justify-items:center;min-height:260px;margin:12px;border:1px solid #f1b7a8;background:#fff7f2;padding:24px 18px;color:#713124;text-align:center}.pomodoro-focus-panel .pomodoro-phase{margin:0;color:#b33b28;font-size:15px;font-weight:800}.pomodoro-focus-panel strong{margin:8px 0 12px;color:#241b18;font-size:38px;line-height:1}.pomodoro-focus-panel p{margin:4px 0;line-height:1.6}.away-chat-panel{display:grid;align-content:center;justify-items:center;min-height:260px;margin:12px;border:1px solid #efc4c4;background:#fff6f6;padding:24px 18px;color:#713124;text-align:center}.away-chat-panel p{margin:0;color:#b33b28;font-size:15px;font-weight:800}.away-chat-panel strong{margin:8px 0;color:#241b18;font-size:24px}.away-chat-panel span{color:#8a6658;font-size:13px;line-height:1.6}.pomodoro-chat-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;margin:0 12px 8px;border:1px solid #d8e7e1;background:#f7fbf8;padding:10px 12px;color:#2f4b45}.pomodoro-chat-summary.focus{border-color:#f1d0b7;background:#fff8f2;color:#713124}.pomodoro-chat-summary strong,.pomodoro-chat-summary span{font-size:14px;font-weight:800}.pomodoro-chat-summary p{grid-column:1 / -1;margin:0;color:#5f766f;font-size:12px;line-height:1.45}.pomodoro-chat-summary.focus p{color:#8a6658}.status-panel{overflow-y:auto;padding:10px 12px 12px}.music-panel{display:grid;align-content:start;gap:12px;overflow-y:auto;padding:10px 12px 12px}.music-add-form{display:grid;gap:9px;border-bottom:1px solid #d8e7e1;padding-bottom:12px}.music-add-form label{display:grid;gap:6px}.music-add-form label span{color:#5f766f;font-size:12px;font-weight:800}.music-add-form input{padding:9px 10px;font-size:13px}.music-add-form button{justify-self:end;min-height:34px;padding:0 16px}.music-form-actions{display:flex;justify-content:flex-end;gap:8px}.music-form-actions button:disabled,.music-row-actions button:disabled{cursor:default;opacity:.45}.music-notice{margin:0;color:#5f766f;font-size:12px;line-height:1.5}.music-private-notice{margin:0;border:1px solid #d7c8aa;border-radius:8px;background:#fffaf0;padding:9px 10px;color:#755a10;font-size:12px;font-weight:800;line-height:1.5}.common-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(150,190,178,.96);border-radius:12px;background:linear-gradient(160deg,#fffffffa,#f8f4e8fa);box-shadow:0 16px 36px #18312b3d}.game-common-panel{position:absolute;right:24px;bottom:22px;z-index:19;width:min(420px,calc(55% - 30px));min-width:340px;max-height:min(560px,calc(100% - 52px))}.common-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 8px;color:#174f4d}.common-panel-header>strong{overflow:hidden;min-width:0;font-size:13px;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.common-panel-header>div{display:flex;flex:0 0 auto;align-items:center;gap:6px}.common-panel-header span{color:#7a8883;font-size:10px;font-weight:800}.common-panel-header button{display:inline-grid;width:26px;height:26px;min-height:26px;place-items:center;border:0;border-radius:999px;background:transparent;padding:0;color:#365c55;font-size:20px;line-height:1}.common-panel-header button:hover{background:#e8f1ed}.common-panel-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 9px}.common-panel-tabs button{min-width:0;min-height:38px;border:1px solid #c8d8d2;border-radius:8px 8px 0 0;background:#e9eeeb;padding:0 6px;color:#49645e;font-size:11px;white-space:nowrap}.common-panel-tabs button+button{border-left:0}.common-panel-tabs button.active{position:relative;z-index:1;border-color:#adc9c0;border-bottom-color:#fff;background:#fff;color:#17615c}.common-panel-content{min-height:0;overflow-y:auto;border-top:1px solid #adc9c0;background:#ffffffc7;padding:10px}.footprint-compose{display:grid;gap:7px;border:1px solid #d1ded9;border-radius:9px;background:#fffffff0;padding:9px}.footprint-compose h3,.footprint-recent h3{margin:0;color:#244f48;font-size:13px}.footprint-field-label{color:#5f766f;font-size:11px;font-weight:800}.footprint-stamp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.footprint-stamp-grid button{display:grid;min-width:0;min-height:62px;place-items:center;align-content:center;gap:3px;border:1px solid #d3ddd9;background:#fff;padding:5px 3px;color:#385a53}.footprint-stamp-grid button:hover{background:#f1f7f4}.footprint-stamp-grid button.active{border-color:#22756e;background:#e4f2ed;box-shadow:inset 0 0 0 1px #22756e;color:#155953}.footprint-stamp-grid button>span{font-size:18px;line-height:1}.footprint-stamp-grid button>strong{font-size:10px;line-height:1.25}.footprint-message-field,.footprint-article-field{display:grid;gap:5px}.footprint-article-field small{color:#738781;font-size:10px}.footprint-message-field>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.footprint-message-field input,.footprint-article-field input{min-width:0;border:1px solid #c4d4ce;border-radius:8px;padding:8px 10px;color:#18312b;font-size:12px}.footprint-message-field button{min-width:86px;min-height:34px;padding:0 10px;background:#176b65;font-size:12px}.footprint-message-field button:hover{background:#12554f}.footprint-message-field button:disabled,.footprint-delete-button:disabled{cursor:default;opacity:.55}.footprint-compose-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;color:#81918c;font-size:10px}.footprint-compose-meta strong{color:#9b671e}.footprint-notice{margin:0;border-radius:6px;background:#eef6f3;padding:6px 8px;color:#3a625a;font-size:11px;line-height:1.4}.footprint-recent{display:grid;gap:7px;margin-top:11px}.footprint-section-heading,.footprint-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.footprint-section-heading{padding:0 2px}.footprint-section-heading>span,.footprint-card-heading time{color:#87958f;font-size:10px;font-weight:700}.footprint-list{display:grid;gap:6px}.footprint-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:7px;border:1px solid #d7e1dd;border-radius:8px;background:#fff;padding:7px}.footprint-card-avatar{display:grid;width:34px;height:34px;overflow:hidden;place-items:center;border:1px solid #d3e0dc;border-radius:50%;background:#eef6f3;color:#216869;font-size:13px;font-weight:800}.footprint-card-avatar img{width:100%;height:100%;object-fit:cover}.footprint-card-body{min-width:0}.footprint-card-heading strong{overflow:hidden;min-width:0;color:#304e47;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.footprint-card p{margin:2px 0 0;word-break:break-word}.footprint-stamp-line{color:#285e56;font-size:11px;font-weight:800}.footprint-message{color:#526861;font-size:11px;line-height:1.4}.footprint-article-link{display:inline-block;margin-top:4px;color:#176b65;font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:2px}.footprint-article-link:hover{color:#0f4f4a}.footprint-delete-button{min-height:24px;border:1px solid #efd0cc;background:#fff7f6;padding:0 6px;color:#9a4c44;font-size:9px}.footprint-delete-button:hover{background:#ffe9e6}.footprint-empty,.common-panel-pending{margin:0;border:1px dashed #c8d8d2;border-radius:8px;background:#f8fbf9;padding:14px 10px;color:#6f817d;font-size:11px;line-height:1.5;text-align:center}.common-panel-pending{display:grid;gap:5px;min-height:140px;place-content:center}.common-panel-pending strong{color:#285e56;font-size:13px}.common-panel-pending p{margin:0}.presence-panel,.common-ranking-panel{display:grid;gap:10px}.common-panel-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:1px 2px 2px}.common-panel-section-heading>div{display:flex;min-width:0;align-items:center;gap:6px}.common-panel-section-heading h3{margin:0;color:#244f48;font-size:13px}.common-panel-section-heading>strong{color:#17615c;font-size:13px}.common-panel-section-heading>span{color:#82908b;font-size:10px;font-weight:800}.presence-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.presence-summary-card{display:grid;justify-items:center;gap:2px;border:1px solid #d7e1dd;border-radius:8px;background:#fff;padding:7px 3px;color:#61756e}.presence-summary-card>span{font-size:10px;font-weight:800}.presence-summary-card>strong{color:#31564f;font-size:17px;line-height:1}.presence-summary-card small{margin-left:1px;font-size:9px}.presence-summary-card.total{border-color:#a9c9be;background:#edf6f2}.presence-summary-card.active{box-shadow:inset 0 3px #2fbf71}.presence-summary-card.break{box-shadow:inset 0 3px #f4c542}.presence-summary-card.away{box-shadow:inset 0 3px #e84d4d}.presence-section,.common-ranking-section{display:grid;gap:6px;border:1px solid #d7e1dd;border-radius:8px;background:#fff;padding:8px}.presence-section h4,.common-ranking-section h4{margin:0;color:#5b746d;font-size:11px}.presence-user-list,.recent-guest-list,.common-ranking-section ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}.presence-user-list li,.recent-guest-list li,.common-ranking-section li{min-width:0;border-radius:6px;background:#f7faf8;color:#516961;font-size:11px}.presence-user-list li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 8px}.presence-user-list strong,.recent-guest-list strong,.common-ranking-section strong{overflow:hidden;min-width:0;color:#304e47;text-overflow:ellipsis;white-space:nowrap}.presence-user-list li>span:last-child,.recent-guest-list time{color:#81908b;font-size:10px;font-weight:700}.presence-status-dot{width:8px;height:8px;border-radius:50%;background:#2fbf71;box-shadow:0 0 0 2px #2fbf7124}.presence-status-dot.break{background:#f4c542;box-shadow:0 0 0 2px #f4c5422e}.presence-status-dot.away{background:#e84d4d;box-shadow:0 0 0 2px #e84d4d24}.recent-guest-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px}.common-panel-empty{margin:0;border-radius:6px;background:#f7faf8;padding:10px 8px;color:#82918c;font-size:11px;text-align:center}.common-ranking-grid{display:grid;gap:8px}.common-ranking-section li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px}.common-ranking-section li>span:last-child{color:#17615c;font-size:10px;font-weight:800;white-space:nowrap}.common-ranking-position{display:inline-grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#e4f2ed;color:#17615c;font-size:10px;font-weight:900}.common-ranking-section li:first-child .common-ranking-position{background:#fff0b8;color:#8a6510}.footprint-retention-note{margin:10px 0 0;color:#7e8e88;font-size:10px;text-align:center}.common-panel-show-button{position:absolute;right:24px;bottom:22px;z-index:19;min-height:36px;border:1px solid #a9c9be;background:#fffffff5;padding:0 13px;color:#17615c;font-size:11px;box-shadow:0 8px 20px #18312b33}.common-panel-show-button:hover{background:#e8f3ef}.music-section,.music-track-list{display:grid;gap:6px}.music-track-list>span{color:#8a9b96;font-size:12px}.music-track-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:4px;border:1px solid #d8e7e1;border-radius:8px;background:#f8fbf9;padding:3px 5px}.music-track-row.selected{grid-template-columns:22px minmax(0,1fr) auto;border-color:#b4cbc3;background:#fff}.music-track-row.dragging{opacity:.55}.music-track-row.drag-over{border-color:#216869;background:#eef7f3;box-shadow:inset 4px 0 #216869}.music-play-button{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:6px;min-width:0;border:1px solid transparent;background:transparent;padding:2px 4px;color:#2f4b45;text-align:left}.music-play-button:hover{border-color:#216869;background:#eef7f3}.music-track-row img{width:40px;height:28px;border-radius:6px;object-fit:cover}.music-track-row strong{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.music-row-actions,.music-edit-form{display:flex;flex-wrap:wrap;gap:4px}.music-row-actions button,.music-edit-form button{min-height:24px;border:1px solid #c8ddd5;background:#fff;padding:0 8px;color:#216869;font-size:12px}.music-row-actions button:disabled{cursor:default;opacity:.52}.music-drag-handle{display:grid;width:20px;height:28px;place-items:center;border:0;background:transparent;padding:0;color:#8a9b96;cursor:grab;font-size:19px;line-height:1}.music-drag-handle:hover{background:#eef7f3;color:#216869}.music-drag-handle:active{cursor:grabbing}.music-icon-button{min-width:38px}.music-row-actions button:hover,.music-edit-form button:hover{background:#eef7f3}.music-edit-form{grid-column:2 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto auto}.music-delete-button{border:1px solid #efc4c4;background:#fff6f6;color:#92362d}.music-delete-button:hover{background:#ffe9e7}.now-playing-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:6px;width:100%;min-width:0;border:1px solid #d8e7e1;border-radius:8px;background:#f8fbf9;padding:3px 5px;color:#2f4b45}.popular-music-card{display:grid;grid-template-columns:22px 38px minmax(0,1fr);align-items:center;gap:6px;width:100%;min-width:0;border:1px solid #d8e7e1;border-radius:8px;background:#f8fbf9;padding:3px 5px;color:#2f4b45}.now-playing-card.selected{grid-template-columns:38px minmax(0,1fr) auto;border-color:#b4cbc3;background:#fff}.popular-music-card.selected{grid-template-columns:22px 38px minmax(0,1fr) auto;border-color:#b4cbc3;background:#fff}.popular-music-rank{display:grid;width:22px;height:28px;place-items:center;color:#5f766f;font-size:13px;font-weight:800;line-height:1}.now-playing-card img,.popular-music-card img{width:40px;height:28px;border-radius:6px;object-fit:cover}.now-playing-summary{display:grid;gap:0;min-width:0;border:1px solid transparent;background:transparent;padding:1px 3px;color:#2f4b45;text-align:left}.now-playing-card:hover,.popular-music-card:hover,.now-playing-summary:hover{border-color:#216869;background:#eef7f3}.now-playing-card span,.popular-music-card span{overflow:hidden;color:#5f766f;font-size:11px;font-weight:800;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.now-playing-card strong,.popular-music-card strong{overflow:hidden;min-width:0;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mini-youtube-player{position:absolute;left:24px;bottom:22px;z-index:20;overflow:hidden;width:min(340px,calc(100% - 48px));aspect-ratio:16 / 9;border:0;border-radius:8px;background:#000;box-shadow:0 16px 34px #18312b3d}.mini-youtube-close{position:absolute;right:8px;bottom:8px;z-index:2;display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#18312bb8;padding:0;color:#fff;font-size:18px;line-height:1;opacity:0}.mini-youtube-player:hover .mini-youtube-close,.mini-youtube-close:focus-visible{opacity:1}.mini-youtube-volume{position:absolute;right:46px;bottom:8px;z-index:2;display:grid;grid-template-columns:auto 86px auto;align-items:center;gap:6px;border-radius:999px;background:#18312bbd;padding:6px 9px;color:#fff;font-size:11px;font-weight:800;opacity:0;pointer-events:none}.mini-youtube-player:hover .mini-youtube-volume,.mini-youtube-volume:focus-within{opacity:1;pointer-events:auto}.mini-youtube-volume input{width:86px;accent-color:#ffffff}.mini-youtube-volume strong{min-width:34px;text-align:right}.mini-youtube-frame,.mini-youtube-player iframe{display:block;width:100%;height:100%;border:0}.status-panel-title{margin-bottom:8px;color:#5f766f;font-size:12px;font-weight:800}.status-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.status-button{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid #c8ddd5;background:#fff;padding:7px 10px;color:#2f4b45;font-size:13px}.status-button:hover,.status-button.active{border-color:#216869;background:#eef7f3;color:#18312b}.status-dot{width:10px;height:10px;flex:0 0 auto;border:2px solid #ffffff;border-radius:999px;box-shadow:0 0 0 1px #18312b2e}.status-dot.active{background:#2fbf71}.status-dot.break{background:#f4c542}.status-dot.away{background:#e84d4d}.profile-editor{display:grid;gap:10px}.admin-panel{display:grid;gap:16px}.admin-launcher-panel{align-content:start}.admin-launcher-panel>.admin-category{display:none}.admin-launcher-actions{display:grid;gap:10px}.admin-launcher-actions button{min-height:52px;border:1px solid #b9d7cc;border-radius:10px;background:#f4fbf8;color:#216869;font-size:15px;font-weight:900}.admin-launcher-actions button:hover{border-color:#216869;background:#e8f6f0}.admin-settings-page{display:block;min-height:100vh;height:auto;padding:20px;background:#f5f6f0;color:#22312e;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-settings-page>.game-area,.admin-settings-page .side-tabs{display:none}.admin-settings-page .chat-panel{width:min(1280px,100%);height:auto;min-height:calc(100vh - 40px);margin:0 auto;grid-template-rows:auto minmax(0,1fr);border:0;background:transparent}.admin-settings-page .chat-panel>header{border-bottom:0;padding:4px 4px 0}.admin-settings-page .chat-panel>header h2{color:#22312e;font-size:28px}.admin-settings-page .admin-panel{overflow:visible;align-content:start;gap:12px;padding:0 4px 28px}.admin-settings-tabs{display:flex;gap:6px;overflow-x:auto;margin:20px 0 0;border-bottom:1px solid #cfd8d0}.admin-settings-tabs button{flex:0 0 auto;min-height:auto;border:1px solid #39756a;border-bottom:0;border-radius:7px 7px 0 0;background:#e2f0eb;padding:8px 12px;color:#285c53;font:inherit}.admin-settings-tabs button:hover,.admin-settings-tabs button.active{background:#2f6f61;color:#fff}.admin-settings-content>.admin-category{display:none}.admin-settings-tab-notifications>.admin-category-notifications,.admin-settings-tab-background>.admin-category-background,.admin-settings-tab-notice>.admin-category-notice,.admin-settings-tab-music>.admin-category-music,.admin-settings-tab-chat>.admin-category-chat,.admin-settings-tab-chat-history>.admin-category-chat-history,.admin-settings-tab-data>.admin-category-data,.admin-settings-tab-data>.admin-category-classroom,.admin-settings-tab-classroom>.admin-category-classroom{display:grid}.admin-settings-content>.admin-category{border:1px solid #d7ddd5;border-radius:8px;background:#fffdf8;padding:16px}.admin-settings-content .admin-category-title{margin:0 0 10px;color:#22312e;font-size:20px;font-weight:700}.admin-settings-content .admin-learning-management-link{display:none}.admin-settings-tab-classroom .admin-category-classroom>.admin-data-setting{display:none}.admin-settings-tab-data .admin-category-classroom{padding:16px}.admin-settings-tab-data .admin-category-classroom>:not(.admin-data-setting){display:none}.admin-settings-tab-data .admin-category-classroom>.admin-data-setting{display:grid}.admin-category{display:grid;gap:10px;border-top:1px solid #cfe1da;padding-top:12px}.admin-category:first-child{border-top:0;padding-top:0}.admin-category-title{margin:0;color:#244942;font-size:13px;font-weight:900}.admin-background-form{gap:14px}.admin-background-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.admin-background-card{display:grid;min-width:0;min-height:0;overflow:hidden;border:2px solid #d7ddd5;border-radius:12px;background:#fff;padding:0;color:#2f4b45;text-align:left;box-shadow:0 3px 10px #23413914}.admin-background-card:hover{border-color:#7da99e;background:#fff;transform:translateY(-1px)}.admin-background-card.current{border-color:#2f8b69}.admin-background-card.selected{border-color:#d09a28;box-shadow:0 0 0 3px #e0ab3d38,0 5px 14px #2341391f}.admin-background-card.current.selected{border-color:#2f8b69;box-shadow:0 0 0 3px #2f8b6933,0 5px 14px #2341391f}.admin-background-card:focus-visible{outline:3px solid rgba(33,104,105,.28);outline-offset:2px}.admin-background-card:disabled{cursor:wait;opacity:.72}.admin-background-preview{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 9;background:#e9eee9}.admin-background-preview img{display:block;width:100%;height:100%;object-fit:cover}.admin-background-badges{position:absolute;top:8px;left:8px;display:flex;flex-wrap:wrap;gap:5px}.admin-background-badges>span{border-radius:999px;padding:4px 8px;color:#fff;font-size:11px;font-weight:900;line-height:1;box-shadow:0 2px 6px #1a2f2a38}.admin-background-badges .current{background:#2f8b69}.admin-background-badges .selected{background:#b87912}.admin-background-file-name{overflow-wrap:anywhere;padding:10px 12px;font-size:13px;font-weight:800}.admin-background-status,.admin-background-success{margin:0;border-radius:8px;background:#eef5f2;padding:12px;color:#49635d;font-size:13px}.admin-background-success{background:#e6f6ed;color:#267445}.admin-background-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;border-top:1px solid #d8e7e1;padding-top:14px}.admin-background-actions button{min-height:40px;border-color:#2f6f61;background:#2f6f61;padding:0 18px;color:#fff;font-weight:800}.admin-background-actions button:hover:not(:disabled){background:#245b50}.admin-background-actions button:disabled{cursor:not-allowed;opacity:.5}.admin-background-actions span{color:#607871;font-size:12px;font-weight:700}.admin-chat-history{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;align-items:start}.admin-chat-calendar,.admin-chat-history-list{border:1px solid #d7ddd5;border-radius:10px;background:#fff;padding:14px}.admin-chat-calendar-header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:12px;text-align:center}.admin-chat-calendar-header button{min-height:38px;border:0;border-radius:50%;background:transparent;color:#2f6f61;font-size:25px}.admin-chat-calendar-header button:hover{background:#e2f0eb}.admin-chat-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.admin-chat-calendar-grid>span,.admin-chat-calendar-grid>button{display:grid;position:relative;place-items:center;min-width:0;min-height:40px}.admin-chat-calendar-weekday{min-height:28px!important;color:#66736f;font-size:12px;font-weight:700}.admin-chat-calendar-grid>button{border:1px solid transparent;border-radius:50%;background:#f5f7f5;color:#31413d;font:inherit}.admin-chat-calendar-grid>button:hover,.admin-chat-calendar-grid>button.today{border-color:#80a89f}.admin-chat-calendar-grid>button.has-messages{background:#d9e9e4;color:#24594e;font-weight:800}.admin-chat-calendar-grid>button.selected{border-color:#2f6f61;background:#2f6f61;color:#fff}.admin-chat-calendar-grid>button>span{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:currentColor}.admin-chat-history-list h4{margin:0 0 12px;color:#244942;font-size:16px}.admin-chat-history-list ol{display:grid;gap:0;max-height:520px;margin:0;padding:0;overflow-y:auto;list-style:none}.admin-chat-history-list li{display:grid;grid-template-columns:54px minmax(80px,130px) minmax(0,1fr);gap:10px;padding:10px 4px;border-bottom:1px solid #e3e8e4}.admin-chat-history-list time{color:#6b7773;font-size:12px}.admin-chat-history-list strong{overflow-wrap:anywhere;color:#2e514a;font-size:13px}.admin-chat-history-list p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:760px){.admin-chat-history{grid-template-columns:1fr}.admin-chat-history-list li{grid-template-columns:48px minmax(70px,100px) minmax(0,1fr);gap:7px}}@media(max-width:600px){.admin-settings-page{padding:0}.admin-settings-page .chat-panel{min-height:100vh;border:0;border-radius:0}.admin-settings-page .chat-panel>header,.admin-settings-page .admin-panel{padding-right:16px;padding-left:16px}.admin-settings-page .chat-panel>header{padding-top:18px}.admin-settings-page .chat-panel>header h2{font-size:24px}.admin-background-grid{grid-template-columns:1fr}.admin-background-actions{align-items:stretch}.admin-background-actions button{width:100%}}.admin-section{display:grid;gap:8px;border-top:1px solid #d8e7e1;padding-top:10px}.admin-category-title+.admin-section{border-top:0;padding-top:0}.admin-section+.admin-section{margin-top:0}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-section-note{margin:0;color:#6f817d;font-size:12px;line-height:1.5}.admin-actions button,.admin-form button{justify-self:start;min-height:34px;border-color:#d7c8aa;background:#fffaf0;padding:0 12px;color:#755a10;font-size:13px}.admin-actions button:hover,.admin-form button:hover{background:#fff3d0}.admin-actions button:disabled{cursor:not-allowed;opacity:.62}.admin-sync-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;color:#6f817d;font-size:12px}.admin-sync-badge{border-radius:999px;background:#eef5f2;padding:3px 9px;color:#49635d;font-weight:800}.admin-sync-badge.running{background:#fff3d0;color:#755a10}.admin-sync-badge.succeeded{background:#e6f6ed;color:#267445}.admin-sync-badge.failed{background:#ffe7e2;color:#a33b2c}.admin-error-text{margin:0;color:#a33b2c;font-size:12px;line-height:1.5}.admin-private-notice-form{gap:12px}.admin-private-notice-form textarea{min-height:220px;line-height:1.65}.admin-private-notice-count{color:#7b8b86;font-size:11px;text-align:right}.admin-private-notice-example{border:1px solid #dbe5df;border-radius:8px;background:#f8fbf9;color:#526963;font-size:12px}.admin-private-notice-example summary{cursor:pointer;padding:9px 11px;font-weight:800}.admin-private-notice-example pre{overflow-x:auto;margin:0;border-top:1px solid #e1e9e4;padding:10px 12px;color:#425b54;font:inherit;line-height:1.55;white-space:pre-wrap}.admin-form .admin-private-notice-send-button{border-color:#2f6f61;background:#2f6f61;color:#fff}.admin-form .admin-private-notice-send-button:hover{background:#245b50}.admin-private-notice-success{margin:0;border-radius:7px;background:#eaf6ef;padding:8px 10px;color:#246046;font-size:12px;font-weight:800;line-height:1.5}.admin-private-notice-input-errors{display:grid;gap:4px;margin:0;border-radius:7px;background:#fff0ed;padding:9px 12px 9px 30px;color:#983d30;font-size:12px;line-height:1.5}.admin-private-notice-preview{display:grid;gap:8px;border-top:1px solid #d8e7e1;padding-top:12px}.admin-private-notice-preview-heading,.admin-private-notice-item-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}.admin-private-notice-preview-heading{color:#37554d;font-size:13px}.admin-private-notice-preview-heading>span{color:#7b8b86;font-size:11px;font-weight:800}.admin-private-notice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.admin-private-notice-item{min-width:0;border:1px solid #dbe4df;border-left:5px solid #85968f;border-radius:9px;background:#fff;padding:11px 12px}.admin-private-notice-item.status-ready,.admin-private-notice-item.status-sent{border-left-color:#2f8b69}.admin-private-notice-item.status-not-in-room{border-left-color:#b99a51}.admin-private-notice-item.status-name-not-found,.admin-private-notice-item.status-duplicate-profile,.admin-private-notice-item.status-duplicate-input,.admin-private-notice-item.status-format-error,.admin-private-notice-item.status-input-error{border-left-color:#c45d4b}.admin-private-notice-item-heading strong{overflow-wrap:anywhere;color:#2d4942;font-size:14px}.admin-private-notice-item-heading span{flex:0 0 auto;border-radius:999px;background:#edf1ef;padding:4px 8px;color:#61736d;font-size:11px;font-weight:900}.admin-private-notice-item.status-ready .admin-private-notice-item-heading span,.admin-private-notice-item.status-sent .admin-private-notice-item-heading span{background:#dff2e7;color:#226146}.admin-private-notice-item.status-not-in-room .admin-private-notice-item-heading span{background:#fff3d6;color:#80631f}.admin-private-notice-item.status-name-not-found .admin-private-notice-item-heading span,.admin-private-notice-item.status-duplicate-profile .admin-private-notice-item-heading span,.admin-private-notice-item.status-duplicate-input .admin-private-notice-item-heading span,.admin-private-notice-item.status-format-error .admin-private-notice-item-heading span,.admin-private-notice-item.status-input-error .admin-private-notice-item-heading span{background:#ffe9e5;color:#963e31}.admin-private-notice-item>small{display:block;margin-top:4px;color:#74847f;font-size:11px;line-height:1.45}.admin-private-notice-item>p{margin:9px 0 0;border-top:1px solid #edf1ee;padding-top:9px;color:#354b45;font-size:12px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:760px){.admin-private-notice-list{grid-template-columns:1fr}.admin-private-notice-form textarea{min-height:260px}.admin-private-notice-form .admin-form-actions>button{width:100%}}.admin-sync-log{max-height:132px;overflow:auto;border:1px solid #d8e7e1;border-radius:8px;background:#fbfdfb;padding:8px;color:#49635d;font-size:11px;line-height:1.45;white-space:pre-wrap}.admin-pasoken-match-panel{display:grid;gap:8px}.admin-pasoken-match-summary{display:flex;flex-wrap:wrap;gap:6px}.admin-match-status{border-radius:999px;background:#eef5f2;padding:3px 8px;color:#49635d;font-size:11px;font-weight:800;white-space:nowrap}.admin-match-status.matched{background:#e6f6ed;color:#267445}.admin-match-status.duplicate_wordpress_name,.admin-match-status.duplicate_pasoken_name{background:#ffe7e2;color:#a33b2c}.admin-match-status.missing_wordpress_name,.admin-match-status.missing_pasoken_name,.admin-match-status.name_mismatch,.admin-match-status.not_logged_in{background:#fff3d0;color:#755a10}.admin-pasoken-match-list{display:grid;gap:6px;max-height:240px;overflow-y:auto}.admin-pasoken-match-list>span{color:#8a9b96;font-size:12px}.admin-pasoken-match-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid #e2ece8;background:#f8fbf9;padding:7px 8px}.admin-pasoken-match-row div{display:grid;gap:3px;min-width:0}.admin-pasoken-match-row strong,.admin-pasoken-match-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-pasoken-match-row strong{color:#2f4b45;font-size:12px}.admin-pasoken-match-row span{color:#5f766f;font-size:11px}.admin-sound-settings{display:grid;gap:8px}.admin-push-panel{display:grid;gap:9px}.admin-classroom-missions{display:grid;gap:6px}.admin-classroom-missions label{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px}.admin-classroom-missions label span{color:#5f766f;font-size:12px;font-weight:800;text-align:center}.admin-chat-settings{display:grid;gap:8px;margin-bottom:10px}.admin-chat-settings label{display:flex;align-items:center;gap:8px;color:#5f766f;font-size:12px;font-weight:800}.admin-chat-settings input{width:16px;height:16px}.admin-room-welcome-form{gap:12px}.admin-room-welcome-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.admin-room-welcome-fields label{display:grid;align-content:start;gap:6px}.admin-room-welcome-fields input{min-width:0}.admin-room-welcome-fields small{color:#8a9b96;font-size:11px;text-align:right}.admin-form button:disabled{cursor:not-allowed;opacity:.62}@media(max-width:760px){.admin-room-welcome-fields{grid-template-columns:1fr}}.admin-sound-settings label{display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:center;gap:6px 10px}.admin-sound-settings label span{color:#5f766f;font-size:12px;font-weight:800}.admin-sound-settings input{padding:8px 9px;font-size:13px}.admin-sound-settings small{grid-column:1 / -1;color:#8a9b96;font-size:12px}.admin-form label{display:grid;gap:6px}.admin-form-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-form label span{color:#5f766f;font-size:12px;font-weight:800}.admin-form .admin-clock-outline-toggle,.admin-form .admin-pasoken-ranking-toggle{display:flex;align-items:center;gap:8px}.admin-form .admin-clock-outline-toggle input,.admin-form .admin-pasoken-ranking-toggle input{width:16px;height:16px;margin:0;padding:0;accent-color:#216869}.admin-form input,.admin-form select,.admin-form textarea{padding:9px 10px;font-size:13px;resize:vertical}.admin-music-limit-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.admin-music-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:8px;color:#2f4b45;font-size:12px;font-weight:800}.admin-music-toggle input{width:16px;height:16px;margin:0;accent-color:#216869}.admin-music-limit-form label{display:grid;gap:6px}.admin-music-limit-form label span{color:#5f766f;font-size:12px;font-weight:800}.admin-music-limit-form input{padding:8px 9px;font-size:13px}.admin-music-limit-form button,.admin-music-row button{min-height:34px;border-color:#d7c8aa;background:#fffaf0;padding:0 12px;color:#755a10;font-size:13px}.admin-music-limit-form button:hover,.admin-music-row button:hover{background:#fff3d0}.admin-music-search{display:grid;gap:6px}.admin-music-search span{color:#5f766f;font-size:12px;font-weight:800}.admin-music-search input{padding:8px 9px;font-size:13px}.admin-music-list{display:grid;align-content:start;gap:8px;height:max(320px,calc(100vh - 390px));max-height:70vh;overflow-y:auto;padding-right:4px}.admin-music-list>span{color:#8a9b96;font-size:12px}.admin-music-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #e2ece8;background:#f8fbf9;padding:6px;cursor:pointer}.admin-music-row:hover,.admin-music-row.selected{border-color:#69a395;background:#eef8f4}.admin-music-row:focus-visible{outline:3px solid rgba(33,104,105,.25);outline-offset:1px}.admin-music-row img{width:54px;height:40px;border-radius:6px;object-fit:cover}.admin-music-row div{display:grid;gap:3px;min-width:0}.admin-music-row .admin-music-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.admin-music-row-actions button:disabled{cursor:wait;opacity:.6}.admin-music-row strong,.admin-music-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-music-row strong{color:#2f4b45;font-size:12px}.admin-music-row span{color:#5f766f;font-size:11px}@media(max-width:680px){.admin-music-list{height:max(260px,calc(100vh - 420px))}.admin-music-row{grid-template-columns:54px minmax(0,1fr)}.admin-music-row .admin-music-row-actions{grid-column:1 / -1}}.admin-user-list,.admin-topic-list{display:grid;gap:6px}.admin-user-row,.admin-topic-row{display:grid;align-items:center;border:1px solid #e2ece8;background:#f8fbf9;padding:7px 8px;color:#2f4b45;font-size:12px}.admin-user-row{grid-template-columns:16px minmax(0,1fr) auto;gap:6px}.admin-user-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-list>span,.admin-topic-list>span{color:#8a9b96;font-size:12px}.profile-editor label{display:grid;gap:6px}.profile-editor label span,.mission-editor-title{color:#5f766f;font-size:12px;font-weight:800}.profile-editor input{padding:9px 10px;font-size:13px}.mission-editor{display:grid;gap:6px}.mission-editor-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.profile-editor .classroom-mission-button{justify-self:auto;min-height:30px;border-color:#bfd8cf;background:#eef7f3;padding:0 10px;color:#216869;font-size:12px}.profile-editor .classroom-mission-button:hover{background:#dff0ea}.profile-editor .mission-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px}.profile-editor .mission-row input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#216869}.profile-editor button{justify-self:end;min-height:34px;padding:0 16px}@media(max-width:880px){.room-screen{grid-template-columns:1fr;align-content:start;height:auto;min-height:100dvh}.game-canvas{height:auto;aspect-ratio:16 / 9}.chat-panel{height:auto;min-height:0}.game-common-panel{position:static;width:100%;min-width:0;max-height:620px;margin-top:12px;box-shadow:0 8px 20px #18312b24}.common-panel-show-button{right:12px;bottom:12px}.mini-youtube-player{position:relative;left:auto;bottom:auto;width:100%;margin-top:12px}.records-panel{padding:10px}.pasoken-score-card{padding:12px}.score-card-heading{flex-wrap:wrap}.score-card-best{width:100%;justify-items:start}.pasoken-ranking-panel{padding:12px}}@media(max-width:520px){.footprint-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.common-panel-tabs button{padding:0 3px;font-size:10px}.footprint-message-field>div{grid-template-columns:1fr}.footprint-message-field button{width:100%}.presence-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(hover:none){.mini-youtube-close,.mini-youtube-volume{opacity:1}}
