@import "https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&family=Noto+Sans+JP:wght@400;700;900&display=swap";@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css";.global-ai-float-fab{color:#fff;cursor:pointer;z-index:1060;background:#1d4ed8;border:2px solid #1a1a1a;border-radius:999px;align-items:center;gap:.45rem;min-height:44px;padding:.35rem .9rem .35rem .45rem;font-size:.9rem;font-weight:900;display:inline-flex;position:fixed;bottom:1.1rem;right:1.1rem;box-shadow:4px 4px #1a1a1a,0 14px 32px #1d4ed838}.global-ai-float-fab[hidden],.global-ai-panel[hidden]{display:none}.global-ai-float-fab img{object-fit:contain;background:#fff;border:2px solid #1a1a1a;border-radius:999px;width:30px;height:30px;padding:.12rem;display:block}.global-ai-panel{box-sizing:border-box;resize:both;z-index:1059;background:#fff;border:2px solid #1a1a1a;border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto auto auto;width:min(620px,100vw - 2rem);min-width:360px;max-width:calc(100vw - 2rem);height:min(760px,100vh - 7rem);min-height:420px;max-height:min(760px,100vh - 7rem);display:grid;position:fixed;bottom:4.75rem;right:1.1rem;overflow:hidden;box-shadow:6px 6px #1a1a1a,0 22px 56px #1018283d}.global-ai-panel.is-drop-target:after{color:#1d4ed8;content:"ここにドロップ";pointer-events:none;z-index:8;background:#1d4ed81f;border:2px dashed #1d4ed8;border-radius:10px;justify-content:center;align-items:center;font-size:1rem;font-weight:900;display:flex;position:absolute;inset:.75rem}.global-ai-resize-handle{cursor:nwse-resize;touch-action:none;z-index:3;background:0 0;border:0;width:28px;height:28px;position:absolute;top:0;left:0}.global-ai-resize-edge{touch-action:none;z-index:6;background:0 0;position:absolute}.global-ai-resize-edge--n{cursor:ns-resize;height:18px;top:0;left:34px;right:34px}.global-ai-resize-edge--s{cursor:ns-resize;height:10px;bottom:0;left:30px;right:30px}.global-ai-resize-edge--e{cursor:ew-resize;width:10px;top:30px;bottom:30px;right:0}.global-ai-resize-edge--w{cursor:ew-resize;width:10px;top:30px;bottom:30px;left:0}.global-ai-resize-edge--nw{cursor:nwse-resize;width:38px;height:38px;top:0;left:0}.global-ai-resize-edge--ne{cursor:nesw-resize;width:38px;height:38px;top:0;right:0}.global-ai-resize-edge--se{cursor:nwse-resize;width:30px;height:30px;bottom:0;right:0}.global-ai-resize-edge--sw{cursor:nesw-resize;width:30px;height:30px;bottom:0;left:0}.global-ai-resize-handle:before{content:"";opacity:.9;background:linear-gradient(135deg,#98a2b3 0 12%,#0000 12% 32%,#98a2b3 32% 44%,#0000 44% 64%,#98a2b3 64% 76%,#0000 76%);position:absolute;inset:8px}body.global-ai-resizing,body.global-ai-resizing *{cursor:nwse-resize!important;user-select:none!important}.global-ai-panel__head{background:#f8fafc;border-bottom:2px solid #1a1a1a;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem .75rem 2.15rem;display:flex}.global-ai-panel__head div{gap:.15rem;min-width:0;display:grid}.global-ai-panel__head strong{color:#101828;font-size:.95rem;font-weight:900;line-height:1.2}.global-ai-panel__head span{color:#667085;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:800;line-height:1.35;overflow:hidden}.global-ai-panel__head button{color:#1f2937;cursor:pointer;background:#fff;border:2px solid #1a1a1a;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.1rem;font-weight:900;line-height:1;display:inline-flex}.global-ai-log{background:#eef2f7;border-bottom:1px solid #d0d5dd;align-content:start;gap:.55rem;padding:.7rem;display:grid;overflow:auto}.global-ai-message{align-items:flex-end;gap:.4rem;max-width:90%;display:flex}.global-ai-message--assistant{justify-self:start}.global-ai-message--user{justify-self:end}.global-ai-message__avatar{object-fit:contain;background:#fff;border:2px solid #1a1a1a;border-radius:999px;flex:none;width:32px;height:32px;padding:.15rem;box-shadow:2px 2px #1a1a1a}.global-ai-message__bubble{color:#101828;white-space:pre-wrap;border:2px solid #1a1a1a;border-radius:12px;padding:.5rem .65rem;font-size:.875rem;font-weight:500;line-height:1.55;box-shadow:2px 2px #1a1a1a2e}.global-ai-message--assistant .global-ai-message__bubble{background:#fff;border-bottom-left-radius:4px}.global-ai-message--user .global-ai-message__bubble{background:#dff5ff;border-bottom-right-radius:4px}.global-ai-followups{background:#fff;border-bottom:1px solid #d0d5dd;flex-wrap:wrap;gap:.4rem;padding:.55rem .7rem;display:flex}.global-ai-followups[hidden]{display:none}.global-ai-followup{color:#1f2937;cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #cfd8e3;border-radius:8px;padding:.42rem .58rem;font-size:.78rem;font-weight:800;line-height:1.35}.global-ai-followup:hover{color:#1742a6;background:#eef4ff;border-color:#93b4ff}.global-ai-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.45rem;padding:.7rem .7rem 0;display:grid}.global-ai-attachments{grid-column:1/-1;gap:.4rem;max-height:132px;display:grid;overflow:auto}.global-ai-attachment{background:#f8fafc;border:2px solid #1a1a1a;border-radius:8px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.35rem;display:grid}.global-ai-attachment-preview{color:#475467;object-fit:cover;background:#fff;border:1px solid #d0d5dd;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;font-size:.68rem;font-weight:900;display:flex}.global-ai-attachment-name,.global-ai-attachment-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.global-ai-attachment-name{color:#101828;font-size:.8rem;font-weight:900}.global-ai-attachment-meta{color:#667085;font-size:.72rem;font-weight:700}.global-ai-attachment-remove{color:#1f2937;cursor:pointer;background:#fff;border:2px solid #1a1a1a;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.95rem;font-weight:900;line-height:1;display:inline-flex}.global-ai-composer-row{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem;display:grid}.global-ai-attach-menu{position:relative}.global-ai-tool-btn{color:#101828;cursor:pointer;background:#fff;border:2px solid #1a1a1a;border-radius:8px;flex:none;justify-content:center;align-items:center;width:38px;height:34px;min-height:34px;padding:0;font-size:1rem;font-weight:900;display:inline-flex;box-shadow:2px 2px #1a1a1a}.global-ai-attach-menu__popup{z-index:9;background:#fff;border:2px solid #1a1a1a;border-radius:8px;gap:.25rem;min-width:150px;padding:.35rem;display:grid;position:absolute;bottom:calc(100% + .45rem);left:0;box-shadow:4px 4px #1a1a1a}.global-ai-attach-menu__popup[hidden]{display:none}.global-ai-attach-action{color:#101828;cursor:pointer;text-align:left;white-space:nowrap;background:#fff;border:0;border-radius:6px;justify-content:flex-start;align-items:center;gap:.45rem;min-height:34px;padding:.4rem .5rem;font-size:.82rem;font-weight:900;display:flex}.global-ai-attach-action:hover{color:#1742a6;background:#eef4ff}.global-ai-attach-action__icon{justify-content:center;align-items:center;width:18px;height:18px;font-size:1rem;line-height:1;display:inline-flex}.global-ai-attach-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px;display:block}.global-ai-notice{color:#667085;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-width:0;font-size:.76rem;font-weight:800;overflow:hidden}.global-ai-camera-box{background:#101828;border:2px solid #1a1a1a;border-radius:8px;grid-column:1/-1;gap:.45rem;padding:.45rem;display:grid;overflow:hidden}.global-ai-camera-box[hidden]{display:none}.global-ai-camera-box video{object-fit:contain;background:#000;border-radius:6px;width:100%;max-height:240px;display:block}.global-ai-camera-actions{justify-content:flex-end;gap:.45rem;display:flex}.global-ai-camera-action{color:#101828;cursor:pointer;background:#fff;border:2px solid #1a1a1a;border-radius:8px;min-height:34px;padding:0 .8rem;font-weight:900;box-shadow:2px 2px #1a1a1a}.global-ai-camera-action--capture{background:#dff5ff}.global-ai-composer-row textarea{font:inherit;resize:vertical;border:2px solid #1a1a1a;border-radius:8px;min-height:2.5rem;padding:.5rem .55rem;font-size:.875rem}.global-ai-form button[type=submit]{color:#fff;cursor:pointer;background:#1d4ed8;border:2px solid #1a1a1a;border-radius:8px;justify-content:center;align-items:center;width:44px;height:40px;min-height:40px;padding:0;font-weight:900;display:inline-flex;box-shadow:2px 2px #1a1a1a}.global-ai-form button[type=submit] svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;width:21px;height:21px;display:block}.global-ai-form button:disabled{cursor:wait;opacity:.65}.global-ai-status{color:#555;min-height:1.6rem;margin:0;padding:.35rem .7rem .55rem;font-size:.8125rem;font-weight:700}@media (width<=968px){.global-ai-float-fab{bottom:.85rem;right:.85rem}.global-ai-panel{resize:none;width:calc(100vw - 1.7rem);min-width:0;height:min(620px,100vh - 5.5rem);min-height:320px;max-height:min(620px,100vh - 5.5rem);bottom:4.25rem;right:.85rem}}:root{color-scheme:light;--ink:#18212f;--muted:#667085;--line:#d8dee8;--paper:#f6f7f9;--panel:#fff;--blue:#2f6fed;--green:#00a676;--yellow:#f4c430;--red:#e85d75;--shadow:0 18px 50px #151e2f1a;--dashboard-chrome-sidebar-width:280px}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);letter-spacing:0;margin:0;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Noto Sans,Yu Gothic,YuGothic,Meiryo,system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}body:has(.dashboard-chrome){--font-main:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans", "Yu Gothic", "YuGothic", "Meiryo", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-hand:"Kiwi Maru", serif;--neo-text:#1a1a1a;color:var(--neo-text);font-family:var(--font-main);background:#fafafa}.dashboard-legacy-page.typing-mode{padding-top:0;overflow:hidden}a{color:inherit}[hidden]{display:none!important}.dashboard-legacy-page{--font-main:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans", "Yu Gothic", "YuGothic", "Meiryo", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-hand:"Kiwi Maru", serif;--neo-primary:#5b8dee;--neo-secondary:#48c9b0;--neo-accent:#f39c12;--neo-blue:#3498db;--neo-pink:#e74c3c;--neo-purple:#9b59b6;--neo-green:#2ecc71;--neo-text:#1a1a1a;--neo-border:3px solid #1a1a1a;--neo-radius:16px;--neo-shadow:6px 6px 0px #1a1a1a;--neo-shadow-hover:10px 10px 0px #1a1a1a;color:var(--neo-text);font-family:var(--font-main);background:#f4f4f0;padding-top:65px}.dashboard-legacy-page .top-navbar{z-index:1000;background:#48c9b0;border-bottom:4px solid #1a1a1a;position:fixed;inset:0 0 auto}.dashboard-legacy-page .navbar-container{justify-content:space-between;align-items:center;max-width:1400px;min-height:65px;padding:.5rem 1.5rem;display:flex}.dashboard-legacy-page .navbar-logo,.dashboard-legacy-page .navbar-item{align-items:center;text-decoration:none;display:inline-flex}.dashboard-legacy-page .navbar-logo img{width:auto;height:45px}.dashboard-legacy-page .navbar-menu-inner,.dashboard-legacy-page .navbar-end{align-items:center;gap:.75rem;display:flex}.dashboard-legacy-page .navbar-item{color:#fff;font:inherit;cursor:pointer;background:0 0;border:0;margin-right:1rem;padding:.5rem;font-size:1rem;font-weight:700;transition:opacity .3s}.dashboard-legacy-page .navbar-item:hover{opacity:.8}.dashboard-legacy-page .navbar-item i{margin-right:.5rem;font-size:1.2rem}.dashboard-legacy-page .navbar-logout-btn{cursor:pointer;font:inherit;color:#fff;background:0 0;border:none;align-items:center;margin:0;padding:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-legacy-page .dashboard-mobile-menu-btn{cursor:pointer;touch-action:manipulation;background:#9de3d5;border:2px solid #1a1a1a;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:48px;height:48px;margin:0;padding:8px;display:none;box-shadow:3px 3px #1a1a1a}.dashboard-legacy-page .dashboard-mobile-menu-btn span{background:#1a1a1a;width:25px;height:3px;transition:transform .2s,opacity .2s;display:block}.dashboard-legacy-page .dashboard-mobile-menu-btn.is-active span:first-child{transform:rotate(45deg)translate(7px,7px)}.dashboard-legacy-page .dashboard-mobile-menu-btn.is-active span:nth-child(2){opacity:0}.dashboard-legacy-page .dashboard-mobile-menu-btn.is-active span:nth-child(3){transform:rotate(-45deg)translate(7px,-7px)}.dashboard-legacy-page .dashboard-container{--dashboard-navbar-offset:65px;max-width:100%;margin:0;padding:0}.dashboard-legacy-page .legacy-dashboard-grid{grid-template-columns:var(--dashboard-sidebar-width,280px) minmax(0, 1fr);min-height:calc(100vh - var(--dashboard-navbar-offset));align-items:flex-start;display:grid}.dashboard-legacy-page .neo-sidebar{top:var(--dashboard-navbar-offset);width:var(--dashboard-sidebar-width,280px);max-width:var(--dashboard-sidebar-width,280px);height:calc(100vh - var(--dashboard-navbar-offset));z-index:100;background-color:#48c9b0;border-right:4px solid #1a1a1a;position:sticky;overflow:hidden auto;box-shadow:4px 0 8px #0003}.dashboard-legacy-page .sidebar-menu{flex-direction:column;padding-top:.35rem;display:flex}.dashboard-legacy-page .sidebar-menu-item{color:#fff;border-bottom:1px solid #ffffff1a;align-items:center;gap:.5rem;min-width:0;padding:.8rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s;display:flex;overflow:hidden}.dashboard-legacy-page .sidebar-menu-item:hover,.dashboard-legacy-page .sidebar-menu-item.is-active{color:#fff;background:#ffffff1a}.dashboard-legacy-page .menu-icon{color:#fff;text-align:center;flex:0 0 1.5rem;width:1.5rem;font-size:1.1rem}.dashboard-legacy-page .sidebar-category-title{color:#fffc;letter-spacing:.05em;margin-top:1rem;margin-bottom:.25rem;padding:.25rem .5rem;font-size:.8rem;font-weight:800;display:block}.dashboard-legacy-page .dashboard-main{min-width:0;min-height:calc(100vh - var(--dashboard-navbar-offset));background-color:#f8f9fa;background-image:radial-gradient(#cbd5e0 1px,#0000 1px);background-size:20px 20px;padding:1.5rem}.dashboard-legacy-page .legacy-dashboard-content-grid-4col{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:.75rem;display:grid}.dashboard-legacy-page .legacy-dashboard-content-grid-bottom{grid-template-columns:2fr 1fr;gap:.75rem;display:grid}.dashboard-legacy-page .dashboard-column-1{flex-direction:column;grid-column:span 1;display:flex}.dashboard-legacy-page .dashboard-column-2{flex-direction:column;grid-column:span 2;display:flex}.dashboard-legacy-page .neo-card{border:var(--neo-border);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow);background:#fff;transition:all .3s;overflow:hidden}.dashboard-legacy-page .neo-card:hover{box-shadow:var(--neo-shadow-hover);transform:translate(-2px,-2px)}.dashboard-legacy-page .neo-card-header,.dashboard-legacy-page .neo-card-body{padding:.5rem}.dashboard-legacy-page .neo-card-body{padding:1rem}.dashboard-legacy-page .neo-card-header{border-bottom:var(--neo-border)}.dashboard-legacy-page .section-label{color:#1a1a1a;letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(135deg,#f39c12 0%,#e67e22 100%);border:4px solid #1a1a1a;margin-bottom:1.5rem;padding:.6rem 1.8rem;font-size:1rem;font-weight:900;transition:all .3s;display:inline-block;transform:rotate(-2deg);box-shadow:5px 5px #1a1a1a}.dashboard-legacy-page .section-label-blue{background:var(--neo-blue);color:#fff}.dashboard-legacy-page .section-label-pink{background:var(--neo-pink);color:#fff}.dashboard-legacy-page .section-label-green{background:var(--neo-green);color:#fff}.dashboard-legacy-page .section-label-cyan{color:#fff;background:#26c6da}.dashboard-legacy-page .legacy-user-status{align-items:center;margin-bottom:1rem;display:flex}.dashboard-legacy-page .legacy-user-level{color:var(--neo-primary);font-size:2rem;font-weight:900}.dashboard-legacy-page .legacy-title-badge{color:#e65100;background:linear-gradient(135deg,#fff3e0 0%,#ffe0b2 100%);border:2px solid #ffb74d;border-radius:8px;margin-top:.5rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.85rem;font-weight:900;display:inline-block;box-shadow:2px 2px #ef6c00}.dashboard-legacy-page .legacy-title-badge i{color:#ef6c00;margin-right:.5rem}.dashboard-legacy-page .legacy-user-status h3{margin:0;font-weight:900}.dashboard-legacy-page .skill-list{flex-direction:column;gap:1rem;display:flex}.dashboard-legacy-page .skill-item{background:#fff;border:2px solid #1a1a1a;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-weight:700;display:flex}.dashboard-legacy-page .skill-value{color:var(--neo-primary);font-size:1.25rem;font-weight:900}.dashboard-legacy-page .legacy-avatar-stage{border:var(--neo-border);background:#f0f0f0;border-radius:8px;height:500px;position:relative;overflow:hidden}.dashboard-legacy-page .legacy-avatar-stage canvas{outline:none;width:100%;height:100%;display:block}.dashboard-legacy-page .legacy-avatar-fallback{color:#48c9b02e;pointer-events:none;place-items:center;font-size:8rem;font-weight:900;display:grid;position:absolute;inset:0}.dashboard-legacy-page .legacy-avatar-adjust-btn{z-index:2;padding:5px 10px;font-size:.8rem;position:absolute;top:10px;left:10px}.dashboard-legacy-page .legacy-avatar-edit{z-index:2;padding:5px 10px;font-size:.8rem;position:absolute;top:10px;right:10px}.dashboard-legacy-page .legacy-avatar-edit-panel{z-index:3;border:var(--neo-border);background:#fffffff0;border-radius:8px;width:min(220px,100% - 20px);max-height:calc(100% - 54px);padding:10px;font-size:.8rem;line-height:1.35;position:absolute;top:44px;left:10px;overflow:auto;box-shadow:4px 4px #1a1a1a}.dashboard-legacy-page .legacy-avatar-edit-panel[hidden]{display:none}.dashboard-legacy-page .legacy-avatar-panel-heading{border-bottom:2px solid #eee;margin:0 0 5px;padding-bottom:2px;font-size:.85rem;font-weight:700}.dashboard-legacy-page .legacy-avatar-panel-heading:not(:first-child){margin-top:10px}.dashboard-legacy-page .legacy-avatar-panel-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:2px;display:flex}.dashboard-legacy-page .legacy-avatar-panel-row label{flex:none;min-width:2.5rem;font-weight:700}.dashboard-legacy-page .legacy-avatar-panel-row input{width:72px;max-width:100%;font:inherit;text-align:right;border:1px solid #ccc;border-radius:4px;padding:2px 4px}.dashboard-legacy-page .legacy-avatar-reset-btn{width:100%;margin-top:10px;padding:4px 8px;font-size:.75rem}.dashboard-legacy-page .legacy-shop-link{text-align:center;margin-top:.5rem}.dashboard-legacy-page .btn-ultra{border:var(--neo-border);color:var(--neo-text);text-align:center;cursor:pointer;border-radius:8px;padding:.75rem 1.5rem;font-weight:900;text-decoration:none;display:inline-block}.dashboard-legacy-page .btn-ultra-primary,.dashboard-legacy-page .btn-ultra-secondary{color:#fff;box-shadow:4px 4px #1a1a1a}.dashboard-legacy-page .btn-ultra-primary{background:var(--neo-primary)}.dashboard-legacy-page .btn-ultra-secondary{background:var(--neo-secondary)}.dashboard-legacy-page .btn-ultra-accent{background:var(--neo-accent);color:var(--neo-text);box-shadow:4px 4px #1a1a1a}.dashboard-legacy-page .legacy-card-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dashboard-legacy-page .coin-card,.dashboard-legacy-page .legacy-small-card,.dashboard-legacy-page .legacy-report-card{margin-bottom:.5rem}.dashboard-legacy-page .status-card{background-color:#e3f2fd}.dashboard-legacy-page .avatar-card{background-color:#fce4ec}.dashboard-legacy-page .coin-card{background-color:#fff8e1}.dashboard-legacy-page .friend-card{background-color:#f3e5f5}.dashboard-legacy-page .report-card{background-color:#e0f7fa}.dashboard-legacy-page .legacy-notification-card{background-color:#ede7f6}.dashboard-legacy-page .legacy-works-card{background-color:#f1f8e9}.dashboard-legacy-page .legacy-course-card{background-color:#e8f5e9}.dashboard-legacy-page .legacy-activity-card,.dashboard-legacy-page .stats-card{background-color:#fffde7}.dashboard-legacy-page .coin-card span:last-child{color:var(--neo-accent);font-size:1.25rem;font-weight:900}.dashboard-legacy-page .legacy-report-card h3{margin:.5rem 0 0;font-size:1rem;font-weight:900}.dashboard-legacy-page .legacy-card-title{margin:0;font-size:1rem;font-weight:900}.dashboard-legacy-page .legacy-stat-row{background:#fff;border-radius:8px;justify-content:space-between;margin-bottom:.75rem;padding:1rem;display:flex}.dashboard-legacy-page .legacy-stat-row span{color:#666;font-size:1rem;font-weight:700}.dashboard-legacy-page .legacy-stat-row strong{color:var(--neo-text);font-size:1.5rem;font-weight:900}.dashboard-legacy-page .legacy-mini-button{min-width:auto;padding:.25rem .5rem;font-size:.7rem}.dashboard-legacy-page .legacy-notification-card,.dashboard-legacy-page .legacy-works-card{margin-bottom:.75rem}.dashboard-legacy-page .notification-card-status{color:#c0392b;background:#e85d7514;border:2px solid #e85d7559;border-radius:8px;margin:0 0 .75rem;padding:.65rem .75rem;font-size:.88rem;font-weight:700}.dashboard-legacy-page .legacy-notification-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-legacy-page .notification-item{background:0 0;border:0;margin:0;padding:0}.dashboard-legacy-page .notification-item-row{color:var(--neo-text);background:#fff;border:2px solid #1a1a1a;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;text-decoration:none;display:flex}.dashboard-legacy-page a.notification-item-row:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #1a1a1a}.dashboard-legacy-page .notification-item.is-unread .notification-item-row{background:#f8f7ff;border-color:#6c5ce7}.dashboard-legacy-page .notification-item-main{flex:1;gap:.25rem;min-width:0;display:grid}.dashboard-legacy-page .notification-item-title{word-break:break-word;font-size:.95rem;font-weight:900;line-height:1.35;display:block}.dashboard-legacy-page .notification-item-body{color:#555;word-break:break-word;margin:0;font-size:.85rem;line-height:1.45}.dashboard-legacy-page .notification-item-date{color:#777;white-space:nowrap;flex:none;font-size:.8rem;font-weight:700}.dashboard-legacy-page .notification-item-empty{background:#fff;border:2px solid #1a1a1a;border-radius:8px;padding:.75rem}.dashboard-legacy-page .notification-item-empty .empty{color:#666;margin:0;font-weight:700}.dashboard-legacy-page .legacy-simple-list,.dashboard-legacy-page .activity-list{margin:0;padding:0;list-style:none}.dashboard-legacy-page .progress-item,.dashboard-legacy-page .work-item,.dashboard-legacy-page .activity-list li,.dashboard-legacy-page .legacy-simple-list li,.dashboard-legacy-page .empty-state{background:#fff;border:2px solid #1a1a1a;border-radius:8px;padding:.75rem}.dashboard-legacy-page .progress-item,.dashboard-legacy-page .work-item{color:var(--neo-text);text-decoration:none}.dashboard-legacy-page .progress-track{background:#f4f4f0;border:2px solid #1a1a1a;border-radius:10px;height:20px;overflow:hidden}.dashboard-legacy-page .progress-track span{background:linear-gradient(90deg, var(--neo-primary), var(--neo-secondary));height:100%;display:block}.dashboard-legacy-page .status-panel{border:var(--neo-border);box-shadow:var(--neo-shadow)}.dashboard-chrome .top-navbar{z-index:1000;background:#48c9b0;border-bottom:4px solid #1a1a1a;position:fixed;inset:0 0 auto}.dashboard-chrome .navbar-container{justify-content:space-between;align-items:center;max-width:1400px;min-height:65px;padding:.5rem 1.5rem;display:flex}.dashboard-chrome .navbar-logo,.dashboard-chrome .navbar-item{align-items:center;text-decoration:none;display:inline-flex}.dashboard-chrome .navbar-logo img{width:auto;height:45px}.dashboard-chrome .navbar-page-actions{align-items:center;gap:.5rem;min-width:0;margin-left:auto;display:flex}.dashboard-chrome .navbar-menu-inner,.dashboard-chrome .navbar-end{align-items:center;gap:.75rem;display:flex}.dashboard-chrome .navbar-item{color:#fff;font:inherit;cursor:pointer;background:0 0;border:0;gap:.35rem;margin-right:1rem;padding:.5rem;font-size:1rem;font-weight:700;transition:opacity .3s}.dashboard-chrome .navbar-item:hover{opacity:.8}.dashboard-chrome .navbar-item i{margin-right:.5rem;font-size:1.2rem}.dashboard-chrome .navbar-logout-btn{cursor:pointer;font:inherit;color:#fff;background:0 0;border:none;align-items:center;margin:0;padding:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-chrome .dashboard-chrome-menu-btn{cursor:pointer;touch-action:manipulation;background:#fff;border:2px solid #1a1a1a;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:48px;height:48px;margin:0;padding:8px;display:none}.dashboard-chrome .dashboard-chrome-menu-btn span{background:#1a1a1a;width:25px;height:3px;transition:transform .2s,opacity .2s;display:block}.dashboard-chrome .dashboard-chrome-menu-btn.is-active span:first-child{transform:rotate(45deg)translate(7px,7px)}.dashboard-chrome .dashboard-chrome-menu-btn.is-active span:nth-child(2){opacity:0}.dashboard-chrome .dashboard-chrome-menu-btn.is-active span:nth-child(3){transform:rotate(-45deg)translate(7px,-7px)}.dashboard-sidebar-float-btn{z-index:1020;backdrop-filter:blur(4px);color:#48c9b0;cursor:pointer;text-align:center;touch-action:manipulation;background:#ffffffc7;border:3px solid #48c9b0;border-radius:12px;justify-content:center;align-items:center;min-width:56px;padding:.65rem .75rem;font-size:.85rem;font-weight:900;line-height:1.15;display:none;position:fixed;top:150px;left:32px;box-shadow:4px 4px #1a1a1a}.dashboard-sidebar-backdrop{display:none}.dashboard-chrome .dashboard-chrome-sidebar{width:var(--dashboard-chrome-sidebar-width,280px);max-width:var(--dashboard-chrome-sidebar-width,280px);z-index:900;background-color:#48c9b0;border-right:4px solid #1a1a1a;min-width:64px;height:calc(100vh - 65px);position:fixed;top:65px;left:0;overflow:visible;box-shadow:4px 0 8px #0003;container:chrome-sidebar/inline-size}.dashboard-chrome .dashboard-chrome-sidebar__scroll{scrollbar-width:thin;scrollbar-color:transparent transparent;height:100%;transition:scrollbar-color .2s;overflow:hidden auto}.dashboard-chrome .dashboard-chrome-sidebar__scroll::-webkit-scrollbar{width:12px}.dashboard-chrome .dashboard-chrome-sidebar__scroll::-webkit-scrollbar-track{background:0 0}.dashboard-chrome .dashboard-chrome-sidebar__scroll::-webkit-scrollbar-thumb{background-color:#0000;background-clip:padding-box;border:0;border-left:2px solid #0000;border-right:2px solid #0000;border-radius:999px;transition:background-color .2s}.dashboard-chrome .dashboard-chrome-sidebar:hover .dashboard-chrome-sidebar__scroll{scrollbar-color:#1e82708c transparent}.dashboard-chrome .dashboard-chrome-sidebar:hover .dashboard-chrome-sidebar__scroll::-webkit-scrollbar-thumb{background-color:#1e82708c}.dashboard-chrome .dashboard-chrome-sidebar__scroll::-webkit-scrollbar-thumb:hover{background-color:#1a6e5ebf}.dashboard-chrome-sidebar__resize-handle{cursor:col-resize;pointer-events:auto;touch-action:none;z-index:100;background:0 0;width:16px;height:100%;position:absolute;top:0;right:-6px}.dashboard-chrome-sidebar__resize-handle:after{content:"";pointer-events:none;opacity:.25;background:#1a1a1a;width:4px;transition:opacity .15s;position:absolute;top:0;bottom:0;right:2px}.dashboard-chrome-sidebar__resize-handle:hover:after{opacity:1}body.dashboard-chrome-sidebar-resizing,body.dashboard-chrome-sidebar-resizing *{cursor:col-resize!important;user-select:none!important}body.dashboard-chrome-sidebar-resizing:before{content:"";cursor:col-resize;z-index:2147483647;position:fixed;inset:0}.dashboard-chrome .sidebar-menu{flex-direction:column;padding-top:.35rem;display:flex}.dashboard-chrome .sidebar-menu-item{color:#fff;background:0 0;border-bottom:1px solid #ffffff1a;align-items:center;gap:.5rem;min-width:0;padding:.8rem 1rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .15s;display:flex;overflow:hidden}.dashboard-chrome .message-unread-badge{color:#fff;background:#e74c3c;border:2px solid #1a1a1a;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;padding:0 .38rem;font-size:.76rem;font-weight:900;line-height:1;display:inline-flex;box-shadow:2px 2px #1a1a1a}.dashboard-chrome .sidebar-menu-item:hover,.dashboard-chrome .sidebar-menu-item.is-active{color:#fff;background:#ffffff1a}.dashboard-chrome .sidebar-menu-item span{white-space:nowrap;text-overflow:clip;min-width:0;overflow:hidden}.dashboard-chrome .menu-icon{color:#fff;text-align:center;flex:0 0 1.5rem;width:1.5rem;font-size:1.1rem}.dashboard-chrome .sidebar-category-title{color:#fffc;letter-spacing:.05em;white-space:nowrap;text-overflow:clip;margin-top:1rem;margin-bottom:.25rem;padding:.25rem .5rem;font-size:.8rem;font-weight:800;display:block;overflow:hidden}@container chrome-sidebar (width<=96px){.sidebar-menu{padding-top:.15rem}.sidebar-category-title{opacity:0;height:0;margin:0;padding:0;overflow:hidden}.sidebar-menu-item{justify-content:center;gap:0;padding:.7rem .25rem}.menu-icon{flex:0 0 1.25rem;width:1.25rem;font-size:1rem}}.dashboard-chrome~.dashboard-shell{min-height:100vh;padding-top:65px;display:block}.dashboard-chrome~.dashboard-shell>.side-nav{display:none}.dashboard-chrome~.dashboard-shell>.main-panel{min-width:0;margin-left:var(--dashboard-chrome-sidebar-width,280px);background-color:#f8f9fa;background-image:radial-gradient(#cbd5e0 1px,#0000 1px);background-size:20px 20px;min-height:calc(100vh - 65px);padding:1.5rem;width:auto!important;max-width:none!important}.dashboard-chrome~.room-shell{min-height:100vh;margin-left:var(--dashboard-chrome-sidebar-width,280px);padding:calc(65px + 1.5rem) 1.5rem 1.5rem}.dashboard-chrome~.room-shell[data-state=ready]{overflow:hidden}.dashboard-chrome~.typing-play-shell,.dashboard-chrome~.tengoku-play-shell{min-height:100vh;margin-left:var(--dashboard-chrome-sidebar-width,280px);padding:calc(65px + 1.5rem) 1.5rem 1.5rem}.dashboard-chrome~.dashboard-shell>.main-panel .topbar,.dashboard-chrome~.dashboard-shell>.main-panel .course-page-header{margin-top:0}.dashboard-chrome~.dashboard-shell .panel,.dashboard-chrome~.dashboard-shell .settings-section,.dashboard-chrome~.dashboard-shell .math-portal-card,.dashboard-chrome~.dashboard-shell .message-panel,.dashboard-chrome~.dashboard-shell .report-form-card{padding:max(1rem,16px)}.dashboard-chrome~.dashboard-shell h1,.dashboard-chrome~.dashboard-shell h2,.dashboard-chrome~.dashboard-shell h3,.dashboard-chrome~.dashboard-shell strong,.dashboard-chrome~.dashboard-shell label,.dashboard-chrome~.dashboard-shell dt,.dashboard-chrome~.dashboard-shell button,.dashboard-chrome~.dashboard-shell .primary-action,.dashboard-chrome~.dashboard-shell .secondary-action,.dashboard-chrome~.dashboard-shell .status-label,.dashboard-chrome~.dashboard-shell .panel-label,.dashboard-chrome~.dashboard-shell .field-label span,.dashboard-chrome~.dashboard-shell .muted strong{font-weight:900}@media (width<=968px){body:has(.dashboard-chrome){overflow-x:clip}body:has(.dashboard-chrome.is-mobile-nav-open),body:has(.dashboard-chrome.is-mobile-sidebar-open){overflow:hidden}.dashboard-chrome .top-navbar{box-shadow:none;background:#48c9b0;border-bottom:4px solid #1a1a1a}.dashboard-chrome .navbar-container{gap:.75rem;padding:.5rem 1rem}.dashboard-chrome .navbar-page-actions{margin-left:auto}.dashboard-chrome .navbar-logo img{height:42px}.dashboard-chrome .navbar-menu{z-index:999;background:#48c9b0;border-bottom:4px solid #1a1a1a;display:none;position:fixed;top:65px;left:0;right:0;box-shadow:0 8px 16px #0000001f}.dashboard-chrome .navbar-menu-inner,.dashboard-chrome .navbar-end{flex-direction:column;align-items:stretch;gap:0}.dashboard-chrome .navbar-menu-inner{padding:.5rem 1rem 1rem}.dashboard-chrome .navbar-item{border-bottom:1px solid #ffffff26;margin-right:0;padding:.75rem .5rem}.dashboard-chrome .navbar-item:last-child{border-bottom:0}.dashboard-chrome.is-mobile-nav-open .navbar-menu{display:block}.dashboard-chrome .dashboard-chrome-menu-btn{background:#9de3d5;border:2px solid #1a1a1a;margin-left:0;display:inline-flex;box-shadow:3px 3px #1a1a1a}.dashboard-sidebar-float-btn{white-space:nowrap;background:#ffffffeb;min-height:48px;display:flex;top:auto;bottom:24px;left:24px}body:has(.dashboard-chrome.is-mobile-sidebar-open) .dashboard-sidebar-float-btn,body:has(.dashboard-chrome.is-mobile-nav-open) .dashboard-sidebar-float-btn{display:none}.dashboard-sidebar-backdrop{z-index:1030;cursor:default;background:#1a1a1a66;border:none;margin:0;padding:0;display:none;position:fixed;inset:65px 0 0}.dashboard-chrome.is-mobile-sidebar-open .dashboard-sidebar-backdrop{display:block}.dashboard-chrome .dashboard-chrome-sidebar{width:min(var(--dashboard-chrome-sidebar-width,280px), calc(100vw - 48px));max-width:min(var(--dashboard-chrome-sidebar-width,280px), calc(100vw - 48px));z-index:1040;opacity:1;pointer-events:none;border:none;border-right:4px solid #1a1a1a;border-radius:0;height:calc(100vh - 65px);max-height:none;transition:transform .2s;top:65px;left:0;right:auto;transform:translate(-100%);box-shadow:4px 0 8px #0003}.dashboard-chrome .dashboard-chrome-sidebar.is-mobile-open{pointer-events:auto;transform:translate(0)}.dashboard-chrome~.dashboard-shell{max-width:100%;padding-top:65px;overflow-x:clip}.dashboard-chrome~.dashboard-shell>.main-panel{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-left:0;padding:1rem}.dashboard-chrome~.dashboard-shell .dashboard-grid,.dashboard-chrome~.dashboard-shell .course-category-grid{grid-template-columns:1fr;min-width:0;max-width:100%}.dashboard-chrome~.dashboard-shell .panel,.dashboard-chrome~.dashboard-shell .neo-card,.dashboard-chrome~.dashboard-shell .course-category-card,.dashboard-chrome~.dashboard-shell .math-portal-card,.dashboard-chrome~.dashboard-shell .message-panel,.dashboard-chrome~.dashboard-shell .report-form-card,.dashboard-chrome~.dashboard-shell .settings-section{min-width:0;max-width:100%}.dashboard-chrome~.room-shell{box-sizing:border-box;max-width:100%;margin-left:0;padding:calc(65px + 1rem) 1rem 1rem}.dashboard-chrome~.typing-play-shell,.dashboard-chrome~.tengoku-play-shell{box-sizing:border-box;min-width:0;max-width:100%;margin-left:0;padding:calc(65px + 1rem) 1rem 1rem}}@media (width<=1024px){.dashboard-legacy-page .legacy-dashboard-content-grid-4col{grid-template-columns:repeat(2,1fr);grid-auto-flow:dense}.dashboard-legacy-page .legacy-dashboard-content-grid-bottom{grid-template-columns:1fr}.dashboard-legacy-page .dashboard-column-1{grid-column:span 1}.dashboard-legacy-page .dashboard-column-2{grid-column:span 2}.dashboard-legacy-page .navbar-menu{z-index:999;background:#48c9b0;border-bottom:4px solid #1a1a1a;display:none;position:fixed;top:65px;left:0;right:0;box-shadow:0 8px 16px #0000001f}.dashboard-legacy-page.is-mobile-nav-open .navbar-menu{display:block}.dashboard-legacy-page .navbar-menu-inner,.dashboard-legacy-page .navbar-end{flex-direction:column;align-items:stretch;gap:0}.dashboard-legacy-page .navbar-menu-inner{padding:.5rem 1rem 1rem}.dashboard-legacy-page .navbar-item{border-bottom:1px solid #ffffff26;margin-right:0;padding:.75rem .5rem}.dashboard-legacy-page .navbar-item:last-child{border-bottom:0}.dashboard-legacy-page .dashboard-mobile-menu-btn{margin-left:auto;display:inline-flex}.dashboard-legacy-page .legacy-dashboard-grid{grid-template-columns:1fr}.dashboard-legacy-page .dashboard-sidebar-float-btn{white-space:nowrap;background:#ffffffeb;min-height:48px;display:flex;top:auto;bottom:24px;left:24px}body.dashboard-legacy-page.is-mobile-sidebar-open,body.dashboard-legacy-page.is-mobile-nav-open{overflow:hidden}body.dashboard-legacy-page.is-mobile-nav-open .dashboard-sidebar-float-btn,body.dashboard-legacy-page.is-mobile-sidebar-open .dashboard-sidebar-float-btn{display:none}.dashboard-legacy-page .dashboard-sidebar-backdrop{z-index:1030;cursor:default;background:#1a1a1a66;border:none;margin:0;padding:0;display:none;position:fixed;inset:65px 0 0}body.dashboard-legacy-page.is-mobile-sidebar-open .dashboard-sidebar-backdrop{display:block}.dashboard-legacy-page .neo-sidebar{top:var(--dashboard-navbar-offset);width:min(var(--dashboard-sidebar-width,280px), calc(100vw - 48px));max-width:min(var(--dashboard-sidebar-width,280px), calc(100vw - 48px));height:calc(100vh - var(--dashboard-navbar-offset));z-index:1040;pointer-events:none;border-bottom:0;border-right:4px solid #1a1a1a;transition:transform .2s;position:fixed;left:0;transform:translate(-100%)}.dashboard-legacy-page .neo-sidebar.is-mobile-open{pointer-events:auto;transform:translate(0)}.dashboard-legacy-page .sidebar-menu{flex-direction:column;display:flex}.dashboard-legacy-page .dashboard-main{padding:1.25rem}.dashboard-legacy-page .legacy-dashboard-content-grid-4col,.dashboard-legacy-page .legacy-dashboard-content-grid-bottom{gap:.85rem;margin-bottom:.85rem}.dashboard-legacy-page .legacy-avatar-stage{height:420px}}@media (width<=640px){.dashboard-sidebar-float-btn{min-height:44px;padding:.55rem .75rem;font-size:.85rem;bottom:16px;left:16px}.dashboard-legacy-page{--neo-radius:12px;--neo-shadow:4px 4px 0px #1a1a1a;--neo-shadow-hover:5px 5px 0px #1a1a1a}.dashboard-legacy-page .navbar-container{padding:.4rem .75rem}.dashboard-legacy-page .navbar-logo img{height:38px}.dashboard-legacy-page .dashboard-mobile-menu-btn{width:44px;height:44px}.dashboard-legacy-page .navbar-item{padding:.9rem .5rem;font-size:.95rem}.dashboard-legacy-page .sidebar-menu-item{padding:.9rem 1rem;font-size:.95rem}.dashboard-legacy-page .dashboard-sidebar-float-btn{min-height:44px;padding:.55rem .75rem;font-size:.85rem;bottom:16px;left:16px}.dashboard-legacy-page .dashboard-main{background-size:16px 16px;padding:.75rem}.dashboard-legacy-page .legacy-dashboard-content-grid-4col,.dashboard-legacy-page .legacy-dashboard-content-grid-bottom{grid-template-columns:1fr;gap:.75rem;margin-bottom:.75rem}.dashboard-legacy-page .dashboard-column-1,.dashboard-legacy-page .dashboard-column-2{grid-column:span 1}.dashboard-legacy-page .neo-card-header{padding:.6rem .75rem}.dashboard-legacy-page .neo-card-body{padding:.75rem}.dashboard-legacy-page .section-label{letter-spacing:.08em;border-width:3px;margin-bottom:1rem;padding:.4rem 1rem;font-size:.85rem;box-shadow:3px 3px #1a1a1a}.dashboard-legacy-page .legacy-card-title{font-size:.92rem}.dashboard-legacy-page .legacy-card-row{flex-wrap:wrap;row-gap:.4rem}.dashboard-legacy-page .legacy-user-level{font-size:1.6rem}.dashboard-legacy-page .legacy-title-badge{padding:.4rem .75rem;font-size:.8rem}.dashboard-legacy-page .skill-list{gap:.6rem}.dashboard-legacy-page .skill-item{padding:.6rem .75rem;font-size:.9rem}.dashboard-legacy-page .skill-value{font-size:1.1rem}.dashboard-legacy-page .legacy-avatar-stage{height:300px}.dashboard-legacy-page .legacy-avatar-fallback{font-size:5rem}.dashboard-legacy-page .btn-ultra{padding:.7rem 1rem;font-size:.95rem}.dashboard-legacy-page .legacy-avatar-adjust-btn,.dashboard-legacy-page .legacy-avatar-edit{padding:5px 10px;font-size:.8rem}.dashboard-legacy-page .legacy-avatar-reset-btn{padding:4px 8px;font-size:.75rem}.dashboard-legacy-page .legacy-shop-link .btn-ultra{width:100%;display:block}.dashboard-legacy-page .legacy-mini-button{padding:.5rem .75rem;font-size:.78rem}.dashboard-legacy-page .coin-card span:last-child{font-size:1.1rem}.dashboard-legacy-page .legacy-stat-row{margin-bottom:.6rem;padding:.7rem .8rem}.dashboard-legacy-page .legacy-stat-row span{font-size:.9rem}.dashboard-legacy-page .legacy-stat-row strong{font-size:1.3rem}.dashboard-legacy-page .notification-item-row{flex-direction:column;align-items:stretch;padding:.6rem .7rem}.dashboard-legacy-page .notification-item-date{align-self:flex-end}.dashboard-legacy-page .notification-item-title{font-size:.9rem}.dashboard-legacy-page .notification-item-body{font-size:.82rem}.dashboard-legacy-page .progress-item,.dashboard-legacy-page .work-item,.dashboard-legacy-page .activity-list li,.dashboard-legacy-page .legacy-simple-list li,.dashboard-legacy-page .empty-state{padding:.6rem .7rem;font-size:.92rem}.notification-settings .toggle-switch{flex-direction:column;align-items:flex-start}.notification-settings .switch{align-self:flex-end}}@media (hover:none){.dashboard-legacy-page .neo-card:hover{box-shadow:var(--neo-shadow);transform:none}.dashboard-legacy-page a.notification-item-row:hover{box-shadow:none;transform:none}}.dashboard-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.side-nav{border-right:1px solid var(--line);background:#fff;height:100vh;padding:22px 18px;position:sticky;top:0}.brand{min-height:44px;color:var(--ink);align-items:center;gap:10px;margin-bottom:24px;font-weight:850;text-decoration:none;display:flex}.brand-mark{color:#fff;background:var(--blue);border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.side-nav nav{gap:6px;display:grid}.side-nav nav a{color:#364152;border-radius:8px;align-items:center;min-height:42px;padding:0 12px;font-weight:750;text-decoration:none;display:flex}.side-nav nav a.active,.side-nav nav a:hover{color:var(--ink);background:#eaf1ff}.main-panel{min-width:0;padding:28px clamp(18px,4vw,42px) 48px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.eyebrow,.panel-label{color:var(--blue);margin:0 0 6px;font-size:.76rem;font-weight:900}h1,h2{margin:0;line-height:1.15}h1{font-size:1.9rem}h2{font-size:1.05rem}.topbar-actions,.panel-header,.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.icon-button,.primary-action{border-radius:8px;justify-content:center;align-items:center;min-height:40px;font-weight:850;text-decoration:none;display:inline-flex}.icon-button{border:1px solid var(--line);background:#fff;width:40px}.primary-action{color:#fff;background:var(--blue);padding:0 16px}.notice{border:1px solid var(--line);background:#fff;border-radius:8px;margin:18px 0;padding:16px 18px;font-weight:750}.status-panel{justify-content:space-between;align-items:center;gap:16px;display:flex}.status-copy-block{min-width:0}.status-label{color:var(--blue);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.76rem;font-weight:900}.status-copy{color:var(--ink);margin:0;font-weight:750}.status-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.secondary-action,.text-link{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-weight:850;text-decoration:none;display:inline-flex}.text-link{min-height:36px;color:var(--blue);border:0;justify-content:flex-start;padding:0}.dashboard-grid{grid-template-columns:minmax(260px,.8fr) minmax(360px,1.25fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);min-width:0;box-shadow:var(--shadow);border-radius:8px;padding:18px}.profile-panel{grid-row:span 2}.progress-panel{grid-column:span 2}.profile-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.avatar-preview{border:1px solid var(--line);color:#fff;background:linear-gradient(135deg, var(--blue), var(--green));border-radius:8px;place-items:center;width:72px;height:72px;font-size:1.7rem;font-weight:950;display:grid}.muted,.empty{color:var(--muted)}.metric-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.metric-list div{border:1px solid var(--line);background:#f9fafc;border-radius:8px;padding:12px}.metric-list dt{color:var(--muted);font-size:.78rem;font-weight:800}.metric-list dd{margin:5px 0 0;font-size:1.25rem;font-weight:900}.progress-list,.work-list{gap:10px;margin-top:14px;display:grid}.progress-item,.work-item{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;padding:13px;text-decoration:none;display:block}.progress-item strong,.work-item strong,.simple-list a{overflow-wrap:anywhere}.empty-state{border:1px dashed var(--line);background:#fff;border-radius:8px;gap:8px;padding:12px;display:grid}.progress-track{background:#e7ebf2;border-radius:999px;height:9px;margin:10px 0 7px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);height:100%;display:block}.activity-list,.simple-list{gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.activity-list li,.simple-list li{border-bottom:1px solid var(--line);gap:3px;padding:11px 0;display:grid}.activity-list span{color:var(--muted);font-size:.9rem}.work-item{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:12px;display:grid}.work-thumb{aspect-ratio:16/10;color:#fff;background:#263746;border-radius:8px;place-items:center;font-size:.75rem;font-weight:900;display:grid}.skeleton-block{background:linear-gradient(90deg,#edf1f7 25%,#e2e8f2 37%,#edf1f7 63%) 0 0/400% 100%;border-radius:8px;animation:1.6s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-block{background:#e7ebf2;animation:none}}.skeleton-text{height:.95rem;margin:.4rem 0}.skeleton-text--sm{width:40%}.skeleton-text--md{width:70%}.skeleton-text--lg{width:90%}.course-list-skeleton{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;display:grid}.course-list-skeleton-card{border:1px solid var(--line,#d8dee9);background:#fff;border-radius:12px;overflow:hidden}.course-list-skeleton-card .skeleton-block{border-radius:0}.course-list-skeleton-card-image{aspect-ratio:16/9;width:100%}.course-list-skeleton-card-body{padding:14px 16px}.detail-skeleton{gap:1.2rem;display:grid}.detail-skeleton-heading{width:55%;height:2.1rem}.detail-skeleton-line{height:1rem}.detail-skeleton-block{width:100%;height:220px}.detail-skeleton-row{width:100%;height:3.2rem}.settings-main{width:100%;max-width:800px;margin:0 auto}.settings-header{text-align:center;margin-bottom:3rem}.settings-header p{color:#444;margin:0;font-weight:750}.settings-header-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:1.25rem;display:flex}.settings-main .ultra-headline{color:#1a1a1a;text-transform:uppercase;margin:0 0 1rem;font-size:clamp(2rem,5vw,3rem);font-weight:900;line-height:1.1}.settings-main .ultra-headline span{color:#fff;background:#a29bfe;border:3px solid #1a1a1a;padding:.2rem .8rem;display:inline-block;transform:rotate(-1deg);box-shadow:4px 4px #1a1a1a}.settings-stack{gap:0;max-width:800px;margin:0 auto;display:grid}.profile-edit-stack{max-width:720px}.profile-image-field{gap:1rem;display:grid}.profile-image-preview-wrap{justify-content:center;display:flex}.profile-image-preview{object-fit:cover;background:#f5f5f5;border:3px solid #1a1a1a;border-radius:50%;width:120px;height:120px}.settings-section>.profile-image-field{margin-bottom:1.5rem}.profile-message-input{resize:vertical;min-height:120px}.settings-section{background:#fff;border:3px solid #1a1a1a;border-radius:16px;margin-bottom:2rem;padding:2rem;transition:box-shadow .2s,transform .2s;box-shadow:6px 6px #1a1a1a}.settings-section:hover{transform:translate(-2px,-2px);box-shadow:8px 8px #1a1a1a}.settings-section-title{border-bottom:2px solid #f0f0f0;align-items:center;gap:8px;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:900;display:flex}.settings-section-title i{color:#6c5ce7}.account-form{gap:16px;display:grid}.billing-plan-card{background:#f8fbff;border:2px solid #1a1a1a;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.billing-plan-copy{gap:6px;min-width:0;display:grid}.billing-plan-label{color:#667085;font-size:.78rem;font-weight:850}.billing-plan-name{border:1px solid var(--line);width:fit-content;max-width:100%;color:var(--ink);overflow-wrap:anywhere;background:#fff;border-radius:999px;padding:4px 10px;font-size:1rem;font-weight:900}.billing-plan-limit{color:#475467;margin:0;font-weight:750}.billing-upgrade-chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.billing-upgrade-chips span{color:#155f96;background:#eef8ff;border:1px solid #b9d8f0;border-radius:999px;align-items:center;min-height:26px;padding:4px 9px;font-size:.76rem;font-weight:900;line-height:1.2;display:inline-flex}.billing-section .form-banner{margin-top:12px}.billing-service-list{gap:12px;margin-top:12px;display:grid}.billing-service-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.billing-service-copy{gap:6px;min-width:0;display:grid}.billing-service-status{border:1px solid var(--line);color:#475467;overflow-wrap:anywhere;background:#f2f4f7;border-radius:999px;width:fit-content;max-width:100%;padding:4px 9px;font-size:.9rem;font-weight:900}.billing-service-status[data-state=active]{color:#176a3a;background:#e8f7ef;border-color:#1f9d55}.billing-service-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.billing-service-actions .primary-action,.billing-service-actions .secondary-action{white-space:nowrap;min-height:42px}.field-label{color:var(--ink);gap:7px;font-size:.92rem;font-weight:850;display:grid}.input-box{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:12px 13px}.input-box:focus{border-color:var(--blue);outline:2px solid #2f6fed2e}.form-actions,.settings-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.settings-actions{justify-content:flex-start;margin-top:14px}.form-banner{border:1px solid #0000;border-radius:8px;margin:0;padding:12px 14px;font-weight:750}.form-banner[data-kind=success]{color:var(--green);background:#00a6761a;border-color:#00a67647}.form-banner[data-kind=error]{color:var(--red);background:#e85d751a;border-color:#e85d7547}.notification-settings{gap:12px;display:grid}.notification-preference-banner{margin:0}.toggle-switch{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:1rem;display:flex}.toggle-switch span{gap:3px;display:grid}.toggle-label{font-weight:700}.toggle-desc{color:#666;margin-top:.2rem;font-size:.85rem}.switch{flex:none;width:50px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#ccc;border:2px solid #1a1a1a;border-radius:34px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border:2px solid #1a1a1a;border-radius:50%;width:16px;height:16px;transition:all .4s;position:absolute;bottom:3px;left:2px}.switch input:checked+.slider{background-color:#00b894}.switch input:checked+.slider:before{transform:translate(24px)}.friend-main{width:100%;max-width:1200px}.friend-topbar{text-align:center;background:#f8bbd0;border:3px solid #1a1a1a;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:6px 6px #1a1a1a}.friend-heading-row{justify-content:center;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.friend-eyebrow{color:#fff;letter-spacing:.12em;background:#ec407a;border:3px solid #1a1a1a;border-radius:999px;margin:0;padding:.35rem .9rem;font-size:.76rem;display:inline-block}.friend-topbar h1{margin:0;font-size:1.8rem;font-weight:900}.friend-subtitle{color:#666;margin:0 0 1.5rem;font-weight:800}.friend-content{display:block}.friend-section,#friends-panel{background:#fff;border:3px solid #1a1a1a;border-radius:16px;min-width:0;box-shadow:6px 6px #1a1a1a}.friend-section{margin-bottom:2rem}#received-panel{background:#fff3e0;border-color:#ffb74d}#received-panel .panel-header{background:#ffe0b2;border-bottom:2px solid #ffb74d;margin:calc(-1*max(1rem,16px)) calc(-1*max(1rem,16px)) 1rem;padding:1rem max(1rem,16px)}#received-panel .panel-label,#received-panel h2{color:#e65100}#sent-panel{background:#e0f7fa;border-color:#4dd0e1}#sent-panel .panel-header{background:#b2ebf2;border-bottom:2px solid #4dd0e1;margin:calc(-1*max(1rem,16px)) calc(-1*max(1rem,16px)) 1rem;padding:1rem max(1rem,16px)}#sent-panel .panel-label,#sent-panel h2{color:#006064}.friend-grid,#friends-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;display:grid}.friend-card{text-align:center;background:#fff;border:3px solid #1a1a1a;border-radius:16px;justify-items:center;gap:10px;min-width:0;padding:1rem;display:grid;overflow:hidden;box-shadow:4px 4px #1a1a1a}.friend-card--friend{padding:0}.friend-card--friend>img,.friend-card--friend>a.friend-name,.friend-card--friend>p.friend-meta{margin-left:1rem;margin-right:1rem}.friend-card--friend>img{margin-top:1rem}.friend-avatar{object-fit:cover;background:#f2f2f2;border:3px solid #1a1a1a;border-radius:50%;width:80px;height:80px}.friend-name{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;font-weight:950;overflow:hidden}.friend-name-link{text-decoration:none}.friend-name-link:hover{text-decoration:underline}.friend-meta{color:#666;margin:0;font-size:.8rem;font-weight:800}.friend-card--friend .friend-meta{background:#eee;border:2px solid #1a1a1a;border-radius:999px;margin-bottom:1rem;padding:.2rem .6rem;display:inline-block}.friend-actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.friend-card--friend .friend-actions{background:#f9f9f9;border-top:2px solid #1a1a1a;padding:1rem}.friend-actions .primary-action,.friend-actions .secondary-action{flex:110px;justify-content:center;min-height:40px;padding:9px 12px}.friend-remove{color:#777;cursor:pointer;font:inherit;background:0 0;border:0;font-size:.78rem}.friend-remove:hover{color:var(--red)}.qualifications-main{width:100%;max-width:1200px}.qualifications-hero,.qualifications-summary,.qualification-category{border:3px solid #1a1a1a;border-radius:16px;box-shadow:6px 6px #1a1a1a}.qualifications-hero{background:#d3def1;margin-bottom:.75rem;padding:1.15rem 1.25rem}.qualifications-hero-row,.qualifications-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.qualifications-hero-title{align-items:center;gap:1rem;min-width:0;display:flex}.qualifications-hero-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.5rem;display:flex}.qualifications-hero .section-label{background:var(--neo-blue,#667eea);color:#fff;border:3px solid #1a1a1a;border-radius:999px;flex:none;margin:0;padding:.35rem .85rem;font-size:.82rem;font-weight:900;line-height:1;box-shadow:3px 3px #1a1a1a}.qualifications-hero h1{color:#1a1a1a;margin:0 0 .25rem;font-size:clamp(1.45rem,2.6vw,2rem);font-weight:900;line-height:1.15}.qualifications-hero p{color:#666;margin:0;font-size:.9rem;font-weight:800}.qualifications-back-link,.qualifications-billing-action{flex:none;gap:.45rem;min-height:40px;padding:.55rem .9rem}.qualifications-summary{background:#dfd;margin-bottom:.75rem;padding:.75rem}.qualifications-summary h2{margin:0;font-size:1.1rem;font-weight:900}.qualifications-badges{flex-wrap:wrap;gap:.5rem;display:flex}.neo-badge{color:#1a1a1a;background:#fff;border:2px solid #1a1a1a;border-radius:6px;justify-content:center;align-items:center;min-height:28px;padding:.25rem .75rem;font-size:.85rem;font-weight:900;display:inline-flex}.neo-badge-green{color:#fff;background:#27ae60}.qualifications-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:.75rem;display:grid}.qualification-category{min-width:0;overflow:hidden}.qualification-category-header{color:#1a1a1a;cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0;border:0;border-bottom:2px solid #1a1a1a;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.qualification-category-title{align-items:center;gap:.5rem;min-width:0;display:flex}.qualification-category-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:900;overflow:hidden}.qualification-arrow{flex:none;font-size:.9rem;transition:transform .2s}.qualification-category-header[aria-expanded=true] .qualification-arrow{transform:rotate(90deg)}.qualification-count-badge{background:#fff;border:1px solid #1a1a1a;border-radius:4px;flex:none;padding:.15rem .5rem;font-size:.75rem;font-weight:900}.qualification-category-body{padding:.75rem}.qualification-card{background:#f9f9f9;border:2px solid #1a1a1a;border-radius:8px;margin-bottom:.5rem;padding:.75rem}.qualification-card[data-obtained=true]{background:#fff}.qualification-card-body{align-items:flex-start;gap:.75rem;display:flex}.qualification-image-wrap{background:#f0f0f0;border:2px solid #1a1a1a;border-radius:8px;flex:none;width:60px;height:60px;position:relative;overflow:hidden}.qualification-image-wrap img{object-fit:cover;width:100%;height:100%}.qualification-obtained-mark{color:#fff;text-shadow:1px 1px 2px #00000080;background:#27ae604d;place-items:center;font-size:1.5rem;font-weight:900;display:grid;position:absolute;inset:0}.qualification-info{min-width:0}.qualification-info h3{overflow-wrap:anywhere;margin:0 0 .25rem;font-size:.95rem;font-weight:900}.qualification-info p{color:#666;margin:0 0 .25rem;font-size:.8rem;font-weight:750}.qualification-info p:last-child{margin-bottom:0}.qualification-card-action{text-align:center;margin-top:.5rem}.qualification-card-action p{color:#666;margin:0 0 .5rem;font-size:.75rem;font-weight:800}.qualification-card-action .primary-action{min-height:32px;padding:.3rem .75rem;font-size:.75rem;text-decoration:none;display:inline-flex}.qualification-auto{color:#999;font-size:.75rem;font-weight:800}.message-compose-main,.messages-main-panel{width:100%;max-width:1180px}.message-compose-card{background:#fff;border:3px solid #1a1a1a;border-radius:16px;max-width:720px;margin:0 auto;overflow:hidden;box-shadow:6px 6px #1a1a1a}.message-compose-header{background:#e8f5e9;border-bottom:3px solid #1a1a1a;padding:18px 22px}.message-compose-card form{padding:22px}.message-compose-textarea{resize:vertical;min-height:12rem}.messages-layout{background:#fff;border:3px solid #1a1a1a;border-radius:16px;grid-template-columns:340px minmax(0,1fr);min-height:min(720px,100vh - 150px);display:grid;overflow:hidden;box-shadow:6px 6px #1a1a1a}.messages-sidebar{background:#f8f9fa;border-right:3px solid #1a1a1a;min-width:0}.messages-header{background:#fff;border-bottom:2px solid #1a1a1a;min-height:64px;padding:16px}.messages-header h2{margin:0;font-size:1.1rem;font-weight:950}.thread-list{max-height:calc(100vh - 230px);overflow:auto}.thread-item{width:100%;min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #e5e7eb;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:14px;display:grid}.thread-item:hover,.thread-item.active{background:#fff7e6}.thread-item.unread{background:#e3f2fd}.thread-avatar-wrap{width:48px;height:48px;position:relative}.thread-avatar{object-fit:cover;border:2px solid #1a1a1a;border-radius:50%;width:48px;height:48px}.thread-friend-badge{color:#fff;background:#ff9800;border:1px solid #fff;border-radius:50%;place-items:center;width:19px;height:19px;font-size:.68rem;font-weight:900;display:grid;position:absolute;bottom:-3px;right:-3px}.thread-content,.thread-name,.thread-preview{min-width:0}.thread-content{gap:5px;display:grid}.thread-name{justify-content:space-between;gap:8px;font-weight:900;display:flex}.thread-name span:first-child,.thread-preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thread-time{color:var(--muted);flex:none;font-size:.78rem;font-weight:800}.thread-preview{color:var(--muted);font-size:.86rem;display:block}.messages-conversation{background:#fff;min-width:0}.conversation-shell{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:min(720px,100vh - 150px);display:grid}.conversation-header{align-items:center;gap:12px;display:flex}.conversation-user{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.conversation-user img{object-fit:cover;border:2px solid #1a1a1a;border-radius:50%;width:34px;height:34px}.conversation-area{background:#f5f7fb;align-content:end;gap:12px;min-height:0;padding:18px;display:grid;overflow:auto}.message-bubble-container{align-items:flex-end;gap:8px;display:flex}.message-bubble-container.own{justify-content:flex-end}.message-bubble-container.other{justify-content:flex-start}.message-avatar{object-fit:cover;border:2px solid #1a1a1a;border-radius:50%;width:34px;height:34px}.message-content-wrapper{gap:4px;max-width:min(560px,76%);display:grid}.message-bubble{background:#fff;border:2px solid #1a1a1a;border-radius:14px;padding:11px 13px;box-shadow:3px 3px #1a1a1a}.message-bubble-container.own .message-bubble{background:#d7ecff}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.message-meta{color:var(--muted);font-size:.74rem;font-weight:750}.message-meta a{color:inherit;font-weight:900;text-decoration:none}.message-input-area{background:#fff;border-top:2px solid #1a1a1a;grid-template-columns:minmax(0,1fr) 72px;gap:10px;padding:14px;display:grid}.message-input{min-height:44px;max-height:140px;font:inherit;resize:vertical;border:2px solid #1a1a1a;border-radius:12px;padding:11px 12px}.send-btn{background:var(--blue);color:#fff;font:inherit;cursor:pointer;border:3px solid #1a1a1a;border-radius:12px;font-weight:950;box-shadow:3px 3px #1a1a1a}.send-btn:disabled{opacity:.55;cursor:not-allowed}.message-empty-state{min-height:220px;color:var(--muted);text-align:center;place-items:center;padding:28px;font-weight:850;display:grid}.message-back-button{display:none}.reports-main{width:100%;max-width:1200px}.reports-hero{text-align:center;background:#c8e6c9;border:3px solid #1a1a1a;border-radius:16px;margin-bottom:22px;padding:24px;box-shadow:6px 6px #1a1a1a}.reports-title-row{justify-content:center;align-items:center;gap:14px;margin-bottom:8px;display:flex}.reports-label{color:#fff;background:#66bb6a;border:2px solid #1a1a1a;border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:950}.reports-hero p{color:#555;margin:0 0 18px;font-weight:850}.reports-filter-row,.reports-search-form,.reports-pagination,.report-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.report-filter-button{color:#333;min-height:42px;font:inherit;cursor:pointer;background:#fff;border:2px solid #1a1a1a;border-radius:10px;padding:0 18px;font-weight:900}.report-filter-button.active{border-width:4px}.reports-search-form{grid-template-columns:minmax(0,1fr) auto auto;max-width:680px;margin:16px auto 8px;display:grid}.reports-search-input{min-width:0;font:inherit;border:2px solid #1a1a1a;border-radius:8px;padding:11px 12px;font-weight:800}.reports-search-help{color:#666;margin:0;font-size:.88rem}.reports-list{gap:28px;display:grid}.report-date-group h2{color:#555;border-bottom:2px solid #e8eaef;margin:0 0 14px;padding-bottom:8px;font-size:1.05rem;font-weight:950}.reports-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.report-card{color:inherit;border:3px solid #1a1a1a;border-radius:16px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:block;overflow:hidden;box-shadow:5px 5px #1a1a1a}.report-card:hover{transform:translate(-2px,-2px);box-shadow:7px 7px #1a1a1a}.report-card-head{align-items:center;gap:10px;padding:12px;display:flex}.report-card-head img{object-fit:cover;border:1px solid #ddd;border-radius:50%;width:34px;height:34px}.report-thumbnail{border-top:1px solid #eee;border-bottom:1px solid #eee;height:150px;overflow:hidden}.report-thumbnail img{object-fit:cover;width:100%;height:100%}.report-card-body{gap:12px;padding:16px;display:grid}.report-card-section strong{color:#777;margin-bottom:4px;font-size:.8rem;display:block}.report-card-section p{-webkit-line-clamp:3;color:#333;-webkit-box-orient:vertical;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.report-next-section{border-top:1px dashed #d6d6d6;padding-top:12px}.reports-pagination{margin:24px 0 8px}.reports-pagination-info{text-align:center;min-width:7rem;font-weight:950}.report-detail-card,.report-form-card{background:#e0f7fa;border:3px solid #1a1a1a;border-radius:16px;max-width:800px;margin:0 auto;overflow:hidden;box-shadow:6px 6px #1a1a1a}.report-form-card{background:#fff}.report-detail-head,.report-form-head{background:#ffffff80;border-bottom:3px solid #1a1a1a;justify-content:space-between;align-items:center;gap:16px;padding:22px;display:flex}.report-form-head{background:#fff9c4}.report-detail-body,.report-form{gap:18px;padding:26px;display:grid}.report-detail-image{border:3px solid #1a1a1a;border-radius:8px;overflow:hidden}.report-detail-image img{width:100%;display:block}.report-info-section h2{color:var(--blue);margin-bottom:6px;font-size:1.25rem}.report-info-section p,.report-code-section pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:1.05rem;line-height:1.65}.report-code-section pre{background:#f5f5f5;border-radius:8px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.report-coma-input{max-width:120px}.report-code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.danger-action{color:#b42318;border-color:#f3b8b2}.avatar-main,.gacha-main,.shop-main{width:100%;max-width:1200px}.avatar-hero{background:#e3f2fd;border:3px solid #1a1a1a;border-radius:16px;margin-bottom:22px;padding:24px;box-shadow:6px 6px #1a1a1a}.avatar-hero p:last-child,.shop-header-content p{color:#485466;margin:8px 0 0;font-weight:850}.avatar-category-row,.shop-tabs{flex-wrap:wrap;gap:10px;margin:0 0 22px;display:flex}.shop-corner-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 22px;display:grid}.shop-corner-selector[hidden]{display:none}.shop-corner-button{color:#1a1a1a;cursor:pointer;min-height:150px;font:inherit;text-align:left;background:#fff;border:3px solid #1a1a1a;border-radius:16px;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:16px;padding:16px;display:grid;box-shadow:5px 5px #1a1a1a}.shop-corner-button.active{outline-offset:2px;background:#fff8e1;outline:3px solid #ffd166;transform:translate(2px,2px);box-shadow:3px 3px #1a1a1a}.shop-corner-image{aspect-ratio:1;background:#f3f7fb;border:2px solid #1a1a1a;border-radius:14px;place-items:center;display:grid;overflow:hidden}.shop-corner-image img{object-fit:cover;width:100%;height:100%;display:block}.shop-corner-button[data-shop-corner=stickman] .shop-corner-image img{object-fit:contain;place-self:center;width:calc(100% - 36px);height:calc(100% - 36px)}.shop-corner-copy{gap:8px;min-width:0;display:grid}.shop-corner-copy strong{font-size:1.2rem;font-weight:950;line-height:1.25}.shop-corner-copy span{color:#485466;font-weight:850;line-height:1.55}.avatar-category-button,.shop-tab{color:#1a1a1a;cursor:pointer;min-height:42px;font:inherit;background:#fff;border:2px solid #1a1a1a;border-radius:10px;padding:0 16px;font-weight:900;box-shadow:3px 3px #1a1a1a}.avatar-category-button.active,.shop-tab.active{background:#ffd166;transform:translate(2px,2px);box-shadow:1px 1px #1a1a1a}.avatar-grid,.shop-grid,.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.avatar-card,.shop-item-card,.inventory-item-card,.gacha-card{background:#fff;border:3px solid #1a1a1a;border-radius:16px;min-width:0;box-shadow:5px 5px #1a1a1a}.avatar-card,.shop-item-card,.inventory-item-card{text-align:center;gap:12px;padding:18px;display:grid;position:relative}.avatar-card h2,.shop-item-card h2,.inventory-item-card h3{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:950;overflow:hidden}.avatar-image,.shop-item-image,.inventory-image{aspect-ratio:1;color:var(--muted);background:#f3f7fb;border:2px solid #1a1a1a;border-radius:14px;place-items:center;font-weight:900;display:grid;overflow:hidden}.avatar-image img,.shop-item-image img,.inventory-image img{object-fit:cover;width:100%;height:100%;display:block}.avatar-card.is-equipped{outline:3px solid var(--green);outline-offset:2px;background:linear-gradient(#fff9db 0%,#ffd166 48%,#fff 100%);border-width:4px;box-shadow:8px 8px #1a1a1a}.avatar-card.is-equipped .avatar-image{background:#fff;border-width:3px}.avatar-card.is-owned{background:#eef8ef}.avatar-card.is-purchasable{background:#fff}.avatar-card.is-locked{background:#f3f5f8}.avatar-state-badge{z-index:1;text-overflow:ellipsis;white-space:nowrap;border:2px solid #1a1a1a;border-radius:8px;max-width:calc(100% - 20px);min-height:26px;padding:0 10px;font-size:.78rem;font-weight:950;line-height:1.2;position:absolute;top:10px;right:10px;overflow:hidden;box-shadow:2px 2px #1a1a1a}.avatar-state-badge--equipped{background:var(--green);color:#fff}.avatar-state-badge--owned{color:#14532d;background:#d7f0da}.avatar-state-badge--unowned{color:#7a5c00;background:#fff8e1}.avatar-state-badge--locked{color:#5c6778;background:#e8ecf0}.avatar-action-button{width:100%;min-height:48px;font:inherit;cursor:pointer;border:3px solid #1a1a1a;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 12px;font-weight:950;line-height:1.2;display:flex;box-shadow:4px 4px #1a1a1a}.avatar-action-button--equipped{background:var(--green);color:#fff;cursor:default;box-shadow:5px 5px #1a1a1a}.avatar-action-button--equipped:disabled{opacity:1}.avatar-action-button--equip{color:#fff;background:var(--blue);min-height:44px;padding:0 16px}.avatar-action-button--buy{color:#1a1a1a;background:#f39c12}.avatar-buy-label{font-size:.95rem}.avatar-buy-price{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.82rem;font-weight:900;overflow:hidden}.avatar-action-button--locked{color:#5c6778;cursor:not-allowed;background:#e8ecf0;box-shadow:2px 2px #1a1a1a}.avatar-action-button--locked:disabled{opacity:.72}.avatar-action-button--equip:active:not(:disabled),.avatar-action-button--buy:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #1a1a1a}.shop-item-card .primary-action:disabled,.inventory-item-card .primary-action:disabled,.gacha-roll-button:disabled{opacity:.58;cursor:not-allowed}.gacha-layout{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);align-items:start;gap:20px;display:grid}.gacha-card{padding:22px}.gacha-card h2{margin-bottom:12px;font-size:1.25rem;font-weight:950}.coin-display,.shop-price{color:#364152;margin:0;font-weight:900}.coin-display strong,.shop-price{color:#b7791f}.gacha-roll-button{color:#fff;cursor:pointer;background:#ff6b6b;border:3px solid #1a1a1a;border-radius:14px;width:100%;min-height:54px;margin-top:16px;font-size:1.05rem;box-shadow:4px 4px #1a1a1a}.gacha-result-card{background:#fff9c4;border:3px solid #1a1a1a;border-radius:14px;gap:8px;margin-top:18px;padding:16px;display:grid}.gacha-result-card strong{font-size:1.2rem}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.inventory-item-card{border-top-width:8px}.quantity-badge{background:#fff;border:2px solid #1a1a1a;border-radius:999px;min-width:34px;padding:4px 8px;font-weight:950;position:absolute;top:10px;right:10px}.item-rarity{margin:0;font-weight:950}.shop-header-panel{background:#fff8e1;border:3px solid #1a1a1a;border-radius:18px;margin-bottom:22px;overflow:hidden;box-shadow:6px 6px #1a1a1a}.shop-header-awning{background:repeating-linear-gradient(90deg,#ef476f 0 44px,#ef476f 44px 88px,#fff 88px 132px,#fff 132px 176px);border-bottom:3px solid #1a1a1a;height:28px}.shop-header-content{justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.shop-coin-board{text-align:center;background:#fff;border:3px solid #1a1a1a;border-radius:14px;min-width:140px;padding:14px 18px;display:grid;box-shadow:4px 4px #1a1a1a}.shop-coin-board span{color:var(--muted);font-size:.78rem;font-weight:950}.shop-coin-board strong{color:#b7791f;font-size:1.7rem;font-weight:950}.shop-shelf{background:#fff;border:3px solid #1a1a1a;border-radius:16px;padding:18px;box-shadow:6px 6px #1a1a1a}.shop-shelf+.shop-shelf{margin-top:22px}.shop-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.shop-section-head h2{margin:2px 0 0;font-size:1.35rem;font-weight:950}.shop-section-head p:last-child{color:#485466;margin:6px 0 0;font-weight:850;line-height:1.55}.shop-item-card.owned{background:#eef8ef}.shop-quest-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.shop-quest-item-card{text-align:left}.shop-quest-item-image{aspect-ratio:4/3}.shop-quest-item-image img[src*="/weapons/"],.shop-quest-item-image img[src*="/projectiles/"],.shop-quest-item-image img[src*="/castle/"]{object-fit:contain;place-self:center;width:auto;max-width:calc(100% - 36px);height:calc(100% - 36px)}.shop-quest-item-image img[src*="/weapons/"]{transform:translate(-18%,18%)}.shop-quest-item-copy{gap:8px;min-width:0;display:grid}.shop-quest-item-copy h2{white-space:normal}.shop-quest-item-effect,.shop-quest-item-description,.shop-quest-item-status{color:#485466;margin:0;font-weight:850;line-height:1.5}.shop-quest-item-effect{color:#1a1a1a;font-weight:950}.shop-quest-item-meta{flex-wrap:wrap;gap:8px;display:flex}.shop-quest-item-meta span{background:#fff8e1;border:2px solid #1a1a1a;border-radius:8px;min-height:28px;padding:4px 8px;font-size:.84rem;font-weight:950}.shop-quest-item-meta .shop-price{color:#b7791f;margin:0}.shop-quest-item-status{min-height:1.5em;font-size:.9rem}.shop-inline-alert{color:#485466;min-height:1.5em;margin-top:14px;font-weight:900;line-height:1.5}.shop-inline-alert[data-kind=error]{color:#c0392b}.shop-inline-alert[data-kind=success]{color:#14532d}.shop-inline-alert[data-kind=warning],.shop-inline-alert[data-kind=auth]{color:#7a5c00}.purchase-success-modal-backdrop{z-index:2000;background:#14181f8c;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.purchase-success-modal-backdrop[hidden]{display:none}.purchase-success-modal{background:#fff8e1;border:3px solid #1a1a1a;border-radius:16px;width:min(100%,460px);max-width:460px;padding:24px;box-shadow:8px 8px #1a1a1a}.purchase-success-modal__head{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.purchase-success-modal__close{color:#364152;cursor:pointer;background:0 0;border:0;margin:-4px -4px 0 0;padding:4px;font-size:1.5rem;line-height:1}.purchase-success-modal h2{margin:4px 0 10px;font-size:1.45rem;font-weight:950}.purchase-success-modal__copy{color:#364152;margin:0;font-weight:850;line-height:1.65}.purchase-success-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}@media (width<=720px){.shop-corner-selector{grid-template-columns:1fr}.shop-corner-button{grid-template-columns:92px minmax(0,1fr);min-height:118px;padding:12px}.shop-section-head{display:grid}.shop-section-head .secondary-action{justify-self:start}}.typing-main{--neo-primary:#5b8dee;--neo-secondary:#48c9b0;--neo-accent:#f39c12;--neo-text:#1a1a1a;--neo-border:3px solid #1a1a1a;--neo-radius:16px;--neo-shadow:6px 6px 0px #1a1a1a;--neo-shadow-hover:10px 10px 0px #1a1a1a;--neo-accent-bg:#fff8e1;width:100%;max-width:1280px;color:var(--neo-text)}.typing-page-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;display:grid}.typing-main-column,.typing-side-column{min-width:0}.typing-side-column{flex-direction:column;gap:1rem;display:flex}.typing-hero{border:var(--neo-border);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow);text-align:center;background:#fff9c4;margin-bottom:1.5rem;padding:1.5rem}.typing-new-panel{border-radius:var(--neo-radius);box-shadow:var(--neo-shadow);text-align:left;background:#fff0f5;border:3px solid #ff69a3;margin-bottom:0;padding:0;overflow:hidden}.typing-new-panel h2{color:#d6336c;text-align:center;background:#ffffff80;border-bottom:2px solid #ff69a3;margin:0;padding:1rem;font-size:1.1rem;font-weight:900}.typing-title-row{justify-content:center;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.typing-title-row h1{margin:0;font-size:1.8rem;font-weight:900}.typing-label{color:#fff;background:#ffb74d;border:2px solid #1a1a1a;border-radius:8px;align-items:center;min-height:30px;margin:0;padding:0 12px;font-weight:900;display:inline-flex}.typing-hero p{color:#666;margin:0 0 1.5rem;font-weight:700}.typing-category-heading-row{color:#555;justify-content:center;align-items:center;margin:0 0 1rem;font-weight:900;display:flex;position:relative}.typing-category-heading{align-items:center;display:inline-flex}.typing-category-heading-row .typing-admin-actions{gap:.5rem;margin:0;display:flex;position:absolute;right:0}.typing-admin-actions,.typing-category-filter{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.typing-admin-actions{margin-bottom:0}.typing-category-filter{margin-top:.5rem}.typing-category-button{color:#333;cursor:pointer;font:inherit;background:#fff;border:2px solid #1a1a1a;border-radius:8px;padding:.6rem 1.5rem;font-size:1rem;font-weight:900;transition:transform .1s,box-shadow .1s;display:inline-block;box-shadow:4px 4px #1a1a1a}.typing-category-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1a1a1a}.typing-category-button.active{border-width:4px}.typing-main .typing-admin-actions .secondary-action,.typing-main .typing-card-actions .primary-action{border:var(--neo-border);background:var(--neo-secondary);color:#fff;text-align:center;border-radius:8px;min-height:auto;padding:.75rem 1.5rem;font-weight:900;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:4px 4px #1a1a1a}.typing-main .typing-admin-actions .primary-action,.typing-main .typing-card-actions button.secondary-action{border:var(--neo-border);background:var(--neo-accent);min-height:auto;color:var(--neo-text);font:inherit;text-align:center;cursor:pointer;border-radius:8px;padding:.75rem 1.5rem;font-weight:900;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:4px 4px #1a1a1a}.typing-main .typing-card-actions a.secondary-action{border:var(--neo-border);min-height:auto;color:var(--neo-text);text-align:center;background:#fff;border-radius:8px;padding:.75rem 1.5rem;font-weight:900;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:4px 4px #1a1a1a}.typing-main .typing-admin-actions .primary-action,.typing-main .typing-admin-actions .secondary-action{padding:.4rem 1rem;font-size:.9rem}.typing-main .typing-admin-actions .primary-action:hover,.typing-main .typing-admin-actions .secondary-action:hover,.typing-main .typing-card-actions .primary-action:hover,.typing-main .typing-card-actions button.secondary-action:hover,.typing-main .typing-card-actions a.secondary-action:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1a1a1a}.typing-grid,.typing-new-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.typing-new-list{grid-template-columns:1fr;gap:1rem;padding:1rem}.typing-card{border:var(--neo-border);border-radius:var(--neo-radius);min-width:0;height:100%;min-height:260px;box-shadow:var(--neo-shadow);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.typing-card:hover{box-shadow:var(--neo-shadow-hover);transform:translate(-2px,-2px)}.typing-card-new{border:2px solid var(--neo-accent);min-height:190px}.typing-new-badge{z-index:1;background:var(--neo-accent);color:#fff;border-radius:0 0 0 8px;padding:2px 10px;font-size:.8rem;font-weight:900;position:absolute;top:0;right:0}.typing-clear-stamp{z-index:2;color:#e74c3c;opacity:.62;pointer-events:none;background:#ffffff9e;border:5px double #e74c3c;border-radius:50%;place-items:center;width:126px;height:126px;font-size:2rem;font-weight:900;display:grid;position:absolute;bottom:18px;left:50%;transform:translate(-50%)rotate(-15deg)}.typing-card-head{padding:.75rem}.typing-card-new .typing-card-head{border-bottom:1px dashed #ddd}.typing-card-body{flex-direction:column;flex:auto;gap:.75rem;padding:1rem;display:flex}.typing-card-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.typing-badge{color:#1a1a1a;border:2px solid #1a1a1a;border-radius:4px;align-items:center;min-height:26px;padding:0 10px;font-size:.75rem;font-weight:900;display:inline-flex}.typing-card-new .typing-badge{color:#333;border-width:1px;border-color:#999;font-size:.7rem}.typing-card h2{overflow-wrap:anywhere;margin:0;font-size:1.2rem;font-weight:900}.typing-card-new h2{font-size:1.1rem}.typing-card-body p{color:#333;margin:0;line-height:1.5}.typing-card-meta{flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:700;display:flex}.typing-card-meta span:first-child{color:var(--neo-secondary)}.typing-card-meta span:last-child{color:var(--neo-primary)}.typing-card-actions{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.typing-card-new .typing-card-body{justify-content:flex-end}.typing-card-new .typing-card-actions{flex-flow:wrap;margin-top:0}.typing-card-new .typing-card-actions .primary-action,.typing-card-new .typing-card-actions .secondary-action{flex:auto;padding:.5rem .75rem;font-size:.875rem}.typing-ranking-dialog,.typing-result-dialog{--neo-primary:#5b8dee;--neo-accent:#f39c12;--neo-accent-bg:#fff8e1;--neo-border:3px solid #1a1a1a;--neo-radius:16px;--neo-shadow:6px 6px 0px #1a1a1a;box-sizing:border-box;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;contain:layout paint;border:var(--neo-border);border-radius:var(--neo-radius);width:min(620px,100% - 32px);max-width:calc(100% - 32px);max-height:calc(100dvh - 2rem);box-shadow:var(--neo-shadow);background:#fff;margin:auto;padding:1rem;overflow:auto}.typing-ranking-dialog::backdrop,.typing-result-dialog::backdrop{background:#00000073}.typing-dialog-close{float:right;border:1px solid var(--line);min-height:36px;font:inherit;background:#fff;border-radius:8px;font-weight:850}.typing-ranking-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.typing-ranking-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:.5rem 10px;display:flex}.typing-ranking-item.is-current-user{background:var(--neo-accent-bg);border:2px solid var(--neo-accent);border-radius:8px}.typing-ranking-rank{text-align:center;flex:0 0 40px}.typing-ranking-rank-badge{color:#666;background:#eee;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.9rem;font-weight:850;line-height:1;display:inline-flex}.typing-ranking-rank-badge.rank-1{color:#fff;background:gold}.typing-ranking-rank-badge.rank-2{color:#fff;background:silver}.typing-ranking-rank-badge.rank-3{color:#fff;background:#cd7f32}.typing-ranking-player{flex:auto;align-items:center;gap:.5rem;min-width:0;display:flex}.typing-ranking-avatar{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:50%;flex-shrink:0;width:30px;height:30px}.typing-ranking-nickname{text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.typing-ranking-item.is-current-user .typing-ranking-nickname{color:var(--neo-accent)}.typing-ranking-score{min-width:2.5rem;color:var(--neo-primary);text-align:right;flex:none;font-size:1.1rem;font-weight:900}.typing-play-shell{background:#f4f4f0;min-height:100vh;padding:18px}.dashboard-legacy-page.typing-mode .typing-play-shell{box-sizing:border-box;height:100dvh;min-height:0;max-height:100dvh;padding:calc(70px + .5rem) .5rem .5rem;overflow:hidden}.typing-play-shell .typing-game-card,.typing-play-shell .typing-game-container{--neo-border:3px solid #1a1a1a;--neo-radius:16px;--neo-shadow:6px 6px 0 #1a1a1a;--typing-viewport-chrome:2.25rem;--typing-card-height:calc(100dvh - var(--typing-viewport-chrome));--typing-kb-scale:1;border:var(--neo-border);border-radius:var(--neo-radius);width:100%;max-width:100%;box-shadow:var(--neo-shadow);height:var(--typing-card-height);max-height:var(--typing-card-height);box-sizing:border-box;background:#fff;outline:0;flex-direction:column;margin:0 auto;padding:clamp(.4rem,1vw,.8rem);display:flex;overflow:hidden}.dashboard-legacy-page .typing-play-shell .neo-card.typing-game-card,.dashboard-legacy-page .typing-play-shell .neo-card.typing-game-card:hover,.dashboard-legacy-page .typing-play-shell .neo-card.typing-game-container,.dashboard-legacy-page .typing-play-shell .neo-card.typing-game-container:hover{box-shadow:var(--neo-shadow);transform:none}.dashboard-legacy-page.typing-mode .typing-game-card,.dashboard-legacy-page.typing-mode .typing-game-container{--typing-viewport-chrome:calc(70px + 1rem);--typing-card-height:calc(100dvh - var(--typing-viewport-chrome))}.dashboard-chrome~.typing-play-shell .typing-game-card,.dashboard-chrome~.typing-play-shell .typing-game-container{--typing-viewport-chrome:calc(65px + 3rem);--typing-card-height:calc(100dvh - var(--typing-viewport-chrome))}.typing-play-shell .typing-game-grid{box-sizing:border-box;flex:auto;grid-template-columns:minmax(140px,.3fr) minmax(0,1.7fr);align-items:stretch;gap:.6rem;width:100%;height:100%;min-height:0;padding:.6rem;display:grid;overflow:hidden}.typing-play-shell .typing-info-column,.typing-play-shell .info-column{flex-direction:column;gap:.75rem;min-width:0;max-width:230px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.typing-play-shell .typing-game-head,.typing-play-shell .neo-card-header{border-bottom:2px solid #f0f0f0;flex-direction:column;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.typing-play-shell .typing-label,.typing-play-shell .section-label{text-transform:uppercase;letter-spacing:.15em;color:#1a1a1a;background:var(--neo-secondary,#48c9b0);border:4px solid #1a1a1a;align-self:flex-start;padding:.6rem 1.8rem;font-size:1rem;font-weight:900;display:inline-block;transform:rotate(-2deg);box-shadow:5px 5px #1a1a1a}.typing-play-shell #typing-game-title{text-transform:none}.typing-play-shell .btn-ultra{color:#1a1a1a;width:fit-content;font:inherit;cursor:pointer;background:#fff;border:4px solid #1a1a1a;border-radius:12px;justify-content:center;align-items:center;padding:.3rem .8rem;font-size:.8rem;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:4px 4px #1a1a1a}.typing-play-shell .btn-ultra-primary{background:var(--neo-primary,#5b8dee);color:#fff}.typing-play-shell .btn-ultra-secondary{background:var(--neo-secondary,#48c9b0);color:#fff}.typing-play-shell .btn-ultra-outline{color:#1a1a1a;background:#fff}.typing-play-shell .typing-stats-grid,.typing-play-shell .typing-stats{flex-direction:column;gap:.5rem;margin:0;display:flex}.typing-play-shell .typing-stats-grid div,.typing-play-shell .typing-stats .stat-item{background:#fff;border:1px solid #eee;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem;display:flex}.typing-play-shell .typing-stats-grid dt,.typing-play-shell .typing-stats .stat-label{color:#666;margin:0;font-size:.8rem;font-weight:850}.typing-play-shell .typing-stats-grid dd,.typing-play-shell .typing-stats .stat-value{color:#333;margin:0;font-size:1.5rem;font-weight:900}.typing-play-shell #typing-score{color:var(--neo-primary,#5b8dee)}.typing-play-shell #typing-combo{color:var(--neo-accent,#f39c12)}.typing-play-shell #typing-miss{color:var(--neo-pink,#e74c3c)}.typing-play-shell .typing-clear-conditions,.typing-play-shell .clear-conditions{background:#f9f9f9;border-radius:8px;margin-top:1.5rem;padding:1rem}.typing-play-shell .typing-clear-conditions h2,.typing-play-shell .clear-conditions h4{color:#555;margin:0 0 .5rem;font-size:1rem;font-weight:900}.typing-play-shell .typing-clear-conditions ul,.typing-play-shell .clear-conditions ul{margin:0;padding:0;font-size:.9rem;list-style:none}.typing-play-shell .typing-clear-conditions li,.typing-play-shell .clear-conditions li{margin-bottom:.25rem}.typing-play-shell .typing-clear-conditions li:last-child,.typing-play-shell .clear-conditions li:last-child{margin-bottom:0}.typing-play-shell .typing-gameplay-column,.typing-play-shell .gameplay-column{flex-direction:column;flex:auto;gap:1rem;min-width:0;min-height:0;display:flex;overflow:hidden auto}.typing-play-shell .typing-problem{background:#f9f9f9;border:0;border-radius:12px;flex:1 1 0;min-height:clamp(96px,16dvh,140px);max-height:min(340px,42dvh);padding:1rem;font-size:16px;position:relative;overflow:hidden}.typing-play-shell .typing-problem-inner{transition:transform .2s ease-out}.typing-play-shell .typing-line-block{flex-direction:column;justify-content:center;margin-bottom:10px;display:flex}.typing-play-shell .japanese-text{color:#555;height:1.2em;margin-bottom:0;font-size:1em;line-height:1.2em}.typing-play-shell .romaji-text{color:#888;letter-spacing:.1em;white-space:nowrap;margin-top:0;font-family:monospace;font-size:2.05em;line-height:1}.typing-play-shell .char-correct{color:var(--primary-color,#48c774)}.typing-play-shell .char-ng{color:#ff3860}.typing-play-shell .char-current{min-width:0;color:inherit;text-decoration-line:underline;text-decoration-color:var(--neo-accent,#f39c12);text-underline-offset:.18em;background:0 0;border-bottom:0;padding-bottom:0;text-decoration-thickness:3px;display:inline}.typing-play-shell .char-pending{color:#bbb}.typing-play-shell span.space-char{color:#0000!important;text-shadow:0 0!important}.typing-play-shell .typing-case-warning{color:#6b4300;background:#fff8e6;border:1px solid #f4b740;border-radius:10px;align-items:center;gap:.55rem;min-height:2.55rem;padding:.62rem .82rem;font-size:.92rem;font-weight:700;line-height:1.35;display:flex;box-shadow:0 8px 22px #784e001f}.typing-play-shell .typing-case-warning[hidden]{display:none}.typing-play-shell .typing-case-warning i{color:#c47a00;flex:none;font-size:1rem}.typing-play-shell .keyboard-responsive-wrapper{flex:none;justify-content:center;align-items:flex-start;width:100%;margin-top:0;display:flex;overflow:hidden}.typing-play-shell .keyboard-container-wrapper{width:900px;max-width:none;transform:scale(var(--typing-kb-scale,1));transform-origin:top;flex-direction:column;align-items:center;gap:.35rem;margin-top:.45rem;display:flex}.typing-play-shell .keyboard-visual{box-sizing:border-box;background:#f5f5f5;border-radius:12px;width:900px;max-width:900px;min-height:225px;margin:0 auto;padding:.55rem;box-shadow:0 4px 12px #0000001a}.typing-play-shell .keyboard-row{justify-content:center;align-items:center;gap:3px;height:38px;margin-bottom:4px;display:flex}.typing-play-shell .keyboard-row-2{transform:translate(-32px)}.typing-play-shell .keyboard-key{box-sizing:border-box;color:#333;white-space:nowrap;cursor:default;user-select:none;background:#fff;border:2px solid #ddd;border-radius:4px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:38px;padding:.25rem;font-size:.75rem;font-weight:600;line-height:1;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;display:flex;box-shadow:0 2px 4px #0000001a;transform:none!important}.typing-play-shell .keyboard-key.key-home-position{border-color:#10b981}.typing-play-shell .keyboard-key.key-active{border-color:var(--neo-primary,#5b8dee);background:var(--neo-primary,#5b8dee);color:#fff;box-shadow:0 2px 4px #0000001a;transform:none!important}.typing-play-shell .keyboard-key.key-home-position.key-active{border-color:#10b981}.typing-play-shell .keyboard-key.key-wide{flex-basis:65px;width:65px}.typing-play-shell .keyboard-key.key-extra-wide{flex-basis:80px;width:80px}.typing-play-shell .keyboard-key.key-spacebar{flex-basis:280px;width:280px}.typing-play-shell .key-placeholder{box-sizing:border-box;flex:0 0 40px;width:40px;height:38px}.typing-play-shell .hands-visual{opacity:.8;gap:4rem;height:160px;min-height:160px;display:flex}.typing-play-shell .hand{width:150px;height:160px;position:relative}.typing-play-shell .hand svg{fill:#e0e0e0;stroke:#999;stroke-width:2px;width:100%;height:100%}.typing-play-shell .right-hand{transform:scaleX(-1)}.typing-play-shell .finger{transition:fill .1s}.typing-play-shell .finger-active{fill:var(--neo-primary,#5b8dee)!important;stroke:var(--neo-primary,#5b8dee)!important}.typing-play-shell .typing-result-overlay{z-index:1200;box-sizing:border-box;background:#0000008c;justify-content:center;align-items:center;width:auto;height:auto;min-height:0;padding:1rem;display:flex;position:fixed;inset:0;overflow:hidden}.typing-play-shell .typing-result-overlay[hidden]{display:none!important}.typing-play-shell .result-card{box-sizing:border-box;scrollbar-gutter:stable both-edges;contain:layout paint;transform-origin:50%;text-align:center;background:#fff;border:3px solid #1a1a1a;border-radius:16px;width:min(600px,100% - 2rem);max-height:calc(100vh - 2rem);padding:2rem;overflow-y:auto;box-shadow:6px 6px #1a1a1a}.typing-play-shell .result-card .neo-card-header{border-bottom:2px solid #eee;margin-bottom:1.5rem;padding:0 0 1rem}.typing-play-shell .result-card h3{color:var(--neo-primary,#5b8dee);margin:0;font-size:2rem;font-weight:900}.typing-play-shell .result-content{position:relative}.typing-play-shell .result-pass-stamp{z-index:5;color:#e74c3c;opacity:.8;pointer-events:none;user-select:none;background:#ffffffb3;border:6px double #e74c3c;border-radius:50%;justify-content:center;align-items:center;width:180px;height:180px;font-size:3rem;font-weight:900;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-15deg);box-shadow:0 0 0 4px #e74c3c1a}.typing-play-shell .result-pass-stamp[data-pass=false]{box-shadow:none;color:#95a5a6;border-color:#95a5a6}.typing-play-shell .list-group{text-align:left;margin:0;padding:0;font-size:1.1rem;list-style:none;display:block}.typing-play-shell .list-group li{border-bottom:1px dashed #eee;justify-content:space-between;gap:1rem;padding:.8rem;display:flex}.typing-play-shell .list-group li>span{font-weight:850}.typing-play-shell .list-group li>div{text-align:right}.typing-play-shell .list-group strong{color:#333;font-size:1.4rem;font-weight:900}.typing-play-shell .list-group li>div>div,.typing-play-shell #typing-result-formula{color:#666;font-size:.8rem}.typing-play-shell #typing-result-points{color:var(--neo-accent,#f39c12)}.typing-play-shell #typing-result-formula{color:#888;text-align:right;margin-top:1rem}.typing-play-shell .typing-result-save-status{color:#1d4ed8;text-align:left;background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;margin-top:.7rem;padding:.65rem .8rem;font-size:.85rem;font-weight:800}.typing-play-shell .typing-result-save-status[data-state=saved]{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.typing-play-shell .typing-result-save-status[data-state=error]{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.typing-play-shell .result-actions,.typing-play-shell .typing-result-actions{justify-content:center;gap:1rem;margin-top:2rem;display:flex}.typing-play-shell .result-actions a[aria-disabled=true]{opacity:.55;cursor:not-allowed}@media (width<=1400px){.typing-play-shell .typing-game-grid{grid-template-columns:minmax(150px,.33fr) minmax(0,1.67fr)}.typing-play-shell .typing-info-column,.typing-play-shell .info-column{max-width:220px}.typing-play-shell .typing-stats-grid dt,.typing-play-shell .typing-stats .stat-label{font-size:.75rem}.typing-play-shell .typing-stats-grid dd,.typing-play-shell .typing-stats .stat-value{font-size:1.2rem}.typing-play-shell .typing-clear-conditions,.typing-play-shell .clear-conditions{font-size:.8rem}}@media (width<=1280px){.typing-play-shell .typing-game-grid{grid-template-columns:minmax(140px,.32fr) minmax(0,1.68fr)}.typing-play-shell .typing-info-column,.typing-play-shell .info-column{max-width:210px}.typing-play-shell .typing-problem{font-size:15px}.typing-play-shell .romaji-text{font-size:1.85em}}@media (width<=1100px){.typing-play-shell .typing-game-grid{grid-template-columns:minmax(140px,.33fr) minmax(0,1.67fr)}.typing-play-shell .typing-info-column,.typing-play-shell .info-column{max-width:240px}.typing-play-shell .typing-stats-grid dt,.typing-play-shell .typing-stats .stat-label{font-size:.7rem}.typing-play-shell .typing-stats-grid dd,.typing-play-shell .typing-stats .stat-value{font-size:1.05rem}}@media (width<=1024px){.typing-play-shell .typing-game-container{overflow-y:auto}.typing-play-shell .typing-game-grid{grid-template-columns:1fr;grid-auto-rows:max-content;align-items:start;height:auto;min-height:0;overflow:visible}.typing-play-shell .typing-info-column,.typing-play-shell .info-column{border-bottom:0;max-width:none;height:auto;min-height:max-content;padding-bottom:0;overflow:visible}.typing-play-shell .gameplay-column{height:auto;min-height:0;overflow-y:visible}.typing-play-shell .typing-problem{flex:none;height:clamp(180px,36dvh,300px);max-height:min(300px,36dvh)}}@media (width<=980px){.typing-play-shell .info-column .stat-label{font-size:.7rem!important}.typing-play-shell .info-column .stat-value{font-size:.9rem!important}.typing-play-shell .info-column .section-label{padding:.2rem .7rem!important;font-size:.8rem!important}.typing-play-shell .info-column .clear-conditions{padding:.4rem!important;font-size:.7rem!important}.typing-play-shell .info-column .clear-conditions ul{font-size:.7rem!important}.typing-play-shell .typing-problem{padding:.4rem!important;font-size:12px!important}.typing-play-shell .typing-case-warning{padding:.5rem .62rem;font-size:.78rem}}@media (height<=900px){.dashboard-chrome~.typing-play-shell .typing-game-card,.dashboard-chrome~.typing-play-shell .typing-game-container{--typing-viewport-chrome:calc(65px + 1rem)}.typing-play-shell .typing-problem{max-height:min(280px,34dvh);padding:.8rem;font-size:14px}.typing-play-shell .typing-stats-grid div,.typing-play-shell .typing-stats .stat-item{padding:.4rem}.typing-play-shell .typing-stats-grid dt,.typing-play-shell .typing-stats .stat-label{font-size:.7rem}.typing-play-shell .typing-stats-grid dd,.typing-play-shell .typing-stats .stat-value{font-size:1.05rem}.typing-play-shell .typing-clear-conditions,.typing-play-shell .clear-conditions{padding:.6rem;font-size:.8rem}.typing-play-shell .typing-label,.typing-play-shell .section-label{font-size:.9rem}.typing-play-shell .romaji-text{font-size:1.7em}.typing-play-shell .result-card{max-height:calc(100dvh - 2rem);padding:1.1rem}}@media (width<=768px){.typing-play-shell .result-card{max-height:calc(100dvh - 1.5rem);padding:1.25rem}}@media (width<=480px){.typing-play-shell .typing-problem{max-height:min(240px,32dvh)}}.typing-result-actions{gap:10px;margin-top:18px;display:flex}.tengoku-main-panel{width:100%;max-width:1280px}.tengoku-page-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1.5rem;display:grid}.tengoku-main-column,.tengoku-side-column{min-width:0}@media (width>=969px){.tengoku-side-column{position:sticky;top:1.25rem}}.tengoku-hero{text-align:center;background:#bbdefb;border:3px solid #1a1a1a;border-radius:16px;margin-bottom:1.5rem;overflow:hidden;box-shadow:6px 6px #1a1a1a}.tengoku-hero .neo-card-header{border-bottom:0;padding:1.5rem}.tengoku-hero h1{color:#1a1a1a;margin:0;font-size:1.8rem;font-weight:900}.tengoku-title-row{justify-content:center;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.tengoku-label.section-label{color:#fff;letter-spacing:.15em;background:#42a5f5;border:4px solid #1a1a1a;border-radius:8px;margin:0;padding:.6rem 1.8rem;font-size:1rem;font-weight:900;transform:rotate(-2deg);box-shadow:5px 5px #1a1a1a}.tengoku-hero p{color:#666;margin:0 0 1.5rem;font-weight:900}.tengoku-filter-title{color:#555;margin-bottom:1rem;font-weight:900}.tengoku-filter-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tengoku-filter-button{color:#333;cursor:pointer;min-height:46px;font:inherit;background:#fff;border:2px solid #1a1a1a;border-radius:8px;padding:.6rem 1.5rem;font-weight:900;box-shadow:4px 4px #1a1a1a}.tengoku-filter-button[data-genre=all]{border-color:#fdcb6e}.tengoku-filter-button[data-genre=sansu]{border-color:#74b9ff}.tengoku-filter-button[data-genre=eigo]{border-color:#ff7675}.tengoku-filter-button[data-genre=joho1]{border-color:#00b894}.tengoku-filter-button[data-genre=gkentei]{border-color:#a29bfe}.tengoku-filter-button.active{color:#fff;background:#1a1a1a;border-color:#1a1a1a}.tengoku-filter-button[data-genre=all].active{color:#1a1a1a;background:#ffe066}.tengoku-filter-button[data-genre=sansu].active{background:#74b9ff}.tengoku-filter-button[data-genre=eigo].active{background:#ff7675}.tengoku-filter-button[data-genre=joho1].active{background:#00b894}.tengoku-filter-button[data-genre=gkentei].active{background:#a29bfe}.tengoku-main-panel .btn-ultra{color:#1a1a1a;text-align:center;cursor:pointer;border:3px solid #1a1a1a;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;font-weight:900;line-height:1.1;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-flex;box-shadow:4px 4px #1a1a1a}.tengoku-main-panel .btn-ultra:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1a1a1a}.tengoku-main-panel .btn-ultra:active{transform:translate(2px,2px);box-shadow:2px 2px #1a1a1a}.tengoku-main-panel .btn-ultra-primary{color:#fff;background:#5b8dee}.tengoku-main-panel .btn-ultra-secondary{color:#fff;background:#48c9b0}.tengoku-main-panel .btn-ultra-sm{min-height:34px}.tengoku-group-stack{flex-direction:column;gap:2.25rem;display:flex}.tengoku-group{--tengoku-genre:#74b9ff;min-width:0}.tengoku-group.is-eigo{--tengoku-genre:#ff7675}.tengoku-group.is-joho1{--tengoku-genre:#00b894}.tengoku-group.is-gkentei{--tengoku-genre:#a29bfe}.tengoku-group-head{border-bottom:3px solid #1a1a1a;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;padding-bottom:.6rem;display:flex}.tengoku-group-genre{background:var(--tengoku-genre);color:#fff;letter-spacing:.08em;border:2px solid #1a1a1a;border-radius:6px;padding:.25rem .75rem;font-size:.8rem;font-weight:900;transform:rotate(-2deg);box-shadow:3px 3px #1a1a1a}.tengoku-group-head h2{overflow-wrap:anywhere;color:#1a1a1a;margin:0;font-size:1.4rem;font-weight:900}.tengoku-group-count{color:#555;white-space:nowrap;background:#fff;border:2px solid #1a1a1a;border-radius:999px;margin-left:auto;padding:.2rem .75rem;font-size:.75rem;font-weight:900}.tengoku-group-untiku{color:#555;margin:0 0 1rem;font-size:.9rem;font-weight:700;line-height:1.7}.tengoku-card-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:1.1rem;display:grid}.tengoku-card{--tengoku-genre:#74b9ff;background:#fff;border:3px solid #1a1a1a;border-radius:14px;flex-direction:column;transition:transform .12s,box-shadow .12s;animation:.4s backwards tengoku-pop-in;display:flex;overflow:hidden;box-shadow:5px 5px #1a1a1a}.tengoku-card.is-eigo{--tengoku-genre:#ff7675}.tengoku-card.is-joho1{--tengoku-genre:#00b894}.tengoku-card.is-gkentei{--tengoku-genre:#a29bfe}.tengoku-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px #1a1a1a}@keyframes tengoku-pop-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.tengoku-card{animation:none}}.tengoku-card-thumb{aspect-ratio:16/9;background:repeating-linear-gradient(-45deg, #fff6 0 14px, #fff0 14px 28px) var(--tengoku-genre);border-bottom:3px solid #1a1a1a;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tengoku-card-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tengoku-card-fallback{color:#1a1a1a73;font-size:2.4rem}.tengoku-card-new{color:#fff;letter-spacing:.08em;background:#ff6b6b;border:2px solid #1a1a1a;border-radius:6px;padding:2px 9px;font-size:.65rem;font-weight:900;position:absolute;top:8px;left:8px;transform:rotate(-4deg);box-shadow:2px 2px #1a1a1a}.tengoku-card-perfect{filter:drop-shadow(2px 2px #1a1a1a59);font-size:1.4rem;position:absolute;top:6px;right:8px}.tengoku-card-body{flex-direction:column;flex:1;gap:.45rem;padding:.8rem .9rem;display:flex}.tengoku-card-body h3{overflow-wrap:anywhere;color:#1a1a1a;margin:0;font-size:1.05rem;font-weight:900;line-height:1.35}.tengoku-card-best{color:#999;align-items:center;gap:.4rem;margin:auto 0 0;font-size:.8rem;font-weight:800;display:flex}.tengoku-card-best.has-best{color:#2f855a}.tengoku-card-best i{font-size:.85em}.tengoku-card-foot{gap:.5rem;padding:0 .9rem .9rem;display:flex}.tengoku-card-foot .secondary-action{flex:none;width:auto;min-width:44px;padding:.4rem .6rem;font-size:.8rem}.tengoku-card-foot .primary-action{flex:1;padding:.4rem .7rem;font-size:.85rem}.tengoku-new-panel{text-align:left;background:#fff0f5;border:3px solid #ff69a3;border-radius:16px;margin-bottom:0;overflow:hidden;box-shadow:4px 4px #ff69a3}.tengoku-new-panel .neo-card-header{background:#ffffff8c;border-bottom:2px solid #ff69a3;padding:1rem}.tengoku-new-panel h2{color:#d6336c;text-align:center;justify-content:center;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:900;display:flex}.tengoku-new-list{flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.tengoku-new-row{--tengoku-genre:#74b9ff;color:inherit;background:#fff;border:2px solid #1a1a1a;border-radius:10px;align-items:center;gap:.6rem;padding:.5rem .6rem;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:3px 3px #1a1a1a}.tengoku-new-row.is-eigo{--tengoku-genre:#ff7675}.tengoku-new-row.is-joho1{--tengoku-genre:#00b894}.tengoku-new-row.is-gkentei{--tengoku-genre:#a29bfe}.tengoku-new-row:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #1a1a1a}.tengoku-new-row-thumb{background:repeating-linear-gradient(-45deg, #fff6 0 8px, #fff0 8px 16px) var(--tengoku-genre);color:#1a1a1a73;border:2px solid #1a1a1a;border-radius:8px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.tengoku-new-row-thumb img{object-fit:cover;width:100%;height:100%}.tengoku-new-row-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.tengoku-new-row-title{overflow-wrap:anywhere;font-size:.85rem;font-weight:900;line-height:1.3}.tengoku-new-row-meta{color:#888;font-size:.7rem;font-weight:800}.tengoku-new-row>i{color:#ccc;margin-left:auto;font-size:.75rem}@media (width<=640px){.tengoku-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.tengoku-card-body{gap:.35rem;padding:.6rem}.tengoku-card-body h3{font-size:.92rem}.tengoku-card-foot{gap:.4rem;padding:0 .6rem .6rem}.tengoku-card-foot .secondary-action{min-width:36px;padding:.4rem .45rem}.tengoku-card-foot .primary-action{padding:.4rem;font-size:.78rem}.tengoku-group-head h2{font-size:1.2rem}}.tengoku-play-shell{background:#f7fafc;min-height:100vh;padding:.5rem 1rem 2rem}.tengoku-play-shell .tengoku-game-container{max-width:900px;margin:.5rem auto;padding:.5rem;position:relative}.tengoku-play-shell .tengoku-game-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.tengoku-play-shell .tengoku-game-header .progress{font-size:1rem;font-weight:700}.tengoku-play-shell .tengoku-game-header .timer,.tengoku-play-shell .tengoku-timer{align-items:center;gap:.5rem;display:flex}.tengoku-play-shell .tengoku-game-header .score{gap:1rem;display:flex}.tengoku-play-shell .tengoku-game-header .score .correct{color:#4ade80}.tengoku-play-shell .tengoku-game-header .score .wrong{color:#f87171}.tengoku-play-shell .tengoku-timer .timer-icon{font-size:1.2rem}.tengoku-play-shell .tengoku-timer .timer-text{font-family:monospace;font-size:1.1rem;font-weight:700}.tengoku-play-shell .tengoku-problem{background:#fff;border-radius:12px;padding:.5rem;box-shadow:0 4px 6px #0000001a}.tengoku-play-shell .tengoku-problem .problem-content{margin-bottom:.5rem}.tengoku-play-shell .tengoku-problem .problem-content .problem-text{color:#2d3748;text-align:center;overflow-wrap:anywhere;background-color:#f7fafc;border:3px dashed #cbd5e0;border-radius:12px;justify-content:center;align-items:center;min-height:80px;margin:0 0 .5rem;padding:1rem .5rem;font-size:1.8rem;font-weight:800;line-height:1.2;display:flex;box-shadow:inset 0 2px 4px #0000000d}.tengoku-play-shell .tengoku-problem .problem-content .problem-image{text-align:center;margin-top:1rem}.tengoku-play-shell .tengoku-problem .problem-content .problem-image img{object-fit:contain;border-radius:8px;max-width:100%;height:auto;max-height:280px}.tengoku-play-shell .tengoku-problem .choices .choices-list{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.tengoku-play-shell .tengoku-problem .choices .choices-list.vertical-layout{flex-direction:column;align-items:stretch;gap:1rem}.tengoku-play-shell .tengoku-problem .choices .choices-list.vertical-layout .choice-wrapper{flex-direction:row;justify-content:center;width:100%}.tengoku-play-shell .tengoku-problem .choices .choices-list.vertical-layout .choice-key{order:-1}.tengoku-play-shell .tengoku-problem .choices .choices-list.vertical-layout .choice-button{flex:1;width:auto;display:block}.tengoku-play-shell .tengoku-problem .choices .choice-wrapper{flex-direction:column;align-items:center;gap:.5rem;display:flex}.tengoku-play-shell .tengoku-problem .choices .choice-key{color:#666;background:#e2e8f0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;font-weight:700;display:flex}.tengoku-play-shell .tengoku-problem .choices .choice-button{color:#1a1a1a;cursor:pointer;min-width:100px;font:inherit;text-align:center;background:#f7fafc;border:3px solid #e2e8f0;border-radius:12px;padding:1.5rem 2.5rem;font-size:1.5rem;font-weight:700;transition:all .2s}.tengoku-play-shell .tengoku-problem .choices .choice-button:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0;transform:translateY(-3px);box-shadow:0 4px 12px #0000001a}.tengoku-play-shell .tengoku-problem .choices .choice-button:active:not(:disabled){transform:translateY(0)}.tengoku-play-shell .keyboard-hint{text-align:center;color:#666;margin-top:1rem;font-size:.9rem}.tengoku-play-shell .answer-feedback{z-index:100;pointer-events:none;text-align:center;justify-content:center;align-items:center;width:0;height:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.tengoku-play-shell .answer-feedback .feedback-correct,.tengoku-play-shell .answer-feedback .feedback-wrong{text-shadow:0 0 10px #fffc;font-size:6rem;font-weight:900;line-height:1;animation:.3s ease-out feedback-pop}.tengoku-play-shell .answer-feedback .feedback-correct{color:#22c55e}.tengoku-play-shell .answer-feedback .feedback-wrong{color:#ef4444}@keyframes feedback-pop{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}.tengoku-play-shell .tengoku-game-actions{justify-content:center;margin-top:1rem;display:flex}.tengoku-play-shell .tengoku-game-actions .btn,.tengoku-play-shell .tengoku-result .result-actions .btn{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-width:200px;padding:1rem 2rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.tengoku-play-shell .tengoku-game-actions .btn:hover,.tengoku-play-shell .tengoku-result .result-actions .btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.tengoku-play-shell .btn-secondary{color:#fff;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%)}.tengoku-play-shell .btn-primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 4px 14px #3b82f666}.tengoku-play-shell .tengoku-result{max-width:900px;margin:0;padding:1rem}.tengoku-play-shell .tengoku-result .result-header{text-align:center;margin-bottom:2rem}.tengoku-play-shell .tengoku-result .result-header h2{color:#2d3748;font-size:2.5rem}.tengoku-play-shell .tengoku-result .result-summary{gap:2rem;margin-bottom:2rem;display:grid}.tengoku-play-shell .tengoku-result .score-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.tengoku-play-shell .tengoku-result .score-main{text-align:center;margin-bottom:1.5rem}.tengoku-play-shell .tengoku-result .score-main h3{color:#718096;margin-bottom:.5rem;font-size:1.2rem}.tengoku-play-shell .tengoku-result .score-value{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:700}.tengoku-play-shell .tengoku-result .score-details{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.tengoku-play-shell .tengoku-result .detail-item{background:#f7fafc;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.tengoku-play-shell .tengoku-result .detail-item .label{color:#718096}.tengoku-play-shell .tengoku-result .detail-item .value{font-size:1.1rem;font-weight:700}.tengoku-play-shell .tengoku-result .detail-item .value.correct{color:#4ade80}.tengoku-play-shell .tengoku-result .detail-item .value.wrong{color:#f87171}.tengoku-play-shell .tengoku-result .advice-card{color:#fff;background:linear-gradient(135deg,#f6d365 0%,#fda085 100%);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.tengoku-play-shell .tengoku-result .advice-card h4{margin-bottom:.5rem}.tengoku-play-shell .tengoku-result .advice-card p{margin:0;font-size:1.1rem}.tengoku-play-shell .tengoku-result .result-actions{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:2rem;padding:1rem;display:flex}.room-shell{background:#f7f9fb;min-height:100vh}.room-shell>.notice{max-width:760px;margin:28px auto}.room-embed-page{background:#f7f9fb;height:calc(100dvh - 65px - 3rem);min-height:640px}.room-shell[data-state=ready] .room-embed-page{background:0 0}.room-embed-page iframe{background:#fff;border:0;width:100%;height:100%;display:block}.course-app-shell .course-main-panel{gap:1.5rem}.course-page-header{text-align:left;gap:.35rem;margin-bottom:.5rem;display:grid}.course-page-header .course-eyebrow{display:none}.course-eyebrow{color:#1a1a1a;letter-spacing:.05em;font-size:.82rem;font-weight:900}.course-page-header h1,.course-detail-info h1,.course-detail-title{margin:0;font-size:2rem;font-weight:900}.course-page-header h1{color:#1a1a1a}.course-detail-info h1,.course-detail-title{color:#3498db}.course-page-header p,.course-detail-info p,.course-detail-description{color:#555;margin:0}.course-category-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:1.5rem;display:grid}.course-category-card{border:3px solid #1a1a1a;border-radius:16px;height:fit-content;margin-bottom:1rem;transition:box-shadow .3s,transform .3s;overflow:hidden;box-shadow:6px 6px #1a1a1a}.course-category-card:hover{transform:translate(-2px,-2px);box-shadow:10px 10px #1a1a1a}.course-detail-card,.completed-users-card{border:3px solid #1a1a1a;border-radius:12px;overflow:hidden;box-shadow:6px 6px #1a1a1a}.course-category-head{color:#fff;cursor:pointer;text-align:center;background:0 0;border:0;border-bottom:3px solid #1a1a1a;width:100%;padding:0;display:block;position:relative}.course-category-cover{height:200px;position:relative;overflow:hidden}.course-category-cover-image{object-fit:cover;object-position:left center;width:100%;height:100%;display:block}.course-category-cover-overlay{color:#fff;text-align:center;background:#00000080;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex;position:absolute;inset:0}.course-category-title{letter-spacing:.05em;text-shadow:2px 2px #000;margin:0;font-size:1.4rem;font-weight:900}.course-category-count{color:#fff;background:#1a1a1a;border:1px solid #fff;border-radius:20px;padding:.3rem 1rem;font-size:.9rem;font-weight:800}.course-category-arrow{color:#fff;text-shadow:1px 1px #000;font-size:1.5rem;transition:transform .2s;position:absolute;bottom:15px;right:15px}.course-category-card.open .course-category-arrow{transform:rotate(90deg)}.course-category-body{grid-template-columns:1fr;gap:1rem;padding:1rem;display:grid}.course-list-card{color:inherit;background:#fff;border:2px solid #1a1a1a;border-radius:12px;align-items:stretch;height:100px;padding:0;text-decoration:none;transition:transform .2s;display:flex;position:relative;overflow:hidden}.course-list-card.neo-card-hover:hover{transform:translate(-2px,-2px)}.course-list-card-image{background:#f0f0f0;border-right:2px solid #1a1a1a;flex:0 0 100px;justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative;overflow:hidden}.course-list-card-image img{object-fit:cover;object-position:left center;width:100%;height:100%;display:block}.course-list-card-placeholder{color:#888;background:#e0e0e0;justify-content:center;align-items:center;width:100%;height:100%;font-size:.8rem;display:flex}.course-completed-badge{color:#fff;z-index:10;background:#27ae60;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8em;font-weight:900;display:flex;position:absolute;top:5px;right:5px}.course-list-card-body{flex-direction:column;flex:1;justify-content:center;gap:.25rem;min-width:0;padding:.75rem;display:flex}.course-list-card-title,.course-list-card-body h3{color:#1a1a1a;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:900;overflow:hidden}.course-list-card-description,.course-list-card-body p{color:#666;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.3;display:-webkit-box;overflow:hidden}.course-detail-container{grid-template-columns:1fr 300px;gap:1.5rem;display:grid}.course-detail-main{min-width:0}.course-detail{width:100%;min-width:0;max-width:none;margin:0 auto;padding:0}.course-detail-header{background:#fff;border-radius:12px;flex-direction:column;gap:2rem;min-width:0;margin-bottom:2rem;padding:2rem;display:flex;box-shadow:0 2px 8px #0000001a}@media (width>=768px){.course-detail-header{flex-direction:row;align-items:flex-start}}.course-detail-image{color:#777;background:#f0f0f0;flex-shrink:0;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}@media (width>=768px){.course-detail-image{width:clamp(360px,42%,520px)}}.course-detail-image img{aspect-ratio:16/9;object-fit:contain;border-radius:8px;width:100%;height:auto;display:block;box-shadow:0 4px 12px #0000001a}.course-detail-info{flex-direction:column;flex:1;gap:.9rem;min-width:0;display:flex}.course-detail-description{overflow-wrap:anywhere;font-size:1.1rem;line-height:1.6}.course-detail-progress{gap:.45rem;margin-bottom:.5rem;display:grid}.progress-bar{background:#e0e0e0;border:0;border-radius:12px;height:24px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#5b8dee,#48c9b0);width:0;height:100%;transition:width .3s}.progress-text{color:#666;font-size:.95rem;font-weight:800}.btn-enroll{box-shadow:none;color:#fff;cursor:pointer;background:#2ecc71;border:0;border-radius:6px;align-self:flex-start;padding:.8rem 1.6rem;font-weight:900}.course-detail-steps{background:#fff;border-radius:12px;min-width:0;padding:2rem;box-shadow:0 2px 8px #0000001a}.course-detail-steps h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:900}.course-detail-steps .step-list{flex-direction:column;gap:1rem;display:flex}.course-detail-steps .step-item{color:inherit;background:#f9f9f9;border:0;border-radius:8px;align-items:center;gap:0;min-width:0;padding:1rem;text-decoration:none;transition:background .3s,transform .2s;display:flex}.course-detail-steps .step-item[data-href]{cursor:pointer}.course-detail-steps .step-item:hover{background:#f0f0f0;transform:translate(4px)}.course-detail-steps .step-item:focus-visible{outline-offset:2px;outline:3px solid #5b8dee59}.course-detail-steps .step-item.completed{background:#e8f5e9;border-left:4px solid #5b8dee}.course-detail-steps .step-item.locked{color:#9e9e9e;cursor:not-allowed;opacity:1;background:#ededed;border:1px dashed #d0d0d0}.course-detail-steps .step-item.locked:hover{background:#ededed;transform:none}.course-detail-steps .step-item-number{color:#fff;background:#48c9b0;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;height:40px;margin-right:1rem;font-weight:900;display:flex}.course-detail-steps .step-item.completed .step-item-number{background:#5b8dee}.course-detail-steps .step-item.locked .step-item-number{color:#fff;background:#bdbdbd}.completed-users-card{background:#fffde7;border:3px solid #1a1a1a;border-radius:16px;position:sticky;top:86px;overflow:hidden;box-shadow:6px 6px #1a1a1a}.completed-users-header{color:#1a1a1a;text-align:center;background:#fbc02d;border-bottom:3px solid #1a1a1a;padding:1rem;font-weight:900}.completed-users-header .fa-trophy{margin-right:.5rem}.completed-user-list{gap:.5rem;max-height:400px;padding:.5rem;display:grid;overflow:auto}.completed-user-item{background:#fff;border:2px solid #1a1a1a;border-radius:8px;align-items:center;gap:.5rem;min-width:0;margin-bottom:0;padding:.75rem;transition:transform .1s;display:flex}.completed-user-item:hover{transform:scale(1.02)}.completed-user-empty{color:#666;text-align:center;padding:1rem}.c-user-avatar{object-fit:cover;border:2px solid #1a1a1a;border-radius:50%;width:40px;height:40px}.c-user-info{flex:1;min-width:0}.c-user-name{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.completed-user-actions{gap:.25rem;display:flex}.btn-msg-mini{color:#fff;background:#5b8dee;border:2px solid #1a1a1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;text-decoration:none;display:flex}.btn-msg-mini:hover{background:#4a7ac9}.btn-msg-mini.user-link{background:#48c9b0}.btn-msg-mini.user-link:hover{background:#3db39c}.course-slide-fab{color:#14475f;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #60b5e26b;border-radius:999px;padding:.82rem 1.05rem;font-size:.92rem;font-weight:900;position:static;box-shadow:0 16px 34px #60b5e238}.course-slide-fab:hover{background:#f4fbfe;box-shadow:0 20px 42px #60b5e247}.course-slide-dialog{border:1px solid #b8ddf1;border-radius:16px;width:100%;max-width:min(720px,100vw - 2rem);padding:1.25rem;box-shadow:0 26px 70px #0f172a47}.course-slide-dialog::backdrop{background:#0f172a73}.course-dialog-close{color:#317da8;cursor:pointer;float:right;font:inherit;background:#fff;border:2px solid #cde8f6;border-radius:999px;justify-content:center;align-items:center;min-height:2.15rem;margin:0 0 .5rem .5rem;padding:.35rem .95rem;font-weight:900;display:inline-flex}.course-dialog-close:hover{color:#14475f;background:#f4fbfe;border-color:#60b5e2}.course-slide-form{gap:.75rem;display:flex}.course-slide-form input{border:2px solid #1a1a1a;border-radius:8px;flex:1;padding:.75rem}.course-slide-results{margin-top:1rem}.course-slide-result-list{gap:.75rem;display:grid}.course-slide-result{color:inherit;border:2px solid #1a1a1a;border-radius:8px;gap:.25rem;padding:.75rem;text-decoration:none;display:grid}.course-slide-result span{color:#666;font-size:.78rem;font-weight:800}.course-slide-result strong,.course-slide-result p{margin:0}.topics-main-panel{max-width:1400px}.topics-hero{background:#fff;border:3px solid #1a1a1a;border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:2rem;display:flex;box-shadow:6px 6px #1a1a1a}.topics-hero h1{margin:0 0 .5rem;font-size:2rem;font-weight:900}.topics-hero p{margin:0}.topics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.topics-category-card{border:3px solid #1a1a1a;border-radius:16px;overflow:hidden;box-shadow:6px 6px #1a1a1a}.topics-category-head{border-bottom:2px solid #1a1a1a;padding:1rem}.topics-category-head h2{margin:0;font-size:1.1rem;font-weight:900}.topics-category-body{padding:1rem}.topics-category-description{color:#444;margin:0 0 1rem;font-size:.9rem}.topics-table-wrap{background:#fff;border:2px solid #1a1a1a;border-radius:8px;overflow:hidden}.topics-table{border-collapse:collapse;width:100%}.topics-table thead{background:#f0f0f0;border-bottom:2px solid #1a1a1a}.topics-table th,.topics-table td{text-align:left;vertical-align:middle;padding:.5rem}.topics-table th{font-size:.9rem;font-weight:900}.topics-table tr+tr{border-top:1px solid #eee}.topics-table a{color:#1a1a1a;font-weight:800;text-decoration:none}.topics-empty{color:#888;text-align:center;padding:1rem}.topic-detail-main{max-width:1400px}.topic-detail-card,.topic-response-card,.topic-empty-card{background:#fff;border:3px solid #1a1a1a;border-radius:16px;box-shadow:6px 6px #1a1a1a}.topic-detail-card{margin-bottom:1.5rem}.topic-detail-head{justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.topic-detail-category{background:#ffe69b;border:2px solid #1a1a1a;border-radius:999px;margin:0 0 .65rem;padding:.25rem .75rem;font-size:.85rem;font-weight:900;display:inline-flex}.topic-detail-head h1{margin:0;font-size:1.6rem;font-weight:900;line-height:1.35}.topic-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.danger-action{color:#dc3545;cursor:pointer;background:#fff;border:2px solid #dc3545;border-radius:8px;align-items:center;gap:.45rem;min-height:40px;padding:0 .85rem;font-weight:900;display:inline-flex}.topic-responses-panel{display:block}.topic-response-card{background:#fff;margin:0;overflow:hidden}.topic-response-card--root{margin-top:.65rem}.topic-responses-panel>.topic-response-card--root:first-child{margin-top:0}.topic-response-card--reply{margin-top:-3px}.topic-parent-badge{color:#fff;background:#007bff;border-radius:4px;margin:.5rem .75rem 0;padding:2px 8px;font-size:.8rem;font-weight:900;display:inline-flex}.topic-response-head{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .75rem .35rem;display:flex}.topic-response-author-line{align-items:center;gap:.4rem;min-width:0;display:flex}.topic-response-author-line strong,.topic-response-author-line a,.topic-response-author-line span{color:#1a1a1a;font-weight:900;text-decoration:none}.topic-response-head time{color:#888;flex:none;font-size:.85rem}.topic-response-body{gap:.75rem;padding:0 .75rem .75rem;display:flex}.topic-response-avatar{object-fit:cover;border-radius:50%;flex:none;width:40px;height:40px}.topic-response-copy{flex:1;min-width:0}.topic-response-text{overflow-wrap:anywhere;white-space:pre-wrap;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;min-height:1.25rem;margin:0;padding:.75rem}.topic-response-image{margin:.5rem 0 0}.topic-response-image img{object-fit:contain;border:1px solid #ddd;border-radius:8px;max-width:100%;max-height:300px}.topic-response-links{align-items:center;gap:1rem;margin-top:.5rem;display:flex}.topic-response-links button{color:#007bff;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem}.topic-response-links .topic-response-delete{color:#dc3545}.topic-empty-card{color:#888;text-align:center;padding:2rem}.topic-floating-actions{z-index:1000;gap:.75rem;display:flex;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.topic-round-button,.topic-write-button{color:#fff;cursor:pointer;border:3px solid #1a1a1a;font-weight:900;box-shadow:3px 3px #1a1a1a}.topic-round-button{border-radius:50%;width:50px;height:50px;font-size:1.3rem}.topic-round-button--top{background:#1e90ff}.topic-round-button--bottom{background:#ff69a3}.topic-write-button{background:#17a2b8;border-radius:12px;padding:.5rem 1rem;font-size:.9rem}.topic-bottom-spacer{height:80px}.topic-modal-backdrop{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.topic-modal{background:#fff;border:3px solid #1a1a1a;border-radius:16px;width:min(100%,500px);max-width:500px;padding:1.5rem;box-shadow:6px 6px #1a1a1a}.topic-modal-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.topic-modal-head h2{margin:0;font-size:1.25rem;font-weight:900}.topic-modal-close{color:#666;cursor:pointer;background:0 0;border:0;font-size:1.5rem}.topic-modal-copy{margin:0 0 1rem}.topic-response-input{box-sizing:border-box;resize:vertical;width:100%;min-height:150px}.topic-modal-actions{gap:.75rem;margin-top:1rem;display:flex}.topic-modal-actions>*{text-align:center;flex:1;justify-content:center}@media (width<=720px){.topic-detail-head,.topic-response-head{align-items:stretch;display:grid}.topic-detail-actions{justify-content:flex-start}.topic-response-card{margin-left:0!important}.topic-floating-actions{bottom:20px}}.math-shell,.math-main{width:100%}.math-page-layout{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;gap:18px;display:grid}.math-main-column,.math-side-column{gap:18px;min-width:0;display:grid}.math-quick-actions{gap:10px;display:grid}.math-summary-list{margin-top:0}.math-problem-grid{gap:14px;display:grid}.math-empty-state{gap:10px;padding:18px}.math-empty-actions{flex-wrap:wrap;gap:10px;display:flex}.math-problem-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;grid-template-columns:minmax(160px,180px) minmax(0,1fr);gap:16px;padding:18px;display:grid}.math-problem-card__media{aspect-ratio:4/3;border:1px solid var(--line);background:#f4f6fa;border-radius:8px;min-width:0;overflow:hidden}.math-problem-card__media img{object-fit:cover;width:100%;height:100%;display:block}.math-problem-card__placeholder{color:var(--muted);place-items:center;font-weight:800;display:grid}.math-problem-card__body{gap:10px;min-width:0;display:grid}.math-problem-card__badges{flex-wrap:wrap;gap:8px;display:flex}.math-badge{letter-spacing:0;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:.76rem;font-weight:900;display:inline-flex}.math-badge--past{color:#205b9a;background:#2f6fed1f}.math-badge--upload,.math-badge--easy{color:#0b8a61;background:#00a6761f}.math-badge--medium{color:#9a6a00;background:#f4c4302e}.math-badge--hard{color:#c0394d;background:#e85d751f}.math-badge--progress{color:#205b9a;background:#2f6fed1f}.math-badge--completed{color:#0b8a61;background:#00a6761f}.math-badge--not-started,.math-badge--neutral{color:#4b5563;background:#eef2f7}.math-problem-card__title{overflow-wrap:anywhere}.math-problem-card__text{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.6}.math-problem-card__meta{gap:8px;margin:0;display:grid}.math-problem-card__meta-row{border:1px solid var(--line);background:#f9fafc;border-radius:8px;gap:4px;padding:10px 12px;display:grid}.math-problem-card__meta-row dt{color:var(--muted);font-size:.78rem;font-weight:800}.math-problem-card__meta-row dd{overflow-wrap:anywhere;margin:0;font-weight:800}.math-problem-card__footer{gap:12px;padding-top:4px;display:grid}.math-problem-card__progress{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.math-problem-card__hint{color:var(--muted);font-size:.92rem}.math-problem-card__actions{flex-wrap:wrap;gap:10px;display:flex}.math-problem-card__actions>*{flex:170px}.math-portal-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:18px;width:100%;display:grid}.math-portal-side-column{gap:18px;min-width:0;display:grid}.math-portal-card{background:#fff;border:3px solid #1a1a1a;border-radius:16px;gap:18px;padding:22px;display:grid;position:relative;overflow:hidden;box-shadow:6px 6px #1a1a1a}.math-portal-card--selector{background:#fffdf6}.math-portal-card--utility{background:#f4fbff}.math-portal-bg-icon{color:#1a1a1a0d;pointer-events:none;font-size:clamp(2rem,5vw,4.5rem);font-weight:950;position:absolute;top:8px;right:14px}.math-choice-subgroup{gap:10px;display:grid;position:relative}.math-choice-subgroup__title{color:var(--ink);font-weight:900}.math-chip-grid{flex-wrap:wrap;gap:8px;display:flex}.math-choice-chip{color:#1a1a1a;cursor:pointer;background:#fff;border:2px solid #1a1a1a;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:8px 11px;font-weight:850;display:inline-flex}.math-choice-chip--wide{min-width:112px}.math-choice-chip--selected{background:#ffca3a;box-shadow:3px 3px #1a1a1a}.math-choice-chip__count{color:var(--muted);font-size:.78rem}.math-choice-chip--problem-option{text-align:left;border-radius:10px;justify-content:flex-start}.math-problem-option-groups{gap:14px;margin-top:8px;display:grid}.math-problem-option-group{gap:8px;display:grid}.math-problem-option-group__title{color:var(--muted);font-size:.85rem;font-weight:900}.math-problem-option-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.math-portal-utility-copy{color:var(--muted);margin:0;line-height:1.7}.math-common-actions,.math-summary-actions,.math-summary-grid{gap:10px;display:grid}.math-summary-row{border:1px solid var(--line);background:#f9fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.math-summary-row span{color:var(--muted);font-weight:800}.math-status-banner{color:var(--blue);background:#2f6fed14;border:1px solid #2f6fed40;border-radius:8px;padding:12px;font-weight:800}.math-detail-layout{gap:18px;width:100%;max-width:1120px;display:grid}.math-detail-hero,.math-page-section,.math-panel,.math-solution-card{background:#fff;border:3px solid #1a1a1a;border-radius:16px;box-shadow:6px 6px #1a1a1a}.math-detail-hero{gap:12px;padding:22px;display:grid}.math-detail-hero h1{overflow-wrap:anywhere;margin:0;font-size:2rem;font-weight:950}.math-detail-hero p{color:var(--muted);margin:0;line-height:1.65}.math-session-actions{flex-wrap:wrap;gap:10px;display:flex}.math-session-layout,.math-session-shell{gap:18px;width:100%;display:grid}.math-session-panels{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:start;gap:18px;display:grid}.math-session-panel-slot{min-width:0}.math-session-problem-panel{background:#f6f4ff}.math-session-problem__content{gap:14px;padding:18px;display:grid}.math-session-problem__title{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:900}.math-session-problem__statement{border:1px solid var(--line);color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:8px;padding:14px;line-height:1.85}.math-session-gallery{gap:14px;display:grid}.math-session-start-button{width:fit-content;margin-top:4px}.math-session-plan{gap:12px;margin-top:4px;display:grid}.math-session-plan__stack,.math-session-plan__empty{background:#fff;border:2px solid #1a1a1a;border-radius:14px;gap:12px;padding:14px;display:grid}.math-session-plan__summary{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.math-session-plan__summary-main{gap:3px;min-width:0;display:grid}.math-session-plan__route-label{color:var(--muted);font-size:.78rem;font-weight:900}.math-session-plan__route-name{color:var(--ink);overflow-wrap:anywhere;font-weight:950}.math-session-plan__progress-chip,.math-session-plan__step-state{border:1px solid var(--line);min-height:24px;color:var(--muted);white-space:nowrap;background:#f8fafc;border-radius:999px;align-items:center;padding:0 9px;font-size:.76rem;font-weight:850;display:inline-flex}.math-session-plan__note{color:var(--muted);margin:0;line-height:1.6}.math-session-plan__steps{gap:8px;display:grid}.math-session-plan__step{border:1px solid var(--line);background:#f9fafc;border-radius:10px}.math-session-plan__step--current{background:#2f6fed14;border-color:#2f6fed80}.math-session-plan__step--locked{opacity:.72}.math-session-plan__step-summary{align-items:center;gap:9px;min-width:0;padding:11px 12px;display:flex}details.math-session-plan__step>summary{cursor:pointer}.math-session-plan__step-index{color:var(--blue);white-space:nowrap;font-size:.78rem;font-weight:900}.math-session-plan__step-title{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:850}.math-session-plan__step-detail{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:0 12px 12px;line-height:1.7}.math-upload-layout,.math-upload-panel,.math-upload-form{gap:18px;display:grid}.math-upload-hero{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start}.math-upload-hero h2{margin:0;font-size:2rem;font-weight:950;line-height:1.25}.math-upload-steps{gap:10px;display:grid}.math-upload-form{padding:18px}.math-upload-field{gap:7px;font-weight:850;display:grid}.math-upload-card{border:2px solid #1a1a1a;border-radius:14px;gap:12px;padding:16px;display:grid}.math-upload-card--problem{background:#fffaf0}.math-upload-card--solution{background:#f8fafc}.math-upload-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.math-upload-card__head p{color:var(--muted);margin:4px 0 0;font-size:.9rem;line-height:1.6}.math-upload-actions,.math-upload-submit-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.math-upload-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.math-upload-message{color:#444;min-height:18px;font-size:.88rem;font-weight:750;line-height:1.5}.math-upload-image-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.math-upload-image-card{background:#fff;border:2px solid #1a1a1a;border-radius:14px;gap:8px;padding:12px;display:grid}.math-upload-image-card img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:100%;height:140px;display:block}.math-upload-draft{background:#fff;border:2px solid #1a1a1a;border-radius:14px;gap:8px;padding:14px;display:grid}.math-upload-draft p{color:#444;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.math-upload-checkbox{align-items:center;gap:8px;width:fit-content;font-weight:850;display:inline-flex}.math-upload-checkbox input{width:18px;height:18px}.math-page-section{gap:16px;padding:22px;display:grid}.math-section-header{gap:4px;display:grid}.math-section-header h2{margin:0;font-size:1.25rem;font-weight:900}.math-section-header p{color:var(--muted);margin:0}.math-topic-badges{margin-bottom:0}.math-detail-figure,.math-gallery-figure{background:#f0f0f0;border:3px solid #1a1a1a;border-radius:16px;margin:0;overflow:hidden;box-shadow:4px 4px #1a1a1a}.math-detail-figure img,.math-gallery-figure img{max-width:100%;height:auto;display:block}.math-problem-text,.math-solution-text,.math-hero-note p{color:#1f2937;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}.math-image-gallery{gap:16px;display:grid}.math-gallery-group{gap:10px;display:grid}.math-gallery-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.math-gallery-head h3{margin:0;font-size:1rem;font-weight:850}.math-gallery-head span{color:var(--muted);font-size:.8rem;font-weight:800}.math-gallery-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.math-solution-list{gap:14px;display:grid}.math-solution-card{gap:14px;padding:18px;display:grid;box-shadow:4px 4px #1a1a1a}.math-solution-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.math-solution-head strong{font-size:1.05rem;font-weight:900}.math-admin-meta-line{color:var(--muted);margin:4px 0 0;font-size:.9rem}.math-step-list{gap:10px;display:grid}.math-step-item{border:1px solid var(--line);background:#f9fafc;border-radius:8px;gap:5px;padding:12px;display:grid}.math-step-badge{color:var(--blue);font-size:.78rem;font-weight:900}.math-step-item strong{color:var(--ink)}.math-step-item span:last-child{color:var(--muted);line-height:1.6}.math-hero-note{background:#fffdf3;border:1px solid #f4c43073;border-radius:10px;gap:6px;padding:14px;display:grid}.math-hero-note h2{margin:0;font-size:1rem;font-weight:900}.math-review-hero{gap:14px;display:grid}.math-review-hero__body{gap:8px;display:grid}.math-review-hero h2{overflow-wrap:anywhere;margin:0;font-size:1.35rem;font-weight:950}.math-review-summary{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.8}.math-review-actions{flex-wrap:wrap;gap:10px;display:flex}.math-review-empty{padding-top:4px}.math-review-sections{gap:16px;display:grid}.math-review-list-block{gap:8px;display:grid}.math-review-list-title{color:var(--muted);margin:0;font-size:.84rem;font-weight:850}.math-review-list-empty{color:var(--muted);font-size:.92rem}.math-review-route-list{gap:12px;display:grid}.math-review-route-card{border:1px solid var(--line);background:#f9fafc;border-radius:8px;gap:12px;padding:14px;display:grid}.math-review-route-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.math-review-route-head strong{font-size:1rem;font-weight:900}.math-review-route-summary{color:var(--muted);margin:4px 0 0;font-size:.92rem}.math-review-route-step-list{gap:10px;display:grid}.math-review-route-step{border:1px solid var(--line);background:#fff;border-radius:8px;gap:5px;padding:12px;display:grid}.math-review-step-label{color:var(--blue);font-size:.78rem;font-weight:900}.math-review-step-title{color:var(--ink)}.math-review-step-detail{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.math-review-solution-text{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.math-review-note{background:#fffdf3;border:1px solid #f4c43073;border-radius:8px;gap:6px;padding:14px;display:grid}.math-review-note h3{margin:0;font-size:.95rem;font-weight:900}.math-review-note p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.math-review-problem-preview{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0;line-height:1.7}.math-insights-layout{gap:18px;width:100%;display:grid}.math-session-intro{background:linear-gradient(135deg,#f5fafff5,#fff9eff5);border:3px solid #1a1a1a;border-radius:16px;gap:9px;padding:18px;display:grid;box-shadow:6px 6px #1a1a1a}.math-session-intro h1,.math-session-intro h2{margin:0;font-size:1.75rem;font-weight:950}.math-session-intro p{color:var(--muted);margin:0;line-height:1.7}.math-session-note{background:#fff;border:3px solid #1a1a1a;border-radius:14px;gap:8px;padding:16px;display:grid;box-shadow:4px 4px #1a1a1a}.math-session-note strong{font-size:1rem}.math-session-note p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.7}.math-insights-action-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.math-insights-content{grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);align-items:start;gap:18px;display:grid}.math-insights-main,.math-insights-side{min-width:0}.math-insights-side{position:sticky;top:18px}.math-insights-panel{background:#fff;width:100%}.math-insights-panel__header,.math-insights-panel__body{padding:18px}.math-insights-panel__heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.math-insights-panel__title,.math-insights-stats__title{margin:0;font-weight:950}.math-insights-panel__subtitle{color:var(--muted);margin:5px 0 0;line-height:1.7}.math-insights-panel__body{gap:18px;display:grid}.math-insights-overview p{color:#444;margin-top:4px}.math-insights-summary-grid{align-items:start;gap:18px;display:grid}.math-insights-summary-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.math-insights-summary-grid--triple .math-session-note{min-height:100%}.math-insights-summary-grid--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.math-insights-summary-grid__list{color:var(--ink);gap:6px;margin:0;padding-left:18px;font-size:.92rem;line-height:1.6;display:grid}.math-insights-summary-grid__empty,.math-insights-stats__empty{color:var(--muted);margin:0;line-height:1.7}.math-insights-stats{gap:12px;display:grid}.math-insights-stats__card{gap:14px}.math-insights-stats__table-wrap{overflow-x:auto}.math-insights-stats__table{border-collapse:collapse;width:100%;min-width:620px;font-size:.9rem}.math-insights-stats__table th,.math-insights-stats__table td{border-bottom:2px solid #e5e7eb;padding:10px 8px}.math-insights-stats__table th{text-align:left;white-space:nowrap;border-bottom:3px solid #1a1a1a;font-weight:900}.math-insights-stats__label{vertical-align:top;font-weight:800}.math-insights-stats__num{text-align:right;white-space:nowrap}.math-admin-chip{color:#111;background:#f8fafc;border:2px solid #1a1a1a;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 11px;font-size:.8rem;font-weight:850;display:inline-flex}.math-admin-chip--accent{color:#166534;background:#dcfce7}.math-admin-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.math-admin-list-item{background:#fff;border:2px solid #1a1a1a;border-radius:14px;gap:5px;padding:15px 16px;display:grid}.math-admin-list-item strong{color:#111;line-height:1.5}.math-admin-list-link{color:inherit;gap:6px;text-decoration:none;display:grid}.math-admin-list-item-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.math-status-banner--error{color:var(--red);background:#e85d751a;border-color:#e85d7559}.math-session-chat{gap:16px;min-width:0;padding:0 18px 18px;display:grid}.math-session-chat__timeline{flex-direction:column;gap:14px;max-height:420px;padding:6px 8px;display:flex;overflow-y:auto}.math-session-chat__starter{align-self:flex-start}.math-session-chat__bubble--starter{background:linear-gradient(#fff 0%,#f7f5ff 100%);position:relative}.math-session-chat__message{gap:6px;width:100%;max-width:100%;display:grid}.math-session-chat__message-body{align-items:flex-end;gap:10px;min-width:0;display:flex}.math-session-chat__content{gap:6px;width:fit-content;min-width:0;max-width:min(90%,60rem);display:grid}.math-session-chat__message--assistant{align-self:flex-start}.math-session-chat__message--assistant .math-session-chat__message-body{flex-direction:column;align-items:flex-start;gap:7px}.math-session-chat__assistant-head{align-items:center;gap:8px;min-width:0;display:flex}.math-session-chat__message--pending .math-session-chat__bubble{animation:1.1s ease-in-out infinite alternate math-session-chat-pulse}.math-session-chat__message--assistant .math-session-chat__speaker{color:#6b46c1}.math-session-chat__message--assistant .math-session-chat__meta{justify-content:flex-start}.math-session-chat__message--assistant .math-session-chat__bubble{color:#1f2937;background:linear-gradient(#fff 0%,#f8f7ff 100%);border:3px solid #1a1a1a;border-radius:18px 18px 18px 4px;box-shadow:4px 4px #1a1a1a}.math-session-chat__message--user{align-self:flex-end;margin-left:auto}.math-session-chat__message--user .math-session-chat__message-body{justify-content:flex-end}.math-session-chat__message--user .math-session-chat__speaker{color:#1d4ed8}.math-session-chat__message--user .math-session-chat__meta{justify-content:flex-end}.math-session-chat__message--user .math-session-chat__bubble{color:#fff;background:linear-gradient(#5b8dee 0%,#4f7ddb 100%);border:3px solid #1a1a1a;border-radius:18px 18px 4px;box-shadow:4px 4px #1e40af47}.math-session-chat__meta{align-items:center;gap:8px;min-width:0;padding:0 3px;display:flex}.math-session-chat__speaker{font-size:.92rem;font-weight:900}.math-session-chat__phase{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;font-weight:750;overflow:hidden}.math-session-chat__avatar{object-fit:cover;background:#fff;border:3px solid #1a1a1a;border-radius:12px;flex:0 0 36px;align-self:flex-start;width:36px;height:36px;box-shadow:3px 3px #1a1a1a}.math-session-chat__bubble{word-break:break-word;min-width:0;padding:14px 16px;line-height:1.7}.math-session-chat__bubble--pending{background:linear-gradient(#fffef7 0%,#f5f3ff 100%)}.math-rich-text{white-space:pre-wrap;line-height:1.7}.math-chat-diagram{background:#ffffffe6;border:2px solid #1a1a1a24;border-radius:14px;margin-top:12px;padding:12px}.math-chat-diagram svg{width:100%;height:auto;max-height:220px;display:block}.math-session-composer{background:linear-gradient(#fffdfa 0%,#fff 100%);border:3px solid #1a1a1a;border-radius:18px;min-width:0;padding:15px;box-shadow:4px 4px #1a1a1a}.math-session-composer__layout{grid-template-columns:minmax(0,1fr) 84px;align-items:stretch;gap:12px;display:grid}.math-session-composer__input{box-sizing:border-box;resize:vertical;width:100%;min-width:0;max-width:100%;min-height:132px;font-family:inherit;font-size:1rem;line-height:1.7;display:block}.math-session-composer__actions{grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;min-width:0;min-height:132px;display:grid}.math-session-composer__icon-btn{color:#1a1a1a;cursor:pointer;background:#fff;border:3px solid #1a1a1a;border-radius:18px;justify-content:center;align-items:center;width:100%;min-height:0;font-size:1.2rem;display:inline-flex;position:relative;box-shadow:4px 4px #1a1a1a}.math-session-composer__icon-btn--send{color:#1d4ed8;background:linear-gradient(#eff6ff 0%,#dbeafe 100%)}.math-session-composer__icon-btn--stop{color:#b91c1c;background:linear-gradient(#fee2e2 0%,#fecaca 100%)}.math-session-composer__icon-btn:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#1a1a1a;border:2px solid #1a1a1a;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:850;line-height:1;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.math-session-composer__icon-btn:hover:after,.math-session-composer__icon-btn:focus-visible:after{opacity:1;transform:translate(-50%)}.math-session-chat__status{text-align:center;border:3px solid #1a1a1a;border-radius:16px;align-self:center;max-width:min(100%,34rem);padding:12px 16px;font-weight:850;line-height:1.65;box-shadow:3px 3px #1a1a1a}.math-session-chat__status--info{color:#166534;background:#eefbf6}.math-session-chat__status--error{color:#b91c1c;background:#fef2f2}@keyframes math-session-chat-pulse{0%{transform:translateY(0);box-shadow:4px 4px #1a1a1a}to{transform:translateY(-1px);box-shadow:5px 5px #1a1a1a}}@media (width<=968px){.dashboard-shell{grid-template-columns:1fr}.side-nav{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.side-nav nav{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.profile-panel,.progress-panel{grid-area:auto}.friend-content{grid-template-columns:1fr}.friend-summary-panel,#friends-panel{grid-column:auto}.messages-layout{grid-template-columns:1fr}.messages-sidebar{border-right:0}.messages-conversation.hidden-mobile,.messages-sidebar.hidden-mobile{display:none}.message-back-button{display:inline-flex}.reports-search-form,.gacha-layout,.typing-page-layout,.typing-game-grid,.tengoku-page-layout,.course-detail-layout,.course-detail-container,.math-portal-grid,.math-page-layout,.math-insights-content,.math-session-panels,.math-upload-hero{grid-template-columns:1fr}.math-insights-side{position:static;top:auto}.math-insights-summary-grid--triple,.math-insights-summary-grid--pair{grid-template-columns:1fr}.course-detail-head{padding:1rem;display:grid}.course-detail-image{flex-basis:auto;width:100%}.course-detail-steps{padding:1rem}.course-slide-fab{max-width:calc(100vw - 7rem);padding:.7rem .9rem}.course-slide-dialog{box-sizing:border-box;width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100vh - 2rem);overflow:auto}.course-slide-form{flex-direction:column}.course-slide-form input{width:100%;min-width:0}.completed-users-card{position:static}.typing-info-column{border-bottom:2px solid #f0f0f0;border-right:0;padding-bottom:14px;padding-right:0}.math-problem-card{grid-template-columns:1fr}}@media (width<=640px){.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{width:100%}.primary-action{flex:1}.side-nav nav{grid-template-columns:1fr 1fr}.metric-list,.friend-metric-list{grid-template-columns:1fr}.friend-actions .primary-action,.friend-actions .secondary-action,.friend-remove{width:100%}.message-content-wrapper{max-width:88%}.message-input-area{grid-template-columns:1fr}.reports-title-row,.report-detail-head,.status-panel{flex-direction:column;align-items:flex-start}.status-actions{justify-content:flex-start;width:100%}.qualifications-hero-actions{width:100%}.qualifications-billing-action,.qualifications-back-link{justify-content:center;width:100%}.avatar-grid,.shop-grid,.inventory-grid{grid-template-columns:1fr}.shop-header-content,.typing-title-row,.typing-result-actions{flex-direction:column;align-items:stretch}.typing-ranking-item{gap:8px;padding:.45rem 6px}.typing-ranking-rank{flex-basis:34px}.typing-ranking-rank-badge{width:28px;height:28px;font-size:.82rem}.typing-ranking-avatar{width:28px;height:28px}.typing-ranking-score{font-size:1rem}.typing-grid,.typing-new-list,.tengoku-play-shell .tengoku-problem .choices .choices-list,.course-category-grid,.math-upload-two-column{grid-template-columns:1fr}.course-slide-form{display:grid}.typing-play-shell,.tengoku-play-shell{padding:10px}.typing-play-shell .typing-problem{padding:.4rem;font-size:12px}.math-problem-card__actions>*{flex:100%}.math-session-composer__layout{grid-template-columns:1fr}.math-session-composer__actions{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));min-height:56px}.secondary-action,.form-actions .primary-action,.form-actions .secondary-action,.settings-actions .secondary-action,.billing-plan-card .primary-action{width:100%}.billing-plan-card{flex-direction:column;align-items:stretch}.billing-service-card{grid-template-columns:1fr;align-items:stretch}.billing-service-actions{grid-template-columns:1fr;display:grid}}.user-profile-shell{--neo-primary:#5b8dee;--neo-blue:#3498db;--neo-pink:#e74c3c;--neo-green:#2ecc71;--neo-text:#1a1a1a;--neo-border:3px solid #1a1a1a;--neo-radius:8px;--neo-shadow:4px 4px 0 #1a1a1a;--neo-shadow-hover:6px 6px 0 #1a1a1a}.user-profile-main-panel{max-width:1200px}.user-profile-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.user-profile-column{gap:.75rem;display:grid}.user-profile-shell .user-profile-card{border:var(--neo-border);border-radius:var(--neo-radius);box-shadow:var(--neo-shadow);padding:0;transition:box-shadow .2s,transform .2s;overflow:hidden}.user-profile-shell .user-profile-card:hover{box-shadow:var(--neo-shadow-hover);transform:translate(-2px,-2px)}.user-profile-shell .user-profile-card-head{border-bottom:var(--neo-border);padding:.5rem}.user-profile-shell .user-profile-card-head-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.user-profile-shell .user-profile-card-body{padding:1rem}.user-profile-shell .section-label{color:#1a1a1a;letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(135deg,#f39c12 0%,#e67e22 100%);border:4px solid #1a1a1a;margin-bottom:0;padding:.6rem 1.8rem;font-size:1rem;font-weight:900;transition:all .3s;display:inline-block;transform:rotate(-2deg);box-shadow:5px 5px #1a1a1a}.user-profile-shell .user-profile-label-pink{background:var(--neo-pink);color:#fff}.user-profile-shell .user-profile-label-blue{background:var(--neo-blue);color:#fff}.user-profile-shell .user-profile-label-yellow{color:var(--neo-text);background:#fdcb6e}.user-profile-shell .user-profile-label-cyan{color:#fff;background:#26c6da}.user-profile-shell .user-profile-label-green{background:var(--neo-green);color:#fff}.user-profile-shell .user-profile-card--profile{background:#fce4ec}.user-profile-shell .user-profile-card--status{background:#e3f2fd}.user-profile-shell .user-profile-card--stats{background:#fffde7}.user-profile-shell .user-profile-card--qualifications{background:#e0f7fa}.user-profile-shell .user-profile-card--works{background:#f1f8e9}.user-profile-summary{text-align:center;justify-items:center;gap:.75rem;display:grid}.user-profile-avatar{border:3px solid #1a1a1a;border-radius:50%;width:120px;height:120px;overflow:hidden;box-shadow:4px 4px #1a1a1a}.user-profile-avatar img{object-fit:cover;width:100%;height:100%}.user-profile-summary h1{margin:0;font-size:1.2rem}.user-profile-message{color:var(--muted);white-space:pre-wrap;margin:.75rem 0 0;font-size:.95rem;line-height:1.6}.user-profile-level-block{justify-items:center;gap:.5rem;display:grid}.user-profile-level{color:var(--neo-primary);font-size:1.5rem;font-weight:900}.user-profile-title-badge{color:#e65100;background:linear-gradient(135deg,#fff3e0 0%,#ffe0b2 100%);border:2px solid #ffb74d;align-items:center;gap:.35rem;display:inline-flex;box-shadow:2px 2px #ef6c00}.user-profile-edit-link,.user-profile-friend-button{justify-content:center;width:100%}.user-profile-friend-action{width:100%}.user-profile-friend-actions{gap:.5rem;width:100%;display:grid}.user-profile-friend-error{text-align:center;color:var(--muted);margin:0;font-size:.9rem}.user-profile-shell .user-profile-skill-list{gap:.75rem;display:grid}.user-profile-shell .user-profile-skill-item{background:#fff;border:2px solid #1a1a1a;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:700;display:flex}.user-profile-shell .user-profile-skill-item--total{background:#fff}.user-profile-skill-name{font-size:.9rem;font-weight:700}.user-profile-skill-value{font-size:1.1rem;font-weight:900}.user-profile-shell .user-profile-stats-grid{gap:.75rem;display:grid}.user-profile-shell .user-profile-stat-item{background:#fff;border:2px solid #1a1a1a;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.user-profile-stat-item span{color:#666;font-size:.9rem;font-weight:700}.user-profile-stat-item strong{font-size:1.2rem;font-weight:900}.user-profile-section-title{margin:.5rem 0 0;font-size:1rem}.user-profile-more-link{white-space:nowrap;font-size:.75rem}.user-profile-empty{color:var(--muted);margin:0}.user-profile-shell .user-qualification-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.user-profile-shell .user-qualification{background:#fff;border:2px solid #1a1a1a;border-radius:8px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;padding:.75rem;display:grid}.user-profile-shell .user-qualification-image,.user-profile-shell .user-work-image,.dashboard-legacy-page .user-work-image{color:#999;background:#f4f4f0;place-items:center;font-weight:900;display:grid;overflow:hidden}.user-profile-shell .user-qualification-image{border:2px solid #1a1a1a;border-radius:8px;width:54px;height:54px}.user-profile-shell .user-qualification-image img,.user-profile-shell .user-work-image img,.dashboard-legacy-page .user-work-image img{object-fit:cover;width:100%;height:100%}.user-profile-shell .user-qualification h3,.user-profile-shell .user-work h3,.dashboard-legacy-page .user-work h3{margin:0 0 4px;font-size:1rem}.user-profile-shell .user-qualification p,.user-profile-shell .user-work p,.dashboard-legacy-page .user-work p{color:#666;margin:0;font-size:.86rem;line-height:1.45}.user-profile-shell .user-work-list,.dashboard-legacy-page .user-work-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.user-profile-shell .user-work,.dashboard-legacy-page .user-work{color:inherit;background:#fff;border:2px solid #1a1a1a;border-radius:8px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:block;overflow:hidden;box-shadow:4px 4px #1a1a1a}.user-profile-shell .user-work:hover,.dashboard-legacy-page .user-work:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1a1a1a}.user-profile-shell .user-work-image,.dashboard-legacy-page .user-work-image{aspect-ratio:4/3;border-bottom:2px solid #1a1a1a}.user-profile-shell .user-work>div:last-child,.dashboard-legacy-page .user-work>div:last-child{padding:.75rem}@media (width<=900px){.user-profile-layout{grid-template-columns:1fr}}.maji-shell{--maji-ink:#182230;--maji-paper:#fff;--maji-line:#d8dee7;--maji-accent:#1d4ed8;--maji-accent-soft:#eef4ff;--maji-warn:#b45309;background:#f3f5f7}.maji-main{box-shadow:none;background:0 0;border:0}.maji-topbar h1{letter-spacing:0}.maji-billing-action{justify-content:center;min-width:120px}.maji-home{gap:18px;display:grid}.maji-command-band,.maji-study-summary{border:1px solid var(--maji-line);box-shadow:none;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.maji-kicker{color:var(--maji-accent);margin:0 0 4px;font-size:.78rem;font-weight:900}.maji-command-band h2{color:var(--maji-ink);margin:0;font-size:1.3rem}.maji-home-stats,.maji-study-meta{grid-template-columns:repeat(3,minmax(86px,1fr));gap:10px;display:grid}.maji-home-stat,.maji-study-meta div{border:1px solid var(--maji-line);background:#fff;border-radius:6px;padding:10px 12px}.maji-home-stat strong,.maji-study-meta dd{color:var(--maji-ink);margin:0;font-size:1.25rem;font-weight:900;line-height:1.1;display:block}.maji-home-stat span,.maji-study-meta dt{color:#667085;font-size:.74rem;font-weight:800}.maji-workbook-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.maji-workbook-card{border:1px solid var(--maji-line);background:var(--maji-paper);box-shadow:none;border-radius:6px;gap:12px;padding:14px;display:grid}.maji-workbook-card__head{gap:4px;display:grid}.maji-workbook-card__head h2{color:var(--maji-ink);margin:0;font-size:1.05rem;line-height:1.4}.maji-workbook-card__subline{color:#667085;margin:0;font-size:.78rem;font-weight:900;line-height:1.45}.maji-label-row{flex-wrap:wrap;gap:6px;display:flex}.maji-label,.maji-block-kind{background:var(--maji-accent-soft);min-height:24px;color:var(--maji-accent);border:1px solid #c7d4ea;border-radius:6px;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:900;display:inline-flex}.maji-workbook-card__description{color:#475467;margin:0;line-height:1.65}.maji-meter,.maji-study-meter em{background:#f2f4f7;border:1px solid #c7d4ea;border-radius:999px;height:8px;display:block;overflow:hidden}.maji-meter span,.maji-study-meter i{background:var(--maji-accent);height:100%;display:block}.maji-workbook-card__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.maji-workbook-card__meta div{border-top:1px solid var(--maji-line);padding-top:8px}.maji-workbook-card__meta dt{color:#667085;font-size:.72rem;font-weight:800}.maji-workbook-card__meta dd{color:var(--maji-ink);margin:2px 0 0;font-weight:900}.maji-workbook-card__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.maji-workbook-card__actions .primary-action,.maji-workbook-card__actions .secondary-action{flex:none;height:40px;min-height:40px;padding:0 16px;line-height:1}.maji-problem-list{gap:6px;display:grid}.maji-problem-link{border:1px solid var(--maji-line);color:#344054;background:#fbfdff;border-radius:6px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:7px 9px;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:grid}.maji-problem-link:hover{background:var(--maji-accent-soft);color:var(--maji-accent);border-color:#b8c9e6}.maji-problem-link span{background:var(--maji-accent-soft);width:28px;height:28px;color:var(--maji-accent);border-radius:6px;place-items:center;font-size:.78rem;font-weight:900;display:inline-grid}.maji-problem-link strong{overflow-wrap:anywhere;min-width:0;font-size:.9rem;line-height:1.38}.maji-problem-list__empty{border:1px solid var(--maji-line);color:#667085;background:#fbfdff;border-radius:6px;margin:0;padding:10px;font-weight:700}.maji-shell .primary-action{background:var(--maji-accent);border-radius:6px}.maji-shell .secondary-action{border-radius:6px}.maji-workbook-card__actions button.secondary-action{font:inherit;cursor:pointer}.maji-db-modal-backdrop{position:fixed;z-index:2147483647!important;background:#0f172a7a!important;place-items:center!important;padding:18px!important;display:grid!important;inset:0!important}.maji-db-modal{border:1px solid var(--maji-line,#d8dee7)!important;width:min(1560px,100vw - 12px)!important;height:min(96vh,1080px)!important;color:var(--maji-ink,#182230)!important;background:#fff!important;border-radius:8px!important;flex-direction:column!important;display:flex!important;overflow:hidden!important;box-shadow:0 24px 70px #0f172a3d!important}.maji-db-modal,.maji-db-modal *{box-sizing:border-box!important;letter-spacing:0!important}.maji-db-modal__head{border-bottom:1px solid var(--maji-line,#d8dee7);gap:12px;padding:14px 16px;flex:none!important;justify-content:space-between!important;align-items:center!important;display:flex!important}.maji-db-modal__head h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1rem;line-height:1.35}.maji-db-modal__close{border:1px solid var(--maji-line,#d8dee7);min-height:36px;color:var(--maji-ink,#182230);font:inherit;cursor:pointer;background:#fff;border-radius:6px;flex:none;padding:0 12px;font-weight:850}.maji-db-modal__state,.maji-db-modal__empty{color:#667085;margin:0;padding:18px;font-weight:800}.maji-db-modal__state--error{color:#b42318}.maji-db-modal__body{min-height:0;flex:auto!important;grid-template-columns:280px minmax(0,1fr)!important;align-content:stretch!important;gap:0!important;padding:0!important;display:grid!important;overflow:hidden!important}.maji-db-modal__nav{border-right:1px solid var(--maji-line,#d8dee7)!important;background:#f8fafc!important;align-content:start!important;gap:6px!important;min-height:0!important;padding:12px!important;display:grid!important;overflow:auto!important}.maji-db-modal__nav-item{-webkit-appearance:none!important;appearance:none!important;border:1px solid var(--maji-line,#d8dee7)!important;width:100%!important;height:auto!important;min-height:38px!important;color:var(--maji-ink,#182230)!important;font:inherit!important;text-align:left!important;cursor:pointer!important;background:#fff!important;border-radius:7px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:8px 9px!important;font-weight:850!important;line-height:1.25!important;display:grid!important}.maji-db-modal__nav-item:hover,.maji-db-modal__nav-item.is-active{border-color:var(--maji-accent,#2456d8)!important;background:var(--maji-accent-soft,#e8f0ff)!important}.maji-db-modal__nav-name{text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;overflow:hidden!important}.maji-db-modal__nav-count,.maji-db-modal__detail-count{background:var(--maji-accent-soft,#e8f0ff)!important;color:var(--maji-accent,#2456d8)!important;border-radius:999px!important;flex:none!important;justify-content:center!important;align-items:center!important;padding:3px 8px!important;font-size:.76rem!important;font-weight:900!important;line-height:1.2!important;display:inline-flex!important}.maji-db-modal__detail{background:#fff!important;grid-template-rows:auto minmax(0,1fr)!important;min-width:0!important;min-height:0!important;display:grid!important;overflow:hidden!important}.maji-db-modal__detail-head{border-bottom:1px solid var(--maji-line,#d8dee7)!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;display:flex!important}.maji-db-modal__detail-title{min-width:0!important;color:var(--maji-ink,#182230)!important;overflow-wrap:anywhere!important;margin:0!important;font-size:.9rem!important;font-weight:850!important;line-height:1.35!important}.maji-db-modal__section,.maji-db-modal__table{border:1px solid var(--maji-line,#d8dee7)!important;background:#fbfdff!important;border-radius:8px!important;margin:0!important;padding:0!important;display:block!important;overflow:hidden!important}.maji-db-modal__section h3{border-bottom:1px solid var(--maji-line,#d8dee7);padding:10px 12px;font-size:.86rem;height:auto!important;min-height:42px!important;max-height:none!important;color:var(--maji-ink,#182230)!important;margin:0!important;line-height:1.45!important;display:block!important;overflow:visible!important}.maji-db-modal__table-toggle{gap:12px;width:100%;-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;cursor:pointer!important;height:auto!important;min-height:44px!important;color:var(--maji-ink,#182230)!important;font:inherit!important;text-align:left!important;background:0 0!important;border:0!important;justify-content:space-between!important;align-items:center!important;max-height:none!important;padding:10px 12px!important;font-weight:800!important;line-height:1.35!important;display:flex!important;overflow:visible!important}.maji-db-modal__table-toggle strong{overflow-wrap:anywhere;min-width:0;font-size:.9rem;line-height:1.35;white-space:normal!important;display:block!important}.maji-db-modal__table-toggle span{background:var(--maji-accent-soft,#e8f0ff);color:var(--maji-accent,#2456d8);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:3px 8px;font-size:.76rem;font-weight:900;line-height:1.2;display:inline-flex}.maji-db-modal__table-toggle:hover{background:#f3f7ff}.maji-db-modal__json:not([hidden]){border-top:1px solid var(--maji-line,#d8dee7);min-height:120px;max-height:420px;color:var(--maji-ink,#182230)!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;background:#fff!important;margin:0!important;padding:14px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace!important;font-size:.88rem!important;line-height:1.6!important;display:block!important;overflow:auto!important}.maji-db-modal__json-viewer{border:0!important;border-top:1px solid var(--maji-line,#d8dee7)!important;width:100%!important;min-height:120px!important;max-height:460px!important;color:var(--maji-ink,#182230)!important;white-space:pre!important;resize:vertical!important;background:#fff!important;border-radius:0!important;padding:14px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace!important;font-size:.88rem!important;line-height:1.6!important;display:block!important;overflow:auto!important}.maji-db-modal__json-viewer--split{resize:none!important;border-top:0!important;height:100%!important;min-height:0!important;max-height:none!important}.maji-db-modal__section .maji-db-modal__json{border-top:0}@media (width<=640px){.maji-db-modal-backdrop{align-items:stretch;padding:10px}.maji-db-modal{height:calc(100vh - 20px)!important}.maji-db-modal__body{grid-template-rows:minmax(132px,32%) minmax(0,1fr)!important;grid-template-columns:1fr!important}.maji-db-modal__nav{border-right:0!important;border-bottom:1px solid var(--maji-line,#d8dee7)!important}}.maji-study-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.maji-section-rail{border:2px solid var(--maji-ink);box-shadow:5px 5px 0 var(--maji-ink);background:#fbf7e8;border-radius:8px;gap:10px;padding:12px;display:grid;position:sticky;top:90px}.maji-section-rail__head{color:var(--maji-ink);justify-content:space-between;align-items:center;font-weight:900;display:flex}.maji-section-nav{gap:8px;max-height:calc(100vh - 180px);display:grid;overflow:auto}.maji-section-button{border:1px solid var(--maji-line);width:100%;color:var(--maji-ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:10px;display:grid}.maji-section-button span{color:var(--maji-accent);grid-row:span 2;font-weight:900}.maji-section-button strong{overflow-wrap:anywhere;line-height:1.35}.maji-section-button small{color:#71695c;font-weight:700}.maji-study-stage,.maji-section-stack,.maji-block-stack{gap:16px;display:grid}.maji-study-meter{gap:8px;min-width:220px;display:grid}.maji-study-meter div{align-items:baseline;gap:8px;display:flex}.maji-study-meter span{color:var(--maji-ink);font-size:1.8rem;font-weight:900;line-height:1}.maji-study-meter small{color:#6d675a;font-weight:900}.maji-section-panel{border:2px solid var(--maji-ink);background:var(--maji-paper);box-shadow:5px 5px 0 var(--maji-ink);border-radius:8px;padding:18px;scroll-margin-top:90px}.maji-section-panel__head{gap:4px;margin-bottom:14px;display:grid}.maji-section-panel__head p{color:var(--maji-accent);margin:0;font-size:.74rem;font-weight:900}.maji-section-panel__head h2{color:var(--maji-ink);margin:0;font-size:1.2rem}.maji-section-panel__head span{color:#514b42;line-height:1.65}.maji-block{border:1px solid var(--maji-line);background:#fff;border-left:6px solid #c9bea8;border-radius:8px;gap:12px;padding:14px;display:grid}.maji-block.is-done{border-left-color:var(--maji-accent)}.maji-block.needs-review{border-left-color:var(--maji-warn)}.maji-block__head{align-items:center;gap:10px;display:flex}.maji-block__head h3{color:var(--maji-ink);margin:0;font-size:1rem}.maji-block__body{color:#383229;line-height:1.8}.maji-block__body p{margin:0 0 .8em}.maji-block__body p:last-child{margin-bottom:0}.maji-block__actions{flex-wrap:wrap;gap:8px;display:flex}.maji-empty{grid-column:1/-1}@media (width<=980px){.maji-command-band,.maji-study-summary{flex-direction:column;align-items:stretch}.maji-home-stats,.maji-study-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.maji-study-layout{grid-template-columns:1fr}.maji-section-rail{position:static}}@media (width<=640px){.maji-home-stats,.maji-study-meta,.maji-workbook-card__meta{grid-template-columns:1fr}.maji-section-button{grid-template-columns:28px minmax(0,1fr)}}.ai-runner-card{margin-top:1rem}.ai-runner-intro{color:var(--text-muted,#666);margin:0 0 1rem;line-height:1.7}.ai-runner-status-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.ai-runner-status-item{background:var(--neo-surface,#ffffffb3);border:1px solid #0000000f;border-radius:12px;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.ai-runner-status-label{color:var(--text-muted,#888);font-size:.78rem}.ai-runner-status-item strong{font-size:1.15rem}.ai-runner-limit-note{color:var(--text-muted,#888);margin:0 0 1rem;font-size:.85rem}.ai-runner-issue-row{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.ai-runner-label{font-size:.85rem;font-weight:700}.ai-runner-issue-controls{flex-wrap:wrap;gap:.5rem;display:flex}.ai-runner-input{background:#fff;border:1px solid #00000026;border-radius:10px;flex:220px;padding:.55rem .8rem;font-size:.95rem}.ai-runner-new-key{background:#2ecc711f;border:1px solid #2ecc7159;border-radius:12px;margin:0 0 1rem;padding:.9rem 1rem}.ai-runner-new-key-copy{color:#1d8348;margin:0 0 .5rem;font-size:.85rem;font-weight:700}.ai-runner-new-key-token-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ai-runner-new-key-token{word-break:break-all;user-select:all;background:#fff;border:1px solid #0000001f;border-radius:8px;flex:260px;padding:.5rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.ai-runner-subheading{margin:1.25rem 0 .5rem;font-size:.95rem}.ai-runner-key-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.ai-runner-key-item{background:var(--neo-surface,#fff9);border:1px solid #00000012;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .9rem;display:flex}.ai-runner-key-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.ai-runner-key-meta{color:var(--text-muted,#888);font-size:.78rem}.ai-runner-key-empty{color:var(--text-muted,#888);padding:.6rem 0;font-size:.9rem}.ai-runner-guide{background:#00000008;border-radius:12px;flex-direction:column;gap:.4rem;padding:.8rem 1rem;font-size:.88rem;line-height:1.7;display:flex}.ai-runner-guide p{margin:0}.ai-runner-guide code{word-break:break-all;background:#0000000f;border-radius:6px;padding:.1rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.ai-runner-guide-note{color:var(--text-muted,#888);font-size:.82rem}
