:root{--suoh: #22c55e;--suoh-quiet: #dcfce7;--sakura: #bae6fd;--kinari: #f8fafc;--washi: #ffffff;--sumi: #1f2937;--nezumi: #64748b;--line: rgba(148, 163, 184, .32);--line-strong: rgba(14, 165, 233, .42);--panel: rgba(255, 255, 255, .92);--panel-solid: #ffffff;--accent: var(--suoh);--gold: #f59e0b;--success: #22c55e;--success-deep: #16a34a;--duo-sky: #38bdf8;--duo-sky-deep: #0ea5e9;--duo-lime: #58cc02;--duo-lime-deep: #46a302;--duo-slate: #e5e7eb;--duo-slate-deep: #cbd5e1;--duo-cream: #fefce8;--danger: #f43f5e;--danger-deep: #e11d48;--ios-glass: rgba(255, 255, 255, .72);--ios-glass-strong: rgba(255, 255, 255, .84);--ios-border: rgba(255, 255, 255, .56);--ios-shadow: 0 1px 3px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06);--ios-shadow-float: 0 1px 3px rgba(15, 23, 42, .05), 0 18px 48px rgba(15, 23, 42, .12);--ios-nav-height: 70px;--topbar-height: var(--ios-nav-height);--ios-tabbar-height: 0px;--mobile-tabs-height: 0px;--hint-bar-height: 32px;--ad-banner-gap: 10px;--shadow-sm: var(--ios-shadow);--shadow-md: var(--ios-shadow-float);--radius: 16px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Helvetica Neue,Nunito,sans-serif;color:var(--sumi);background:linear-gradient(180deg,#fff,#f8fafc 44%,#eef6ff);line-height:1.55;font-weight:700;font-feature-settings:"tnum";-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}input,textarea,select{font-size:16px}button{transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .1s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:hover{transform:translateY(-1px)}button:active{transform:scale(.97)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(14,165,233,.45);outline-offset:3px}.app{display:flex;flex-direction:column;height:100%;padding-top:var(--topbar-height);padding-bottom:var(--ios-tabbar-height)}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);min-height:var(--topbar-height);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;padding:calc(10px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) 10px calc(18px + env(safe-area-inset-left));border-bottom:1px solid rgba(148,163,184,.2);background:#fffffff5;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px #ffffff9e inset,var(--ios-shadow);z-index:40}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#fff;background:var(--duo-lime);font-weight:1000;font-size:14px;box-shadow:0 4px 0 var(--duo-lime-deep);flex-shrink:0}.logo{flex-shrink:0;font-weight:900;font-size:21px;letter-spacing:0;white-space:nowrap;color:var(--success-deep);line-height:1.1}.tag{font-size:10px;letter-spacing:.08em;color:#075985;background:#e0f2fe;padding:3px 8px;border-radius:999px;border:1px solid rgba(14,165,233,.4);white-space:nowrap;font-weight:1000;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar-actions{display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:0}.auto-rotate-btn{min-width:max-content;white-space:nowrap}.btn,.review-action,.notebook-tools button,.note-expand,.notebook-close{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--duo-slate-deep);border-bottom-width:4px;background:#ffffffdb;color:var(--nezumi);padding:7px 13px;border-radius:14px;font-size:13px;cursor:pointer;box-shadow:var(--ios-shadow);font-weight:900;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}.btn:hover,.note-expand:hover,.notebook-close:hover,.notebook-tools button:hover{border-color:var(--line-strong);color:var(--duo-sky-deep);box-shadow:none}.btn:active,.review-action:active,.notebook-tools button:active,.note-expand:active,.notebook-close:active{border-bottom-width:2px;transform:scale(.97)}.btn.on,.review-action,.notebook-tools .tool-learned.on{background:var(--duo-lime);color:#fff;border-color:var(--duo-lime-deep);box-shadow:none;font-weight:1000;text-shadow:0 1px 0 rgba(0,0,0,.35)}.btn.on.primary-cta-dark,.primary-cta-dark{background:#111827;color:#fff;border-color:#020617;border-bottom-color:#020617;border-radius:999px;box-shadow:0 8px 18px #0f172a2e;text-shadow:none}.btn.on.primary-cta-dark:hover,.primary-cta-dark:hover{background:#020617;color:#fff;border-color:#020617;box-shadow:0 10px 22px #0f172a38}.mode-switch{display:flex;flex-direction:row;align-items:center;min-width:0;padding:3px;gap:4px;border:2px solid var(--duo-slate);border-radius:16px;background:#ffffffad;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.seg{border:2px solid transparent;border-bottom-width:4px;background:transparent;padding:6px 14px;border-radius:13px;font-size:13px;cursor:pointer;color:var(--nezumi);font-weight:1000;letter-spacing:.06em;text-transform:uppercase}.seg.on{background:#38bdf838;color:#075985;border-color:#0e749066;box-shadow:none}.seg:active{border-bottom-width:2px;transform:scale(.97)}.stage{position:relative;flex:1;min-height:0;overflow:hidden}.stage canvas{display:block}.canvas-wrap{position:absolute;top:0;right:0;bottom:0;left:0;transition:right .3s ease,bottom .3s ease}.canvas-wrap.shifted{left:244px;right:480px}.mobile-tabs,.mobile-sheet-backdrop,.mobile-sheet{display:none}.view-controls{position:absolute;left:50%;transform:translate(-50%);bottom:14px;display:flex;flex-direction:row;align-items:center;min-width:0;gap:8px;z-index:36;padding:5px;border:1px solid var(--line);background:var(--ios-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-radius:15px;box-shadow:var(--ios-shadow)}.view-controls button{width:38px;height:38px;border:1px solid transparent;background:transparent;border-radius:10px;font-size:17px;cursor:pointer;color:var(--sumi);flex-shrink:0}.view-controls button:hover{border-color:var(--line-strong);color:var(--suoh);background:#fff}.view-controls .dissect-toggle{width:38px;height:38px;border:1px solid transparent;background:transparent;border-radius:10px;font-size:17px;cursor:pointer;color:var(--sumi);flex-shrink:0}.view-controls .dissect-toggle:hover{border-color:var(--line-strong);background:#fff}.view-controls .dissect-toggle.on{background:#58cc02;border-color:#46a302;color:#fff;box-shadow:0 2px #46a302}.achieve-meter{margin:8px 0 10px;padding:12px 14px;background:linear-gradient(180deg,#fffdf8,#fff);border:1px solid var(--line);border-radius:14px;font-family:Nunito,system-ui,sans-serif}.achieve-bar{height:12px;background:#eef2f4;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.achieve-bar-fill{height:100%;background:linear-gradient(90deg,#58cc02,#1cb0f6);border-radius:999px;transition:width .6s cubic-bezier(.2,.9,.3,1.2);min-width:6px;box-shadow:0 1px #fff9 inset}.achieve-stats{display:flex;align-items:baseline;gap:10px;margin-top:8px}.achieve-pct{font-size:22px;font-weight:900;color:var(--suoh);font-variant-numeric:tabular-nums}.achieve-pct small{font-size:13px;margin-left:1px;font-weight:800}.achieve-detail{font-size:12px;color:#4b5563;line-height:1.4}.achieve-detail strong{color:var(--sumi);font-weight:800}.gam-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:13px;color:var(--sumi);-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:max-content;overflow:visible}.gam-pill .gam-icon{font-size:14px;line-height:1}.gam-pill .gam-val{display:inline-block;min-width:1ch;font-variant-numeric:tabular-nums;line-height:1;overflow:visible}.gam-hearts .gam-icon{color:#ff4b4b}.gam-hearts{background:#fff5f5;border-color:#ff4b4b33}.gam-streak.active{background:#fff0db;border-color:#ff9600}.gam-streak:not(.active){color:#6b7280}.gam-daily{background:#e5f4ff;border-color:#1cb0f633;color:#0f6baa}@keyframes heart-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.gam-hearts.lost{animation:heart-shake .6s ease-in-out;background:#ffd5d5;border-color:#ff4b4b}@keyframes streak-pulse{0%{transform:scale(1)}35%{transform:scale(1.22)}to{transform:scale(1)}}.gam-streak.bumped{animation:streak-pulse .5s cubic-bezier(.2,.9,.3,1.2)}.gam-toast{position:fixed;left:50%;top:60px;transform:translate(-50%);padding:12px 18px;border-radius:999px;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:14px;background:#fff;color:var(--sumi);border:1px solid var(--line);border-bottom:3px solid var(--line-strong);box-shadow:var(--shadow-md);z-index:50;pointer-events:none;animation:toast-in .28s cubic-bezier(.2,.9,.3,1.2),toast-out .32s 1.9s forwards}.gam-toast-milestone{background:linear-gradient(180deg,#fff6e0,#ffefc4);border-color:#ff9600;border-bottom-color:#c77600}.gam-toast-daily{background:linear-gradient(180deg,#e5f4ff,#c8e7fb);border-color:#1cb0f6;border-bottom-color:#0f6baa}@keyframes toast-in{0%{transform:translate(-50%,-16px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes toast-out{to{transform:translate(-50%,-8px);opacity:0}}.refill-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:refill-fade .2s ease-out}@keyframes refill-fade{0%{opacity:0}to{opacity:1}}.refill-card{position:relative;background:var(--ios-glass-strong);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-radius:24px 24px 18px 18px;padding:32px 28px 22px;max-width:420px;width:min(100%,420px);text-align:center;box-shadow:var(--ios-shadow-float),inset 0 0 0 1px var(--ios-border);font-family:Nunito,system-ui,sans-serif;animation:sheet-up .28s cubic-bezier(.2,.9,.3,1.05);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;-webkit-overflow-scrolling:touch}@keyframes sheet-up{0%{transform:translateY(26px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet-handle{position:absolute;top:10px;left:50%;transform:translate(-50%);width:36px;height:5px;border-radius:999px;background:#3c3c433d}.refill-emoji{font-size:56px;line-height:1;margin-bottom:6px}.refill-card h2{margin:4px 0 10px;font-weight:900;font-size:22px;color:var(--sumi)}.refill-lead{margin:4px 0 12px;font-size:15px;color:var(--sumi);line-height:1.5}.refill-hint{margin:8px 0 16px;font-size:13px;color:#6b7280}.refill-cta{display:block;width:100%;font-size:16px;padding:12px;font-weight:900;margin-bottom:8px}.refill-dismiss{display:block;width:100%}.rail.lesson-path{gap:14px;background:transparent;padding:0;border:0;box-shadow:none}.rail .rail-card{background:var(--ios-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--ios-border);border-bottom:3px solid var(--line-strong);border-radius:18px;padding:16px 18px;font-family:Nunito,system-ui,sans-serif;box-shadow:var(--ios-shadow),inset 0 0 0 1px #ffffff61}.rail .rail-card-eyebrow{font-size:10px;font-weight:900;letter-spacing:.12em;color:#5b6470;text-transform:uppercase;margin-bottom:8px}.rail .rail-character-card{padding-bottom:14px}.rail .rail-character-card .mascot-character{margin:0}.buddy-picker{display:flex;gap:6px;margin-top:10px}.buddy-pick{flex:1;padding:6px 4px;border:1px solid var(--line);border-bottom:2px solid var(--line-strong);border-radius:10px;background:#fff;cursor:pointer;font-family:Nunito,system-ui,sans-serif;font-size:11px;font-weight:800;color:var(--sumi)}.buddy-pick:hover{border-color:var(--line-strong)}.buddy-pick.on{background:#58cc02;color:#fff;border-color:#46a302;border-bottom-color:#2e7a00}.rail .rail-stages .lesson-hint{font-size:12px;color:#6b7280;margin:0 0 10px}.rail .rail-stages .stage-list{padding:0}.rail .rail-stages .world-progress-text{margin-top:10px}.rail .rail-promo{background:linear-gradient(180deg,#fff6e0,#ffe5ba);border-color:#f0b864;border-bottom-color:#e5a340}.rail-promo-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.rail-promo-emoji{font-size:28px;line-height:1}.rail-promo-title{margin:0;font-size:14px;font-weight:900;color:#6b4500}.rail-promo-sub{margin:2px 0 0;font-size:11px;color:#8b5a00}.rail-promo-btn{display:block;width:100%;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,#ffc233,#ff9600);border:1px solid #C97A00;border-bottom:3px solid #B36800;color:#fff;font-family:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 1px #fff6 inset}.rail-promo-btn:hover{filter:brightness(1.04)}.rail-promo-btn:active{transform:translateY(1px);border-bottom-width:1px}.mascot-character{margin:6px 0 8px;position:relative;width:100%;aspect-ratio:5 / 6;background:linear-gradient(180deg,#f7fafc,#eaf1f4);border:1px solid var(--line);border-bottom:3px solid var(--line-strong);border-radius:16px;overflow:hidden;font-family:Nunito,system-ui,sans-serif}.mascot-character>canvas{width:100%!important;height:100%!important;display:block}.preview-page{padding:24px;font-family:Nunito,system-ui,sans-serif;max-width:1400px;margin:0 auto}.preview-header{margin-bottom:24px}.preview-header h1{margin:0 0 4px}.preview-header p{margin:0 0 8px;color:#6b7280;font-size:13px}.preview-back{color:var(--suoh);font-weight:800;text-decoration:none}.preview-back:hover{text-decoration:underline}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.preview-char{background:#fff;border:1px solid var(--line);border-bottom:3px solid var(--line-strong);border-radius:18px;padding:14px}.preview-char-head{margin-bottom:10px}.preview-char-head strong{display:block;font-size:15px}.preview-scene{font-size:11px;color:#6b7280;font-weight:700}.preview-char-stage{display:flex;justify-content:center;margin-bottom:8px}.preview-char .mascot-character{width:100%;max-width:240px;aspect-ratio:5 / 6;margin:0}.preview-mood-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.preview-mood-btn{flex:1 1 60px;padding:6px 4px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-family:inherit;font-size:11px;font-weight:800}.preview-mood-btn:hover{border-color:var(--line-strong)}.preview-mood-btn.on{background:#58cc02;color:#fff;border-color:#46a302}.preview-src{display:block;font-size:10px;color:#9ca3af;word-break:break-all}.preview-head-row{display:flex;align-items:center;gap:8px;margin:4px 0 8px;font-size:11px;font-weight:800;color:var(--sumi)}.preview-head-row input[type=range]{flex:1}.mascot-character.mascot-corner{position:absolute;top:18px;right:18px;width:130px;height:130px;aspect-ratio:1 / 1;max-height:130px;margin:0;z-index:6}.mascot-character.mascot-corner .mascot-bubble{display:none}.mascot-character.mascot-talk{position:absolute;right:24px;bottom:78px;width:160px;height:200px;aspect-ratio:auto;margin:0;z-index:7;pointer-events:none;background:linear-gradient(180deg,#f7fafceb,#eaf1f4eb);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mascot-character.mascot-talk .mascot-bubble{bottom:auto;top:-8px;left:50%;right:auto;width:max-content;max-width:220px;transform:translate(-50%,-100%);padding:6px 10px;font-size:11px}.mascot-character.mascot-talk .mascot-bubble:after{top:auto;bottom:-6px;border-top:none;border-bottom:1px solid var(--line-strong);border-right:1px solid var(--line-strong)}.mascot-character.mascot-talk .mascot-bubble-hint{font-size:10px}.mascot-character.mascot-inside{width:100%;max-width:320px;height:280px;aspect-ratio:auto;margin:10px auto}.mascot-character.mascot-inside .mascot-bubble{display:none}.mascot-bubble{position:absolute;left:10px;right:10px;bottom:10px;padding:7px 10px;background:#fff;border:1px solid var(--line);border-bottom:3px solid var(--line-strong);border-radius:12px;font-size:12px;line-height:1.3;color:var(--sumi);box-shadow:0 2px #00000008;text-align:center;animation:bubble-pop .32s cubic-bezier(.2,.9,.3,1.2)}.mascot-bubble:after{content:"";position:absolute;left:50%;top:-6px;width:10px;height:10px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translate(-50%) rotate(45deg)}.mascot-bubble-main{font-weight:900}.mascot-bubble-hint{margin-top:2px;font-size:11px;color:#6b7280;font-weight:700}@keyframes bubble-pop{0%{transform:translateY(-6px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.mascot-label{position:absolute;left:16px;top:16px;z-index:4;display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;background:#fff;border:1px solid var(--line);border-bottom:3px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow-sm);font-family:Nunito,system-ui,sans-serif;pointer-events:none;animation:mascot-pop .32s cubic-bezier(.2,.9,.3,1.2)}.mascot-emoji{font-size:24px;line-height:1}.mascot-text{display:flex;flex-direction:column;line-height:1.15}.mascot-stage{font-size:10px;font-weight:800;letter-spacing:.08em;color:#6b7280}.mascot-sub{font-size:14px;font-weight:800;color:var(--sumi)}@keyframes mascot-pop{0%{transform:scale(.92);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}.panel{position:absolute;top:16px;width:236px;max-height:calc(100% - 32px);overflow:auto;background:var(--ios-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);-webkit-overflow-scrolling:touch;border:1px solid var(--ios-border);border-radius:var(--radius);padding:15px;box-shadow:var(--ios-shadow-float),inset 0 0 0 1px #ffffff6b;scrollbar-width:thin}.panel-left{left:16px}.panel-right{right:16px;width:248px}.panel h2{font-size:12px;letter-spacing:.04em;color:var(--nezumi);margin:0 0 10px;font-weight:750}.section-spaced{margin-top:18px!important}.eyebrow{font-size:10px;letter-spacing:.08em;color:#831833;text-transform:uppercase;font-weight:800;margin-bottom:1px}.locate-bar{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:12px;background:var(--ios-glass-strong);border:1px solid var(--ios-border);border-radius:999px;padding:8px 12px 8px 18px;box-shadow:var(--shadow-md);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);max-width:calc(100% - 540px)}.locate-step{font-size:12px;color:var(--nezumi);white-space:nowrap}.locate-q{font-size:15px;font-weight:700}.locate-result{font-size:15px;font-weight:700;white-space:nowrap}.locate-mark{font-weight:800}.locate-mark.ok{color:var(--success)}.locate-mark.ng{color:var(--danger)}.lesson-path{position:absolute;top:18px;left:50%;transform:translate(-50%);width:min(520px,calc(100% - 32px));max-height:calc(100% - 36px);overflow:auto;-webkit-overflow-scrolling:touch;background:var(--ios-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--ios-border);border-radius:24px;padding:20px 22px 26px;box-shadow:var(--shadow-md);z-index:6;scrollbar-width:thin}.lesson-path:before{content:none}.lesson-path-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.lesson-path h2{margin:0;font-size:26px;line-height:1.1;color:var(--sumi);letter-spacing:0}.lesson-hint{margin:12px 0 18px;font-size:13px;color:var(--nezumi);line-height:1.7}.mannequin-banner{margin:10px 0 6px;padding:12px 14px;border-radius:14px;background:var(--duo-lime);color:#fff;font-weight:900;font-size:14px;line-height:1.5;border:2px solid var(--duo-lime-deep);border-bottom-width:4px;box-shadow:none}.layer-row.locked{opacity:.55}.layer-row.locked input{cursor:not-allowed}.premium-cta{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;margin:4px 0 14px;padding:14px 15px;border-radius:16px;cursor:pointer;border:2px solid #7c3aed;border-bottom-width:4px;background:linear-gradient(135deg,#8b5cf6,#22c55e);box-shadow:var(--ios-shadow),inset 0 0 0 1px #ffffff40}.premium-cta:hover{border-color:#6d28d9}.premium-cta:active{border-bottom-width:2px;transform:scale(.97)}.premium-cta-main{font-size:15px;font-weight:1000;color:#fff;letter-spacing:.04em;text-transform:uppercase}.premium-cta-sub{font-size:11px;font-weight:800;color:#ffffffe0;line-height:1.5}.premium-badge{margin:4px 0 14px;padding:10px 12px;border-radius:14px;font-size:12px;font-weight:1000;color:var(--success-deep);background:#dcfce7;border:2px solid rgba(34,197,94,.35)}.dissect-bar{position:absolute;bottom:68px;left:50%;transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:8px;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:999px;padding:7px 10px 7px 16px;box-shadow:var(--shadow-md);box-sizing:border-box;max-width:calc(100% - 80px)}.dissect-hint{font-size:13px;font-weight:800;color:var(--suoh);white-space:nowrap}.dissect-btn{border:1px solid var(--line);background:#ffffffc7;color:var(--sumi);padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}.dissect-btn:hover{border-color:var(--line-strong);color:var(--suoh)}.selfstudy-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;text-align:center;max-width:340px;padding:8px}.selfstudy-empty-emoji{font-size:44px;line-height:1;margin-bottom:10px;opacity:.7}.selfstudy-empty-title{font-size:17px;font-weight:900;color:var(--sumi);margin-bottom:6px}.selfstudy-empty p{font-size:13px;color:var(--nezumi);line-height:1.7;margin:0 0 16px}.isolated-view{position:absolute;left:20px;bottom:20px;z-index:6;width:340px;height:340px;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#fff,#eff3f6);border:1px solid var(--line);box-shadow:var(--shadow-md)}.isolated-view canvas{display:block}.isolated-label{position:absolute;top:12px;left:14px;z-index:7;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--sumi);background:#ffffffeb;border:1px solid var(--line);padding:5px 12px;border-radius:999px}@media (max-width: 760px){.isolated-view{width:168px;height:168px;left:10px;bottom:84px}.isolated-label{font-size:11px;padding:3px 9px}}.stage-list{display:flex;flex-direction:column;gap:18px;padding:6px 2px 2px}.stage-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;text-align:left;padding:12px 16px 12px 12px;border-radius:18px;border:2px solid var(--duo-slate);border-bottom-width:4px;background:var(--panel-solid);box-shadow:none;cursor:pointer;transition:transform .12s ease,border-color .15s ease,background .15s ease}.stage-card.linked:after{content:"";position:absolute;left:42px;top:100%;width:6px;height:18px;background:repeating-linear-gradient(180deg,rgba(148,163,184,.45) 0 5px,transparent 5px 9px);opacity:1;border-radius:999px}.stage-card:not(.locked):hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:none}.stage-card:not(.locked):active{transform:scale(.97);border-bottom-width:2px}.stage-card.locked{cursor:not-allowed}.stage-card.locked:hover{transform:none;border-color:var(--duo-slate)}.stage-card.cleared{border-color:#22c55e8c;background:#f0fdf4}.stage-card.current{border-color:var(--duo-lime-deep);background:#f7fee7}.stage-card.final{color:var(--sumi);background:#fffbeb;border-color:#f59e0b}.stage-card.final.locked{opacity:.92}.stage-no{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:900;background:var(--duo-sky);color:#fff;border:2px solid var(--duo-sky-deep);border-bottom-width:8px;box-shadow:none}.stage-card.current .stage-no{background:var(--duo-lime);border-color:var(--duo-lime-deep);animation:duo-bounce 1.35s ease-in-out infinite}.stage-card.cleared .stage-no{background:var(--duo-lime);border-color:var(--duo-lime-deep)}.stage-card.final .stage-no{background:#facc15;color:#713f12;border-color:#eab308}.stage-card.locked .stage-no{background:#e5e7eb;color:#94a3b8;border-color:#cbd5e1}.stage-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.stage-name{font-size:10px;font-weight:1000;color:inherit;opacity:.62;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.stage-sub{font-size:17px;font-weight:1000;color:inherit;line-height:1.2;white-space:nowrap}.stage-prog{font-size:11px;font-weight:1000;color:var(--nezumi);white-space:nowrap;letter-spacing:.06em}.stage-card.cleared .stage-prog{color:var(--success-deep)}.stage-card.final .stage-prog{color:#f0b429}.world-progress-text{margin-top:14px;text-align:center;color:var(--nezumi);font-size:12px;font-weight:850}.seg-badge{margin-left:5px;font-size:8px;font-weight:900;letter-spacing:.04em;vertical-align:top;opacity:.7;text-transform:uppercase}.view-controls-sep{width:1px;align-self:stretch;margin:4px 2px;background:var(--line);flex-shrink:0}.stage--lecture .canvas-wrap{left:248px;right:46%;transition:left .25s ease,right .25s ease}.stage--lecture.lecture-collapsed .canvas-wrap{left:0}.lecture-sidebar{position:absolute;top:0;left:0;width:248px;height:100%;z-index:6;background:linear-gradient(180deg,#2b2b3a,#20202b);color:#fff;padding:20px 16px;overflow:auto;display:flex;flex-direction:column;gap:4px;-webkit-overflow-scrolling:touch;transition:transform .25s ease}.lecture-collapsed .lecture-sidebar{transform:translate(-100%)}.lecture-sidebar-toggle{position:absolute;top:14px;left:14px;z-index:7;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--panel-solid);color:var(--sumi);font-size:17px;cursor:pointer;box-shadow:var(--shadow-sm)}.lecture-sidebar-toggle:hover{border-color:var(--line-strong);color:var(--suoh)}.lecture-switch{display:flex;gap:6px;margin:6px 0 12px;flex-wrap:wrap}.lecture-switch-btn{display:flex;align-items:center;gap:6px;flex:1 1 auto;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:#ffffffd1;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.lecture-switch-btn:hover{background:#ffffff1f}.lecture-switch-btn.on{background:#fff;color:#20202b;border-color:#fff}.lecture-switch-kind{font-size:9px;font-weight:900;padding:1px 5px;border-radius:999px;background:#ffffff2e;color:inherit}.lecture-switch-btn.on .lecture-switch-kind{background:#20202b1f}.lecture-sidebar .eyebrow{color:#fff9}.lecture-title{font-size:17px;font-weight:900;margin:4px 0;line-height:1.35}.lecture-subtitle{font-size:12px;color:#ffffff9e;margin:0 0 14px;line-height:1.6}.lecture-chapters{display:flex;flex-direction:column;gap:8px}.lecture-chapter{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:11px;padding:11px 13px;cursor:pointer;font-size:13px;font-weight:700}.lecture-chapter:hover{background:#ffffff24;border-color:#ffffff47}.lecture-chapter.on{background:var(--duo-sky);border-color:var(--duo-sky);box-shadow:0 6px 18px #18aee54d}.lecture-chapter-title{line-height:1.3}.lecture-chapter-tag{flex:0 0 auto;font-size:10px;font-weight:900;background:#fff3;border-radius:999px;padding:2px 7px}.lecture-mode{display:flex;gap:6px;margin-bottom:14px;background:#ffffff0f;padding:4px;border-radius:999px}.lecture-mode-btn{flex:1;font-size:12px;font-weight:600;padding:7px 0;border-radius:999px;border:none;background:transparent;color:#ffffffa6;cursor:pointer}.lecture-mode-btn.on{background:#fff;color:#1a1a1a}.arrow-tools{margin-top:16px;padding:12px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.arrow-tools-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:#ffffffd1}.arrow-tools-toggle{font-size:11px;padding:4px 10px;border-radius:999px;border:1px solid rgba(225,29,107,.5);background:transparent;color:#ff8fb6;cursor:pointer}.arrow-tools-toggle.on{background:#e11d6b;border-color:#e11d6b;color:#fff}.arrow-tools-toggle:disabled{opacity:.4;cursor:not-allowed}.arrow-tools-types{display:flex;gap:6px;margin-top:10px}.arrow-type-btn{flex:1;font-size:11px;padding:6px 4px;border-radius:7px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:#ffffffc7;cursor:pointer}.arrow-type-btn.on{background:#e11d6b;border-color:#e11d6b;color:#fff}.arrow-dir-btn{width:100%;margin-top:8px;font-size:11px;padding:6px 8px;border-radius:7px;border:1px solid rgba(255,255,255,.2);background:#ffffff12;color:#ffffffd9;cursor:pointer}.arrow-dir-btn:hover{background:#ffffff1f}.arrow-tools-hint{margin:8px 0 4px;font-size:11px;color:#16d36b}.arrow-tools-row{display:flex;gap:6px;margin-top:10px}.arrow-tools-row button{flex:1;font-size:10px;padding:6px 4px;border-radius:7px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:#ffffffc7;cursor:pointer}.arrow-tools-row button:disabled{opacity:.35;cursor:not-allowed}.arrow-tools-count{margin-top:8px;font-size:10px;color:#ffffff80;text-align:right}.arrow-list{list-style:none;margin:8px 0 0;padding:0;max-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.arrow-list-item{display:flex;align-items:center;gap:6px;font-size:10px;padding:4px 6px;border-radius:6px;background:#ffffff0d;color:#ffffffc7;cursor:pointer}.arrow-list-item.sel{background:#e11d6b47;outline:1px solid #e11d6b}.arrow-edit{margin-top:10px;padding:10px;border-radius:8px;background:#e11d6b1f;border:1px solid rgba(225,29,107,.3)}.arrow-edit-title{font-size:11px;font-weight:600;color:#ff8fb6;margin-bottom:8px}.arrow-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.arrow-edit-grid button{font-size:11px;padding:6px 4px;border-radius:7px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#ffffffd9;cursor:pointer}.arrow-edit-grid button:hover{background:#ffffff24}.arrow-list-no{width:16px;color:#fff6}.arrow-list-type{font-weight:600;color:#ff8fb6}.arrow-list-meta{color:#ffffff80}.arrow-list-del{margin-left:auto;width:18px;height:18px;border-radius:4px;border:none;background:#e11d6b40;color:#ff8fb6;cursor:pointer;line-height:1}.arrow-list-del:hover{background:#e11d6b;color:#fff}.lecture-demo-note{margin-top:auto;padding-top:16px;font-size:10px;color:#ffffff7a;line-height:1.6}.lecture-video{position:absolute;top:0;right:0;width:46%;height:100%;z-index:6;background:var(--panel-solid);border-left:1px solid var(--line);padding:20px 22px;overflow:auto;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch}.lecture-video-label{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--nezumi);text-transform:uppercase}.lecture-video-lesson{margin-left:8px;color:var(--suoh)}.lecture-video-el{width:100%;border-radius:14px;background:#000;aspect-ratio:16/9;box-shadow:var(--shadow-md)}.lecture-note{background:var(--washi);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.lecture-note-hint{font-size:13px;color:var(--nezumi);line-height:1.7;margin:0}.lecture-note-title{font-size:16px;font-weight:900;margin-bottom:6px}.lecture-note p{font-size:13px;line-height:1.7;margin:0 0 8px;color:var(--sumi)}.lecture-note-muscles{display:flex;flex-wrap:wrap;gap:6px}.lecture-muscle-chip{font-size:11px;font-weight:800;color:#0b6e93;background:#18aee524;border:1px solid rgba(24,174,229,.3);border-radius:999px;padding:3px 9px}@media (max-width: 900px){.stage--lecture .canvas-wrap{left:0;right:0;top:38%}.lecture-sidebar{width:100%;height:38%;flex-direction:column}.lecture-video{display:none}}.stage-detail-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.stage-detail-head h2{margin:0;font-size:22px;display:flex;align-items:baseline;gap:10px}.stage-detail-head h2 small{font-size:14px;font-weight:700;color:var(--nezumi)}.stage-back{border:2px solid var(--duo-slate-deep);border-bottom-width:4px;background:var(--panel-solid);border-radius:14px;padding:7px 14px;font-size:13px;font-weight:1000;cursor:pointer;color:var(--nezumi);letter-spacing:.04em}.stage-back:hover{border-color:var(--line-strong)}.stage-back:active{border-bottom-width:2px;transform:scale(.97)}.level-list{display:flex;flex-direction:column;gap:10px}.level-node{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;padding:10px 14px 10px 10px;border-radius:17px;border:2px solid var(--duo-slate);border-bottom-width:4px;background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none;cursor:pointer}.level-node:hover{border-color:var(--line-strong);box-shadow:none}.level-node:active{border-bottom-width:2px;transform:scale(.97)}.level-node.done{border-color:#22c55e8c;background:#f0fdf4}.level-no{flex:0 0 auto;min-width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--duo-sky);font-size:13px;font-weight:1000;color:#fff;text-align:center;border:2px solid var(--duo-sky-deep);border-bottom-width:6px;box-shadow:none}.level-node.done .level-no{background:var(--duo-lime);color:#fff;border-color:var(--duo-lime-deep)}.level-name{flex:1 1 auto;font-size:15px;font-weight:1000;color:var(--sumi)}.level-prog{flex:0 0 auto;font-size:12px;font-weight:1000;color:var(--nezumi);letter-spacing:.05em}.level-node.done .level-prog{color:var(--success-deep)}.final-launch{text-align:center;padding:24px 16px}.final-emoji{font-size:56px;line-height:1;margin-bottom:8px}.final-launch h3{margin:4px 0 8px;font-size:22px}.final-launch p{font-size:13px;color:var(--nezumi);line-height:1.7;margin:0 auto 18px;max-width:320px}.final-start{font-size:15px;padding:12px 28px}.final-cleared{color:var(--success-deep);font-weight:800;margin-top:12px}.stage.has-level-confirm .canvas-wrap,.stage:has(.level-confirm) .canvas-wrap{top:48%}.level-confirm{display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 16px 20px}.level-confirm-progress{width:min(260px,100%);height:9px;margin:0 auto 16px;border-radius:999px;background:#e5e7eb;overflow:hidden}.level-confirm-progress span{display:block;width:64%;height:100%;border-radius:inherit;background:#d4f573}.level-confirm-talk{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;width:100%;max-width:360px;margin:0 auto 14px}.level-confirm-talk .mascot-character.mascot-inside{width:104px;height:112px;margin:0;border-radius:18px;border-color:#d4f573e6;border-bottom-color:#b9e946;background:linear-gradient(180deg,#f7fee7,#eff6ff);box-shadow:0 6px 18px #84cc1626}.level-confirm-emoji{width:104px;height:104px;display:grid;place-items:center;font-size:52px;line-height:1;border-radius:18px;background:#f7fee7;border:2px solid #d4f573}.level-confirm-bubble{position:relative;padding:13px 14px;text-align:left;background:#fff;border:3px solid #d4f573;border-bottom-width:5px;border-radius:18px;box-shadow:0 8px 18px #0f172a0f}.level-confirm-bubble:before{content:"";position:absolute;left:-9px;top:44px;width:14px;height:14px;background:#fff;border-left:3px solid #d4f573;border-bottom:3px solid #d4f573;transform:rotate(45deg)}.level-confirm-region{margin-bottom:4px;font-size:12px;font-weight:1000;color:var(--success-deep);letter-spacing:.04em}.level-confirm h3{margin:0;font-size:17px;line-height:1.45;letter-spacing:0}.level-confirm p{font-size:13px;color:var(--nezumi);line-height:1.75;margin:0 auto 18px;max-width:330px}.level-confirm-start{display:inline-flex;align-items:center;width:min(300px,100%);min-height:54px;justify-content:center;font-size:16px;padding:13px 38px;border-radius:999px}.level-confirm .level-confirm-back{margin:12px auto 0;min-height:0;padding:4px 10px;border:0;background:transparent;box-shadow:none;color:var(--nezumi);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.level-confirm .level-confirm-back:hover{color:var(--suoh);box-shadow:none}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:calc(14px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));background:linear-gradient(180deg,#fff,#f8fafc 48%,#eef6ff)}.onboarding-card{width:min(430px,100%);max-height:min(720px,100%);display:flex;flex-direction:column;gap:18px;padding:18px;border-radius:28px;background:#fffffff0;border:1px solid rgba(148,163,184,.28);box-shadow:var(--ios-shadow-float);overflow:auto;-webkit-overflow-scrolling:touch}.onboarding-progress{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden;flex:0 0 auto}.onboarding-progress span{display:block;height:100%;border-radius:inherit;background:#d4f573;transition:width .22s ease}.onboarding-welcome,.onboarding-talk,.onboarding-role{display:flex;flex-direction:column;align-items:stretch;min-height:0}.onboarding-welcome{justify-content:center;text-align:center;padding:24px 6px 10px}.onboarding-hero-mark{width:132px;height:132px;display:block;object-fit:cover;margin:0 auto 20px;border-radius:30px;background:#eef3f8;box-shadow:0 10px #cdd7e3,0 22px 40px #0f172a2e}.onboarding-kicker{margin:0 0 6px;font-size:12px;color:var(--success-deep);font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.onboarding-card h1{margin:0;color:#111827;font-size:32px;line-height:1.18;letter-spacing:0}.onboarding-card p{margin:8px 0 0;color:var(--nezumi);font-size:14px;line-height:1.75}.onboarding-talk{gap:14px;align-items:center}.onboarding-talk .mascot-character.mascot-inside,.onboarding-prompt .mascot-character.mascot-inside{width:min(260px,78vw);height:230px;margin:0 auto;border-color:#d4f573e6;border-bottom-color:#b9e946;background:linear-gradient(180deg,#f7fee7,#eff6ff)}.onboarding-bubble{position:relative;width:100%;padding:16px;border:3px solid #d4f573;border-bottom-width:5px;border-radius:20px;background:#fff;text-align:left;box-shadow:0 8px 18px #0f172a0f}.onboarding-bubble:before{content:"";position:absolute;left:50%;top:-9px;width:14px;height:14px;background:#fff;border-left:3px solid #d4f573;border-top:3px solid #d4f573;transform:translate(-50%) rotate(45deg)}.onboarding-prompt{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:12px}.onboarding-prompt .mascot-character.mascot-inside{width:100px;height:112px}.onboarding-prompt .onboarding-bubble:before{left:-9px;top:44px;border-top:0;border-right:0;border-bottom:3px solid #d4f573;transform:rotate(45deg)}.onboarding-prompt h1{font-size:22px}.onboarding-options{display:flex;flex-direction:column;gap:9px;margin-top:14px}.onboarding-option{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:52px;padding:9px 13px;border:2px solid var(--duo-slate);border-bottom-width:4px;border-radius:16px;background:#fff;color:var(--sumi);text-align:left;cursor:pointer}.onboarding-option span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f8fafc;font-size:19px}.onboarding-option strong{min-width:0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.onboarding-option.selected{border-color:#93c5fd;border-bottom-color:#60a5fa;background:#e8f0ff}.onboarding-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:auto;flex:0 0 auto}.onboarding-cta{width:100%;min-height:54px;font-size:16px;padding:13px 20px}.onboarding-cta:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}.onboarding-link{min-height:38px;padding:6px 12px;border:0;background:transparent;color:var(--nezumi);font-size:13px;font-weight:900;text-decoration:underline;text-underline-offset:4px;cursor:pointer}@media (max-width: 430px){.level-confirm{padding:14px 12px 18px}.level-confirm-talk{grid-template-columns:86px minmax(0,1fr);gap:10px}.level-confirm-talk .mascot-character.mascot-inside,.level-confirm-emoji{width:86px;height:96px}.level-confirm h3{font-size:15px}.level-confirm-bubble{padding:11px 12px;border-radius:16px}.onboarding-overlay{align-items:stretch}.onboarding-card{width:100%;max-height:100%;border-radius:24px;padding:14px;gap:14px}.onboarding-card h1{font-size:28px}.onboarding-talk .mascot-character.mascot-inside{height:min(220px,31dvh)}.onboarding-prompt{grid-template-columns:78px minmax(0,1fr)}.onboarding-prompt .mascot-character.mascot-inside{width:78px;height:92px}.onboarding-prompt h1{font-size:19px}.onboarding-prompt p{font-size:12px;line-height:1.55}.onboarding-option{min-height:48px;padding:8px 11px}}.lesson-path.stage-map,.lesson-path.stage-detail{background:var(--ios-glass);border-color:var(--ios-border);box-shadow:var(--ios-shadow-float),inset 0 0 0 1px #ffffff5c}@media (min-width: 761px){.lesson-path.stage-map,.lesson-path.stage-detail{left:auto;right:24px;transform:none;width:min(520px,calc(100% - 48px))}}.lesson-progress-ring{--lesson-progress: 0%;display:grid;place-items:center;width:66px;height:66px;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle at center,var(--panel-solid) 56%,transparent 57%),conic-gradient(var(--duo-lime) var(--lesson-progress),rgba(148,163,184,.28) 0);border:2px solid var(--duo-slate);color:var(--success-deep);font-weight:900;box-shadow:0 10px 22px #2d2d2d14}.lesson-progress-ring span{font-size:21px;line-height:1}.lesson-progress-ring small{margin-top:-17px;font-size:10px;color:var(--nezumi);font-weight:800}.lesson-progress-track{height:14px;padding:3px;border-radius:999px;background:#2d2d2d14;box-shadow:inset 0 1px 2px #2d2d2d14}.lesson-progress-track span{display:block;height:100%;min-width:8px;border-radius:999px;background:linear-gradient(90deg,var(--duo-lime),var(--success));box-shadow:0 2px #17844747;transition:width .3s ease}.lesson-map{position:relative;display:flex;flex-direction:column;gap:18px;min-height:460px;padding:6px 10px 4px}.lesson-map:before{content:"";position:absolute;top:43px;bottom:42px;left:50%;width:8px;transform:translate(-50%);border-radius:999px;background:linear-gradient(180deg,#39b96d61,#9b233533,#18aee547);box-shadow:inset 0 0 0 1px #ffffff5c}.lesson-node{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:14px;width:min(340px,100%);min-height:84px;border:0;background:transparent;color:var(--sumi);border-radius:22px;padding:0;cursor:pointer;text-align:left}.lesson-node.step-0,.lesson-node.step-3{align-self:flex-start}.lesson-node.step-1,.lesson-node.step-2{align-self:flex-end}.lesson-node:hover .lesson-node-icon{transform:translateY(-3px) scale(1.03)}.lesson-node-icon{position:relative;z-index:1;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:linear-gradient(180deg,#fff,#eee8dc);border:5px solid #d9d1c3;color:#8b8478;font-size:24px;font-weight:950;box-shadow:0 7px #b8ae9c,0 16px 28px #2d2d2d29;transition:transform .18s ease,box-shadow .18s ease}.lesson-node-copy{min-width:0;padding:12px 14px;border-radius:18px;background:#fffdf8d6;border:1px solid rgba(45,45,45,.08);box-shadow:0 8px 24px #2d2d2d14}.lesson-node-title{display:block;font-weight:850;font-size:15px;line-height:1.35}.lesson-node-meta{display:block;margin-top:2px;font-size:11px;color:var(--nezumi);white-space:nowrap;font-weight:800}.lesson-node.done .lesson-node-icon{background:linear-gradient(180deg,#6be07f,var(--success));border-color:#8ef0a0;color:#fff;box-shadow:0 7px 0 var(--success-deep),0 16px 30px #39b96d3d}.lesson-node.done .lesson-node-meta{color:var(--success-deep)}.lesson-node.current .lesson-node-icon{background:linear-gradient(180deg,#27c4f2,var(--duo-sky));border-color:#8ce8ff;color:#fff;box-shadow:0 7px #087ca5,0 0 0 8px #18aee529,0 18px 34px #18aee547;animation:lesson-pulse 1.8s ease-in-out infinite}.lesson-node.current .lesson-node-copy{border-color:#18aee547;background:#eef9ffe6}.lesson-node.current .lesson-node-meta{color:#087ca5}.lesson-node.locked .lesson-node-copy{opacity:.82}.lesson-card{position:absolute;right:24px;top:50%;left:auto;transform:translateY(-50%);width:min(380px,34vw);max-height:calc(100% - 110px);overflow:auto;-webkit-overflow-scrolling:touch;background:var(--ios-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--ios-border);border-radius:24px;padding:20px 22px 22px;box-shadow:var(--shadow-md);z-index:6;box-shadow:var(--ios-shadow-float),inset 0 0 0 1px #ffffff6b}.lesson-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.lesson-orb{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:18px;background:var(--duo-sky);color:#fff;font-weight:950;border:2px solid var(--duo-sky-deep);border-bottom-width:6px;box-shadow:none}.lesson-step{font-size:11px;letter-spacing:.08em;color:var(--success-deep);font-weight:1000;text-transform:uppercase}.lesson-name{font-size:26px;font-weight:950;margin:2px 0 10px;line-height:1.25;letter-spacing:0}.lesson-info{font-size:14px;color:#3a3a36;margin-bottom:16px;line-height:1.75}.lesson-detail{margin-top:8px;font-size:15px;font-weight:650;line-height:1.82;color:#312f2b;white-space:normal;overflow-wrap:anywhere}.lesson-fn-sub{margin-top:8px;padding-top:8px;border-top:1px solid rgba(45,45,45,.08);color:var(--nezumi);font-size:12px;line-height:1.7;white-space:normal;overflow-wrap:anywhere}.hl{margin:0 1px;padding:0 3px 1px;border-radius:5px;background:#ffe60061;color:inherit;box-shadow:inset 0 -.38em #87d44547}.lesson-card .anat-row{padding:8px 10px;border-radius:12px;background:#ffffff9e;border:1px solid rgba(45,45,45,.06)}.lesson-next{width:100%;min-height:48px;border-radius:14px;font-size:15px}.lesson-next:disabled{opacity:.52;cursor:not-allowed;filter:saturate(.82)}.lesson-next:disabled:hover,.lesson-next:disabled:active{transform:none;border-bottom-width:4px}.lesson-done{text-align:center}.stage.lesson-mc-phase{--mc-sheet-height: min(42dvh, 380px);--mc-sheet-bottom: env(safe-area-inset-bottom)}.stage.lesson-mc-phase .canvas-wrap{inset:0 0 calc(var(--mc-sheet-height) + var(--mc-sheet-bottom)) 0}.stage.lesson-mc-phase .view-controls{top:calc(58px + env(safe-area-inset-top));bottom:auto;right:8px;left:auto;transform:none;flex-direction:column;flex-wrap:nowrap;width:auto;height:auto;padding:4px;gap:4px;border-radius:14px;z-index:10}.stage.lesson-mc-phase .view-controls-sep{width:100%;height:1px;margin:2px 0;align-self:stretch;background:var(--line)}.stage.lesson-mc-phase .view-controls button{width:38px;height:38px;border-radius:11px;font-size:16px}.lesson-mc{position:absolute;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:auto;bottom:var(--mc-sheet-bottom);transform:none;width:auto;display:flex;flex-direction:column;height:var(--mc-sheet-height);max-height:var(--mc-sheet-height);overflow:hidden;border-radius:26px 26px 10px 10px;padding:16px 18px 18px}.lesson-mc .mc-choices{flex:1 1 auto;min-height:0;overflow:visible}.lesson-mc .lesson-next{flex:0 0 auto}.lesson-mc .lesson-name{font-size:20px;margin-bottom:8px}.mc-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.mc-choice{text-align:left;border:2px solid var(--duo-slate-deep);border-bottom-width:4px;background:#fff;color:var(--sumi);border-radius:14px;padding:10px 12px;min-height:50px;font-size:15px;font-weight:900;cursor:pointer;box-shadow:none;line-height:1.25;overflow-wrap:anywhere}.mc-choice:hover:not(:disabled){border-color:var(--line-strong)}.mc-choice:active:not(:disabled){border-bottom-width:2px;transform:scale(.97)}.mc-choice.correct{background:#dcfce7;border-color:var(--success);color:var(--success-deep)}.mc-choice.wrong{background:#ffe4e6;border-color:var(--danger);color:var(--danger-deep)}.mc-choice:disabled:not(.correct):not(.wrong){opacity:.72;cursor:default}.lesson-complete-badge{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(180deg,#6be07f,var(--success));color:#fff;font-size:36px;font-weight:950;box-shadow:0 7px 0 var(--success-deep),0 18px 36px #39b96d4d}.lesson-score{font-size:17px;color:var(--nezumi);margin-bottom:16px;font-weight:800}.lesson-result-card{--result-card-base-transform: translateY(-50%);position:absolute;overflow:hidden;isolation:isolate}.lesson-result-card>:not(.result-confetti):not(.result-rain){position:relative;z-index:2}.lesson-result-card .lesson-next,.lesson-result-card .note-expand{position:relative;z-index:3;pointer-events:auto}.lesson-result-card--clear{animation:result-card-bounce .62s cubic-bezier(.18,.92,.24,1.18) both}.lesson-result-card--fail{animation:result-card-shake .52s ease-in-out .12s both}.result-confetti,.result-rain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;pointer-events:none}.stage.has-result-card .canvas-wrap,.stage:has(.lesson-result-card) .canvas-wrap{visibility:hidden}@media (prefers-reduced-motion: reduce){.stage.has-result-card .canvas-wrap,.stage:has(.lesson-result-card) .canvas-wrap{visibility:visible}.result-confetti,.result-rain{display:none}}.confetti-piece{position:absolute;top:-22px;left:var(--confetti-left);width:var(--confetti-size, 10px);height:calc(var(--confetti-size, 10px) * 1.3);border-radius:3px;background:var(--confetti-color);opacity:0;transform:translate3d(0,-12px,0) rotate(0);animation:result-confetti-fall var(--confetti-duration) cubic-bezier(.18,.78,.28,1) var(--confetti-delay) both}.confetti-piece.circle{width:var(--confetti-size, 10px);height:var(--confetti-size, 10px);border-radius:999px}.confetti-piece.ribbon{width:calc(var(--confetti-size, 10px) * .5);height:calc(var(--confetti-size, 10px) * 2.6);border-radius:1px}.confetti-sparkle{position:absolute;left:var(--sparkle-left);top:var(--sparkle-top);font-size:18px;opacity:0;animation:result-sparkle var(--sparkle-duration) ease-in-out var(--sparkle-delay) both}@keyframes result-sparkle{0%{opacity:0;transform:scale(.3) rotate(0)}30%{opacity:1;transform:scale(1.2) rotate(60deg)}60%{opacity:.9;transform:scale(.9) rotate(120deg)}to{opacity:0;transform:scale(.6) rotate(180deg)}}.result-rain span{position:absolute;top:-36px;left:var(--rain-left);font-size:28px;line-height:1;opacity:0;filter:drop-shadow(0 2px 4px rgba(14,116,144,.22));animation:result-rain-fall var(--rain-duration) ease-in var(--rain-delay) both}.lesson-exit{position:absolute;top:16px;left:16px;right:auto;z-index:12;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:134px;min-height:46px;padding:8px 15px 8px 12px;border-radius:999px;border:2px solid rgba(244,63,94,.28);border-bottom-width:4px;background:linear-gradient(180deg,#fff7f8,#ffe4e9);color:#be123c;font-size:13px;font-weight:1000;letter-spacing:0;cursor:pointer;box-shadow:0 10px 22px #be123c24,inset 0 1px #ffffffb8}.lesson-exit:hover{border-color:#f43f5e75;color:#9f1239;box-shadow:0 12px 26px #be123c2e,inset 0 1px #ffffffc7}.lesson-exit:active{border-bottom-width:2px;transform:scale(.97)}.lesson-exit-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f43f5e;color:#fff;font-size:18px;line-height:1;box-shadow:0 2px #be123c}.lesson-exit-label{line-height:1;white-space:nowrap}.lesson-quiz-bar{top:16px;background:#fffdf8f5;border-color:#18aee547;box-shadow:0 8px #087ca524,var(--shadow-md)}.lesson-quiz-bar .locate-step{color:#087ca5;font-weight:900;background:#18aee51f;padding:5px 9px;border-radius:999px}.lesson-quiz-bar .locate-q{font-size:17px;font-weight:900}.lesson-quiz-bar .locate-mark{padding:5px 10px;border-radius:999px;color:#fff}.lesson-quiz-bar .locate-mark.ok{background:var(--success)}.lesson-quiz-bar .locate-mark.ng{background:var(--danger)}@keyframes lesson-pulse{0%,to{box-shadow:0 7px #087ca5,0 0 0 8px #18aee524,0 18px 34px #18aee53d}50%{box-shadow:0 7px #087ca5,0 0 0 14px #18aee514,0 20px 38px #18aee54d}}@keyframes duo-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes result-card-bounce{0%{opacity:0;transform:var(--result-card-base-transform) scale(.92)}42%{opacity:1;transform:var(--result-card-base-transform) scale(1.045)}68%{transform:var(--result-card-base-transform) scale(.985)}to{opacity:1;transform:var(--result-card-base-transform) scale(1)}}@keyframes result-card-shake{0%,to{transform:var(--result-card-base-transform) translate(0)}18%{transform:var(--result-card-base-transform) translate(-5px)}36%{transform:var(--result-card-base-transform) translate(4px)}54%{transform:var(--result-card-base-transform) translate(-3px)}72%{transform:var(--result-card-base-transform) translate(2px)}}@keyframes result-confetti-fall{0%{opacity:0;transform:translate3d(0,-18px,0) rotate(0)}12%{opacity:1}82%{opacity:.95}to{opacity:0;transform:translate3d(var(--confetti-drift),250px,0) rotate(var(--confetti-spin))}}@keyframes result-rain-fall{0%{opacity:0;transform:translate3d(0,-24px,0) scale(.85)}15%{opacity:.9}50%{transform:translate3d(var(--rain-sway, 0px),200px,0) scale(1)}90%{opacity:.8}to{opacity:0;transform:translate3d(0,480px,0) scale(1.05)}}@media (prefers-reduced-motion: reduce){.lesson-result-card--clear,.lesson-result-card--fail,.confetti-piece,.confetti-sparkle,.result-rain span{animation:none!important}.result-confetti,.result-rain{display:none}}@keyframes map-path-draw{0%{stroke-dashoffset:170;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes stage-current-pulse{0%,to{box-shadow:0 7px #2d2d2d1a,0 0 0 6px #18aee51f,0 18px 34px #2d2d2d1f}50%{box-shadow:0 7px #2d2d2d1a,0 0 0 12px #18aee50f,0 22px 40px #18aee52e}}.review-card{margin:-3px -3px 16px;padding:13px;border-radius:16px;background:#f0f9ffc2;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:1px solid var(--ios-border);box-shadow:var(--ios-shadow),inset 0 0 0 1px #ffffff61}.review-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.review-head h2{margin:0;color:var(--sumi);font-size:16px;letter-spacing:0}.review-total{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border-radius:12px;background:#fff;border:2px solid var(--duo-slate);color:var(--nezumi);font-size:18px;font-weight:1000}.review-total.due{background:var(--duo-lime);color:#fff;border-color:var(--duo-lime-deep)}.review-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:11px}.review-stats span{display:flex;align-items:baseline;justify-content:space-between;gap:5px;padding:5px 7px;border-radius:10px;background:#ffffffd1;color:var(--nezumi);font-size:10px;border:2px solid rgba(148,163,184,.2)}.review-stats b{color:var(--sumi);font-size:13px}.review-action{width:100%;font-weight:1000}.review-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.review-action-3d{background:linear-gradient(180deg,#1cb0f6,#0f89d9);color:#fff;border-color:#0e7bbf;border-bottom-color:#095a8e;text-shadow:0 1px 0 rgba(0,0,0,.15)}.review-action-3d:disabled{opacity:.4;cursor:not-allowed}.footer-link{color:var(--suoh);text-decoration:none;font-weight:800;margin-left:8px}.footer-link:hover{text-decoration:underline}.error-fallback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#f7fafc,#eaf1f4);font-family:Nunito,system-ui,sans-serif}.error-fallback-card{max-width:440px;background:#fff;border:1px solid var(--line);border-bottom:3px solid var(--line-strong);border-radius:20px;padding:28px;box-shadow:var(--shadow-md);text-align:center}.error-emoji{font-size:56px;line-height:1;margin-bottom:8px}.error-fallback-card h2{margin:0 0 8px;font-weight:900;font-size:22px;color:var(--sumi)}.error-fallback-card p{margin:4px 0 12px;font-size:14px;color:#4b5563;line-height:1.6}.error-fallback-card details{text-align:left;margin:12px 0;font-size:12px;color:#6b7280}.error-fallback-card details code{display:block;padding:8px;background:#f4f4f8;border-radius:8px;word-break:break-all}.error-fallback-card .btn.on{display:block;width:100%;margin-top:12px;padding:12px;font-size:15px;font-weight:900}.arrow-list{-webkit-overflow-scrolling:touch}.stage.learn-view-position{--learn-stack-bottom: calc(20px + env(safe-area-inset-bottom)) ;--learn-fab-height: 52px;--learn-control-height: 50px;--learn-stack-gap: 14px}.stage.learn-view-position .isolated-view,.stage.learn-view-position .lesson-card{display:none}.stage.learn-view-position .view-controls{top:12px;bottom:auto;right:8px;left:auto;transform:none;flex-direction:column;flex-wrap:nowrap;width:auto;height:auto;padding:4px;gap:4px;border-radius:14px}.stage.learn-view-position .view-controls-sep{width:100%;height:1px;margin:2px 0;align-self:stretch;background:var(--line)}.stage.learn-view-position .view-controls button{width:38px;height:38px;border-radius:11px;font-size:16px}.stage.learn-view-position .dissect-bar{bottom:calc(var(--learn-stack-bottom) + var(--learn-fab-height) + var(--learn-stack-gap))}@media (max-width: 760px){.stage.learn-view-position{--learn-stack-bottom: calc(14px + env(safe-area-inset-bottom)) ;--learn-fab-height: 50px;--learn-control-height: 52px;--learn-stack-gap: 12px}.stage.learn-view-position .dissect-bar{bottom:calc(var(--learn-stack-bottom) + var(--learn-fab-height) + var(--learn-stack-gap));max-width:calc(100% - 20px);padding:6px 8px 6px 12px;gap:6px;flex-wrap:wrap;justify-content:center}.stage.learn-view-position .dissect-hint{flex:1 1 100%;text-align:center;font-size:12px}.stage.learn-view-position .dissect-btn{padding:7px 9px;font-size:12px}}.stage.learn-view-isolated .canvas-wrap,.stage.learn-view-isolated .lesson-card,.stage.learn-view-isolated .view-controls{display:none}.stage.learn-view-isolated .isolated-view{position:absolute;left:0;top:0;right:0;bottom:0;width:auto;height:auto;border-radius:0;background:var(--panel-solid)}.learn-next-fab{position:absolute;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:9;width:280px;min-width:0;padding:14px 28px;text-align:center;background:var(--duo-lime);color:#fff;border:1px solid var(--duo-lime-deep);border-bottom:4px solid var(--duo-lime-deep);border-radius:16px;cursor:pointer;font-family:Nunito,system-ui,sans-serif;font-weight:1000;font-size:16px;box-shadow:var(--shadow-md);text-shadow:0 1px 0 rgba(0,0,0,.25);transition:border-bottom-width .08s ease}.learn-next-fab:hover{transform:translate(-50%)}.learn-next-fab:active{transform:translate(-50%);border-bottom-width:0}@media (max-width: 760px){.learn-next-fab{min-width:0;width:calc(100% - 32px);bottom:calc(14px + env(safe-area-inset-bottom));font-size:15px;padding:13px 16px}}.learn-prev-fab{position:absolute;left:50%;transform:translate(-50%);z-index:9;bottom:calc(84px + env(safe-area-inset-bottom));min-height:40px;padding:9px 20px;border-radius:14px;cursor:pointer;background:#fff;color:#4b5563;border:1px solid rgba(0,0,0,.12);font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:14px;box-shadow:var(--shadow-md);transition:border-color .08s ease}.learn-prev-fab:hover,.learn-prev-fab:active{transform:translate(-50%)}@media (max-width: 760px){.learn-prev-fab{bottom:calc(76px + env(safe-area-inset-bottom));min-height:40px}}.lesson-card-nav{display:flex;gap:8px;align-items:stretch}.lesson-card-nav .lesson-next{flex:1}.lesson-prev{flex:0 0 auto;background:#fff;color:#4b5563;border:1px solid rgba(0,0,0,.12)}.stage.learn-view-description .canvas-wrap,.stage.learn-view-description .isolated-view,.stage.learn-view-description .view-controls{display:none}.stage.learn-view-description .lesson-card{position:absolute;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(560px,calc(100% - 32px));max-height:calc(100% - 100px)}.learn-view-toggle{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:10;display:inline-flex;gap:2px;padding:3px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.learn-view-tab{border:0;background:transparent;padding:6px 12px;border-radius:9px;cursor:pointer;font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:13px;color:var(--nezumi);white-space:nowrap}.learn-view-tab.on{background:var(--duo-sky-deep);color:#fff}.learn-name-pill{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:9;pointer-events:none;padding:6px 14px;border-radius:999px;background:#ffffffc7;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:inset 0 0 0 1px #ffffff8c,0 2px 8px #0000000f;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Nunito,sans-serif;font-weight:900;font-size:14px;color:var(--suoh);white-space:nowrap;letter-spacing:.02em;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis}.self-name-pill{pointer-events:auto;border:0;cursor:pointer}.self-name-pill:active{transform:translate(-50%) scale(.98)}@media (max-width: 760px){.learn-view-toggle{top:calc(8px + env(safe-area-inset-top))}.learn-view-tab{padding:5px 9px;font-size:11px}.learn-name-pill{top:calc(46px + env(safe-area-inset-top));padding:5px 12px;font-size:13px}.stage.learn-view-description .lesson-card{width:calc(100% - 20px);max-height:calc(100% - 80px)}}.region-list{display:flex;flex-wrap:wrap;gap:7px}.region,.axis,.concern,.part,.quiz-choice{border:2px solid var(--duo-slate-deep);border-bottom-width:4px;background:#fff;color:var(--sumi);cursor:pointer;box-shadow:none;font-weight:900}.region{border-radius:999px;padding:6px 12px;font-size:13px;line-height:1.2}.region:hover,.axis:hover,.concern:hover,.part:hover,.quiz-choice:hover{border-color:var(--line-strong);color:var(--duo-sky-deep)}.region:active,.axis:active,.concern:active,.part:active,.quiz-choice:active{border-bottom-width:2px;transform:scale(.97)}.region.on{background:var(--duo-lime);color:#fff;border-color:var(--duo-lime-deep)}.region.locked{opacity:1;cursor:not-allowed;background:#e5e7eb;color:#94a3b8;border-color:#cbd5e1}.region.locked:hover{border-color:var(--line);color:var(--nezumi);transform:none}.layer-row{display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 0;font-size:13px;cursor:pointer;color:var(--sumi)}.layer-row input{accent-color:var(--suoh)}.swatch{width:14px;height:14px;border-radius:5px;border:1px solid rgba(45,45,45,.14);box-shadow:0 1px 4px #2d2d2d1f}.layer-name{flex:1;min-width:0}.layer-count{min-width:26px;text-align:center;font-size:11px;color:var(--nezumi);background:#f5f0e8d1;padding:2px 7px;border-radius:999px}.clip-controls{margin-top:8px}.axis-row{display:flex;gap:6px;margin-bottom:8px}.axis{flex:1;border-radius:13px;padding:6px 0;font-size:13px;font-weight:1000;color:var(--nezumi);background:#fff}.axis.on{background:var(--duo-sky);color:#fff;border-color:var(--duo-sky-deep);box-shadow:none}.clip-controls input[type=range]{width:100%;accent-color:var(--suoh)}.concern-list{display:flex;flex-direction:column;gap:6px}.concern{text-align:left;border-radius:14px;padding:8px 10px;font-size:13px;display:flex;align-items:center;gap:7px}.concern.on{background:var(--duo-lime);color:#fff;border-color:var(--duo-lime-deep)}.concern-emoji{margin-right:0}.info-card{margin-bottom:12px}.self-sheet-card{display:flex;flex-direction:column;gap:0;margin-bottom:12px}.self-sheet-section{padding:12px 0;border-top:1px solid rgba(148,163,184,.26)}.self-sheet-section:first-child{border-top:0;padding-top:0}.self-sheet-section:last-child{padding-bottom:0}.self-sheet-section-head{display:flex;align-items:center;gap:8px;min-height:44px}.self-sheet-section-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;padding:5px 8px 5px 0;border:0;border-radius:14px;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.self-sheet-section-toggle:hover,.self-sheet-section-toggle:active{transform:none;background:#38bdf814}.self-sheet-section-static{cursor:default}.self-sheet-section-title{margin:0;flex:1;min-width:0;color:var(--sumi);font-size:13px;font-weight:1000;letter-spacing:0}.self-sheet-caret{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;color:#075985;background:#e0f2fe;border:2px solid rgba(14,116,144,.34);border-bottom-width:4px;border-radius:12px;font-size:15px;font-weight:1000;line-height:1;box-shadow:0 1px #ffffffb8 inset}.self-sheet-section-body{margin-top:8px}.self-structure-main{display:grid;gap:4px}.info-latin{color:var(--nezumi);font-size:12px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.self-anatomy-list{margin-top:9px}.self-sheet-actions{display:grid;grid-template-columns:1fr;gap:7px}.self-sheet-action-learned.on{background:var(--duo-lime);color:#fff;border-color:var(--duo-lime-deep)}.self-sheet-action{width:100%;min-height:40px;padding:8px 10px;border:2px solid var(--duo-slate-deep);border-bottom-width:4px;border-radius:13px;background:#fff;color:var(--sumi);font-family:inherit;font-size:12px;font-weight:1000;text-align:left;cursor:pointer}.self-sheet-action:active{border-bottom-width:2px;transform:scale(.98)}.info-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.info-head>div:first-child{flex:1;min-width:0}.info-name{font-size:16px;font-weight:750;margin-bottom:7px;line-height:1.35}.info-head .info-name{margin-bottom:0;flex:1}.info-layer{display:inline-flex;align-items:center;min-height:22px;margin-top:5px;padding:2px 8px;border-radius:999px;background:#38bdf824;color:#075985;font-size:11px;font-weight:900;line-height:1.2}.info-hint{font-size:12px;color:var(--nezumi);line-height:1.75}.info-fn{font-size:13px;color:#45413c;line-height:1.75;margin-bottom:10px}.tpl-row{font-size:12px;color:#72581d;background:#d7a74026;border:1px solid rgba(215,167,64,.22);border-radius:9px;padding:7px 9px;margin-bottom:8px}.anat-row{font-size:13px;line-height:1.6;color:#393633;margin-bottom:6px;display:flex;gap:8px}.anat-row span{flex:0 0 34px;font-size:11px;font-weight:750;color:#fff;background:var(--suoh);border-radius:6px;text-align:center;height:20px;line-height:20px;margin-top:1px}.rel-title{font-size:11px;color:var(--nezumi);margin:12px 0 6px;font-weight:700}.rel-list{display:flex;flex-direction:column;gap:5px}.parts-list{display:flex;flex-direction:column;gap:5px;margin-top:13px}.part{display:flex;align-items:center;gap:6px;text-align:left;border-radius:12px;padding:6px 9px;font-size:12px}.part .part-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part.on{background:var(--duo-sky);color:#fff;border-color:var(--duo-sky-deep)}.badge-note{color:var(--gold);font-size:9px}.badge-learned{color:var(--success);font-weight:800;font-size:12px}.part.on .badge-note,.part.on .badge-learned{color:#fff}.learned-btn{border:2px solid var(--duo-slate-deep);border-bottom-width:4px;background:#fff;color:var(--nezumi);border-radius:13px;font-size:12px;font-weight:1000;padding:8px 12px;cursor:pointer;white-space:nowrap}.learned-btn:hover{border-color:#4f7d5b52;color:var(--success)}.learned-btn:active{border-bottom-width:2px;transform:scale(.98)}.learned-btn.on{background:var(--success);border-color:var(--success);color:#fff}.progress{float:right;font-size:10px;font-weight:600;color:var(--success);background:#4f7d5b21;padding:3px 8px;border-radius:999px;text-transform:none;letter-spacing:0}.note-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--nezumi);margin:15px 0 7px;font-weight:750}.note-saved{font-size:10px;font-weight:500;color:var(--nezumi);background:#f5f0e8db;padding:2px 7px;border-radius:999px}.note-expand{margin-left:auto;font-size:11px;padding:4px 9px}.note-area{width:100%;min-height:78px;max-height:120px;resize:none;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:9px 10px;font-family:inherit;font-size:13px;line-height:1.7;color:var(--sumi);background:#fffdf8eb;-webkit-overflow-scrolling:touch}.note-area:focus,.notebook-area:focus{outline:none;border-color:var(--line-strong);box-shadow:0 0 0 3px #9b233514}.notebook{position:absolute;top:16px;right:16px;width:min(440px,calc(100vw - 320px));bottom:16px;z-index:20;display:flex;flex-direction:column;background:#fffdf8f5;border:1px solid rgba(255,255,255,.78);border-radius:16px;box-shadow:var(--shadow-md);padding:15px 16px}.notebook-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}.notebook .nb-title{font-weight:800;font-size:15px}.notebook-subject{font-size:12px;color:var(--nezumi);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebook-close{margin-left:auto;font-size:12px;padding:5px 12px}.notebook-anat{font-size:12px;line-height:1.75;color:#45413c;background:#f5f0e8b8;border:1px solid var(--line);border-radius:10px;padding:9px 11px;margin-bottom:9px}.notebook-anat b{color:var(--suoh);margin-right:3px}.notebook-tools{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.notebook-tools button{font-size:11px;padding:5px 9px}.notebook-area{flex:1;width:100%;resize:none;border:1px solid transparent;border-radius:10px;padding:8px 7px;font-family:inherit;font-size:14px;line-height:32px;color:var(--sumi);background-image:repeating-linear-gradient(transparent,transparent 31px,rgba(155,35,53,.14) 31px,rgba(155,35,53,.14) 32px);background-attachment:local;-webkit-overflow-scrolling:touch}.explain-left{width:270px}.concern-big{display:flex;flex-direction:column;gap:10px}.cbig{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#ffffffc7;border-radius:14px;padding:15px 16px;font-size:18px;font-weight:750;cursor:pointer;color:var(--sumi)}.cbig:hover{border-color:var(--line-strong);color:var(--suoh);box-shadow:var(--shadow-sm)}.cbig.on{border-color:var(--suoh);background:var(--suoh-quiet);color:var(--suoh)}.cbig-emoji{font-size:25px}.explain-card{position:absolute;right:24px;bottom:24px;width:420px;max-width:calc(100% - 48px);background:#fffdf8e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.72);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow-md)}.explain-title{font-size:25px;font-weight:800;margin-bottom:12px;letter-spacing:0}.explain-desc{font-size:16px;line-height:1.85;color:#393633;margin:0}.explain-rel{margin-top:13px;font-size:14px;color:var(--nezumi)}.hint-bar{min-height:var(--hint-bar-height);padding:8px 18px;border-top:1px solid var(--line);background:#fffdf8d6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:11px;color:var(--nezumi);flex:0 0 auto}.quiz-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d2d2d70;display:flex;align-items:flex-end;justify-content:center;z-index:50;padding:16px 16px calc(16px + env(safe-area-inset-bottom));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.quiz-card{position:relative;width:500px;max-width:100%;background:var(--ios-glass-strong);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-radius:24px 24px 18px 18px;padding:34px 30px 26px;box-shadow:var(--ios-shadow-float),inset 0 0 0 1px #ffffff6b;border:1px solid var(--ios-border);animation:sheet-up .26s cubic-bezier(.2,.9,.3,1.05)}.quiz-close{position:absolute;top:13px;right:15px;border:0;background:transparent;font-size:24px;color:#9a9187;cursor:pointer;line-height:1}.quiz-kicker{color:var(--suoh);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.quiz-title{color:var(--sumi);font-size:22px;font-weight:950;margin-bottom:14px;padding-right:34px;line-height:1.35}.quiz-progress-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:14px}.quiz-progress{font-size:12px;color:#087ca5;font-weight:900;white-space:nowrap}.quiz-progress-track{height:12px;padding:3px;border-radius:999px;background:#2d2d2d14}.quiz-progress-track span{display:block;height:100%;min-width:8px;border-radius:inherit;background:linear-gradient(90deg,var(--duo-sky),var(--duo-lime));transition:width .25s ease}.quiz-q{font-size:21px;font-weight:950;line-height:1.5;margin-bottom:18px;letter-spacing:0}.quiz-choices{display:flex;flex-direction:column;gap:9px}.quiz-choice{text-align:left;border-radius:14px;padding:13px 15px;font-size:15px;font-weight:800;background:#ffffffe0;border-width:2px;box-shadow:0 4px #2d2d2d1f}.quiz-choice:hover{transform:translateY(-2px);box-shadow:0 6px #2d2d2d1f,0 12px 22px #2d2d2d14}.quiz-choice.correct{background:#39b96d24;border-color:#39b96d94;color:#176738;box-shadow:0 4px #17844752}.quiz-choice.wrong{background:#b73a3f1f;border-color:#b73a3f6b;color:#782127}.curriculum{margin-top:12px;display:flex;flex-direction:column;gap:6px}.curriculum-title{font-size:11px;letter-spacing:.04em;color:var(--ink-soft, #888e7e);margin-bottom:2px}.curriculum-step{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:12px;border:1.5px solid rgba(45,45,45,.12);background:#ffffffe6;font-weight:700;cursor:pointer;text-align:left}.curriculum-step:hover{border-color:var(--line-strong, #888e7e);transform:translateY(-1px)}.curriculum-no{font-size:11px;font-weight:900;color:var(--duo-sky-deep, #176738);min-width:46px}.curriculum-label{flex:1;font-size:14px}.curriculum-count{font-size:11px;color:var(--ink-soft, #888e7e)}.ov-use{font-size:13px;color:var(--ink-soft, #656765);margin:4px 0 12px}.ov-list{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto;margin:0 0 12px;padding:0;list-style:none}.ov-item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:#ffffffb3;border:1px solid rgba(45,45,45,.06)}.ov-ja{font-weight:800;font-size:14px}.ov-fn{font-size:12px;color:var(--ink-soft, #656765);line-height:1.5}.ov-hint{font-size:12px;color:var(--ink-soft, #888e7e);margin:0 0 12px}.ov-tap{margin-top:8px}.btn.ghost{background:#ffffffe6;color:var(--ink, #1c1c1c);border:1.5px solid rgba(45,45,45,.16);font-weight:800}.btn.ghost:hover{border-color:var(--line-strong, #888e7e);transform:translateY(-1px)}.quiz-confidence{margin-top:16px;text-align:center}.quiz-confidence-label{font-size:13px;color:var(--ink-soft, #656765);margin-bottom:8px}.quiz-confidence-row{display:flex;gap:8px;justify-content:center}.quiz-conf-btn{flex:1;max-width:130px;padding:10px 8px;border-radius:14px;border:1.5px solid rgba(45,45,45,.14);background:#ffffffe6;font-weight:800;font-size:14px;cursor:pointer}.quiz-conf-btn:hover{border-color:var(--line-strong, #888e7e);transform:translateY(-1px)}.quiz-conf-btn:active{transform:scale(.97)}.quiz-hint{margin:-4px 0 10px;font-size:12px;color:var(--ink-soft, #888e7e)}.quiz-explain{margin-top:18px;padding:14px;border-radius:16px;background:#ffffffbd;border:1px solid rgba(45,45,45,.08)}.quiz-explain p{margin:6px 0 0;line-height:1.7;font-size:14px}.quiz-explain.ok{border-color:#39b96d52;background:#39b96d1a}.quiz-explain.ng{border-color:#b73a3f47;background:#b73a3f14}.quiz-mark{display:inline-block;font-weight:950;margin-bottom:6px;color:#fff;border-radius:999px;padding:4px 10px;font-size:13px}.quiz-mark.ok{background:var(--success)}.quiz-mark.ng{background:var(--danger)}.quiz-explain p{font-size:14px;line-height:1.75;color:#393633;margin:0 0 14px}.quiz-done{text-align:center;padding:18px 0 4px}.quiz-done-badge{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(180deg,#6be07f,var(--success));color:#fff;font-size:38px;font-weight:950;box-shadow:0 7px 0 var(--success-deep),0 18px 36px #39b96d4d}.quiz-done-title{font-size:25px;font-weight:950;margin-bottom:2px}.quiz-score{font-size:18px;font-weight:850;color:var(--nezumi);margin-bottom:18px}.ios-mode-tabbar{display:none}.ios-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:68px;min-height:50px;border:0;border-radius:14px;background:transparent;color:#3c3c43a3;font-weight:800;cursor:pointer}.ios-tab.on{color:var(--duo-sky-deep);background:#0ea5e91c}.ios-tab-icon{font-size:20px;line-height:1}.ios-tab-label{font-size:11px;line-height:1}@media (max-width: 980px){.notebook{right:16px;width:auto;left:16px;top:auto;height:45%}.canvas-wrap.shifted{left:0;right:0;bottom:47%}}@media (max-width: 760px){:root{--ios-nav-height: 102px;--topbar-height: var(--ios-nav-height);--ios-tabbar-height: 72px;--mobile-tabs-height: 64px;--hint-bar-height: 30px;--ad-banner-gap: 8px}html,body,#root{min-width:0;overflow:hidden}body{background:linear-gradient(180deg,#fff,#f8fafc 58%,#eef6ff)}button:hover{transform:none}.app{height:100dvh;min-height:0;overflow:hidden}.topbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;height:var(--topbar-height);min-height:var(--topbar-height);padding:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 8px calc(10px + env(safe-area-inset-left))}.brand{gap:7px;min-width:0;flex-shrink:1}.brand-mark{width:28px;height:28px;border-radius:9px;font-size:13px}.logo{font-size:14px;min-width:max-content;max-width:none;overflow:visible;text-overflow:clip}.tag,.topbar .mode-switch{display:none}.topbar-actions{flex-direction:row;align-items:center;flex-wrap:nowrap;justify-content:flex-end;gap:6px;min-width:0;overflow:visible;flex-shrink:0}.gam-pill{flex-shrink:0;padding:4px 8px;font-size:12px;line-height:1}.gam-pill .gam-icon{font-size:12px}.gam-pill .gam-val{min-width:1ch;padding:0 1px;font-size:12px}.gam-pill.gam-daily{display:none}.mode-switch{display:flex;flex-direction:row;align-items:center;flex:0 0 auto;min-width:0;padding:2px;border-radius:10px}.seg{min-height:38px;padding:5px 10px;border-radius:8px;font-size:12px;white-space:nowrap}.btn,.review-action,.notebook-tools button,.note-expand,.notebook-close{min-height:44px;padding:9px 11px;border-radius:12px;font-size:12px}.topbar-actions .btn{flex-shrink:0;width:auto;min-width:max-content;padding:9px 10px;overflow:visible;white-space:nowrap;font-size:12px}.topbar-actions .auto-rotate-btn{margin-left:auto;padding-inline:9px;letter-spacing:0}.canvas-wrap{touch-action:none}.canvas-wrap,.canvas-wrap.shifted{top:0;left:0;right:0;bottom:0}.stage{--mobile-control-edge: 10px;--mobile-control-gap: 12px;--mobile-control-safe-bottom: env(safe-area-inset-bottom);--mobile-view-controls-height: 52px;--mobile-view-controls-bottom: calc(var(--ios-tabbar-height) + var(--mobile-control-gap) + var(--mobile-control-safe-bottom))}.desktop-panel{display:none}.view-controls{left:auto;right:calc(var(--mobile-control-edge) + env(safe-area-inset-right));bottom:var(--mobile-view-controls-bottom);transform:none;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;min-width:0;gap:4px;padding:4px;border-radius:14px;z-index:10;max-width:calc(100vw - (var(--mobile-control-edge) * 2) - env(safe-area-inset-left) - env(safe-area-inset-right));box-sizing:border-box}.dissect-bar{left:calc(var(--mobile-control-edge) + env(safe-area-inset-left));right:calc(var(--mobile-control-edge) + env(safe-area-inset-right));bottom:calc(var(--mobile-view-controls-bottom) + var(--mobile-view-controls-height) + var(--mobile-control-gap));transform:none;width:auto;max-width:none;min-width:0;flex-wrap:wrap;align-items:stretch;justify-content:center;column-gap:6px;row-gap:7px;padding:8px 10px;border-radius:24px}.dissect-hint{flex:1 1 100%;min-width:0;text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.dissect-btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:none;min-height:40px;padding:7px 6px;line-height:1.15;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis}.stage.lesson-touch-phase .view-controls{left:50%;right:auto;transform:translate(-50%);max-width:min(360px,calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)))}.stage.has-mobile-tabs .view-controls,.stage:has(.mobile-tabs) .view-controls{top:calc(10px + env(safe-area-inset-top));bottom:auto;right:8px;left:auto;transform:none;flex-direction:column;flex-wrap:nowrap;width:auto;height:auto;padding:4px;gap:4px;border-radius:14px}.stage.has-mobile-tabs .dissect-bar,.stage:has(.mobile-tabs) .dissect-bar{bottom:calc(var(--ios-tabbar-height) + var(--mobile-tabs-height) + 12px + env(safe-area-inset-bottom))}.stage.has-mobile-tabs .view-controls-sep,.stage:has(.mobile-tabs) .view-controls-sep{width:100%;height:1px;margin:2px 0;align-self:stretch;background:var(--line)}.stage.has-mobile-tabs .view-controls button,.stage:has(.mobile-tabs) .view-controls button{width:38px;height:38px;border-radius:11px;font-size:16px}.view-controls button{flex-shrink:0;width:42px;height:42px;border-radius:11px;font-size:18px}.locate-bar{top:calc(8px + env(safe-area-inset-top));left:10px;right:10px;transform:none;max-width:none;min-height:54px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;border-radius:16px;padding:8px 10px}.locate-bar .locate-q,.locate-bar .locate-step,.locate-bar .locate-result{flex:1 1 100%;text-align:center}.lesson-path{top:8px;left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));width:auto;max-height:calc(100% - 18px - env(safe-area-inset-top));transform:none;border-radius:20px;padding:16px 14px 20px}.lesson-path.stage-map,.lesson-path.stage-detail{padding-bottom:calc(var(--ios-tabbar-height) + var(--hint-bar-height) + var(--ad-banner-gap) + 120px + env(safe-area-inset-bottom))}.lesson-path-head{gap:12px;margin-bottom:10px}.lesson-path h2{font-size:22px}.lesson-progress-ring{width:58px;height:58px}.lesson-progress-ring span{font-size:18px}.world-map{min-height:600px;margin:2px 0 0}.world-map:before{top:8px;right:8px;bottom:8px;left:8px}.stage-card{width:100%;min-height:78px;grid-template-columns:58px minmax(0,1fr) auto;gap:8px;padding:8px 10px 8px 8px;border-radius:18px}.stage-no{width:56px;height:56px;border-width:3px;font-size:17px}.stage-sub{font-size:15px}.stage-copy{min-width:0}.stage-name,.stage-prog{font-size:9px}.world-progress-text{margin-top:8px}.lesson-map{min-height:420px;gap:16px;padding:4px 2px}.lesson-map:before{left:42px;transform:none}.lesson-node,.lesson-node.step-0,.lesson-node.step-1,.lesson-node.step-2,.lesson-node.step-3{align-self:stretch;width:100%;grid-template-columns:68px minmax(0,1fr);min-height:76px}.lesson-node-icon{width:68px;height:68px;font-size:21px}.lesson-node-copy{padding:11px 12px}.lesson-card{left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:auto;top:auto;transform:none;border-radius:24px 24px 18px 18px;padding:16px;max-height:min(50dvh,430px);overflow:auto;overflow-x:hidden}.lesson-result-card{--result-card-base-transform: translate3d(0, 0, 0)}.lesson-card.lesson-mc{left:env(safe-area-inset-left);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);border-radius:24px 24px 0 0;padding:12px 14px 14px}.stage.lesson-mc-phase .dissect-bar{bottom:calc(var(--mc-sheet-height) + var(--mc-sheet-bottom) + 12px);z-index:11}.stage.has-isolated-view .canvas-wrap,.stage:has(.isolated-view) .canvas-wrap{top:116px;bottom:calc(44dvh + 20px + env(safe-area-inset-bottom))}.isolated-view{top:12px;left:10px;bottom:auto;width:min(148px,calc(50vw - 18px));height:min(148px,calc(50vw - 18px));z-index:6}.stage.learn-view-position .canvas-wrap{top:0;bottom:0}.stage.learn-view-position .view-controls{top:calc(10px + env(safe-area-inset-top));bottom:auto;right:8px;left:auto;transform:none;flex-direction:column;flex-wrap:nowrap;width:auto;height:auto;padding:4px;gap:4px;border-radius:14px}.stage.learn-view-position .view-controls-sep{width:100%;height:1px;margin:2px 0;align-self:stretch}.stage.learn-view-position .dissect-bar{bottom:calc(140px + env(safe-area-inset-bottom))}.stage.lesson-mc-phase{--mc-sheet-height: min(42dvh, 340px)}.stage.learn-view-isolated .isolated-view{top:0;right:0;bottom:0;left:0;width:auto;height:auto;border-radius:0}.lesson-info,.lesson-detail,.lesson-fn-sub,.lesson-card .anat-row{min-width:0;white-space:normal;overflow-wrap:anywhere}.lesson-name{font-size:22px;overflow-wrap:anywhere}.lesson-mc .lesson-step{font-size:10px}.lesson-mc .lesson-name{font-size:19px;margin:1px 0 8px}.lesson-mc .mc-choices{gap:7px;margin:8px 0;overflow:visible}.lesson-mc .mc-choice{min-height:48px;padding:9px 10px;font-size:14px}.lesson-mc .lesson-next{min-height:44px;font-size:14px}.lesson-orb{width:46px;height:46px;border-radius:15px}.lesson-quiz-bar{top:calc(8px + env(safe-area-inset-top))}.lesson-exit{top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));right:auto;z-index:12;min-width:118px;min-height:42px;padding:7px 12px 7px 10px;gap:7px;font-size:12px}.stage:has(.lesson-exit) .learn-view-toggle{top:calc(64px + env(safe-area-inset-top))}.stage:has(.lesson-exit) .learn-name-pill{top:calc(104px + env(safe-area-inset-top))}.stage:has(.lesson-exit) .lesson-quiz-bar{top:calc(64px + env(safe-area-inset-top))}.stage:has(.lesson-exit) .isolated-label{display:none}.lesson-exit-icon{width:22px;height:22px;font-size:17px}.locate-step,.locate-mark{font-size:12px;white-space:nowrap}.locate-q,.locate-result{min-width:0;font-size:13px;line-height:1.35}.locate-bar .btn{flex:1 1 calc(33.333% - 8px);min-width:0;padding:8px 10px;font-size:13px;white-space:nowrap}.mobile-tabs{position:fixed;left:0;right:0;bottom:calc(var(--ios-tabbar-height) + env(safe-area-inset-bottom));z-index:11;display:flex;gap:4px;padding:8px calc(8px + env(safe-area-inset-right)) 8px calc(8px + env(safe-area-inset-left));border-top:1px solid var(--line);background:#ffffffc7;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 -1px #ffffff8c inset,0 -8px 24px #0f172a14;touch-action:manipulation}.mobile-tab{flex:1 1 0;min-width:0;min-height:48px;border:2px solid var(--duo-slate-deep);border-bottom-width:4px;border-radius:12px;background:#fff;color:var(--sumi);font-size:11px;font-weight:1000;cursor:pointer}.mobile-tab.on{background:var(--duo-sky);border-color:var(--duo-sky-deep);color:#fff;box-shadow:none}.mobile-tab:active{border-bottom-width:2px;transform:scale(.97)}.mobile-sheet-backdrop{position:fixed;top:var(--topbar-height);left:0;right:0;bottom:calc(var(--ios-tabbar-height) + var(--mobile-tabs-height) + env(safe-area-inset-bottom));z-index:19;display:block;padding:0;border:0;border-radius:0;background:#0f172a14;cursor:pointer;touch-action:manipulation}.mobile-sheet{position:fixed;left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));top:var(--topbar-height);bottom:calc(var(--ios-tabbar-height) + var(--mobile-tabs-height) + env(safe-area-inset-bottom));z-index:20;display:block;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:0 calc(14px + env(safe-area-inset-right)) 14px calc(14px + env(safe-area-inset-left));background:var(--ios-glass-strong);border:1px solid var(--ios-border);border-radius:24px 24px 0 0;box-shadow:var(--ios-shadow-float),inset 0 0 0 1px #ffffff61;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);scrollbar-width:none;touch-action:pan-y;animation:sheet-up .24s cubic-bezier(.2,.9,.3,1.05)}.mobile-sheet-handle{position:absolute;top:7px;left:50%;z-index:3;display:flex;align-items:center;justify-content:center;width:88px;height:30px;transform:translate(-50%);border:0;border-radius:999px;background:transparent;cursor:pointer;touch-action:manipulation;pointer-events:none}.mobile-sheet-handle span{width:46px;height:5px;border-radius:999px;background:#2d2d2d42;box-shadow:0 1px #ffffff9e}.mobile-sheet-topbar{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:minmax(82px,auto) 1fr;align-items:center;gap:10px;margin:0 calc(-14px - env(safe-area-inset-right)) 12px calc(-14px - env(safe-area-inset-left));padding:18px calc(14px + env(safe-area-inset-right)) 14px calc(14px + env(safe-area-inset-left));background:#fffffff0;border-bottom:1px solid rgba(148,163,184,.28);box-shadow:0 1px #ffffffb8 inset,0 8px 18px #0f172a12;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.mobile-sheet-back{display:flex;align-items:center;justify-content:center;gap:5px;min-width:82px;min-height:46px;border:2px solid var(--duo-slate-deep);border-bottom-width:4px;border-radius:14px;padding:0 11px;background:#fffffff5;color:#075985;font-size:15px;font-weight:1000;line-height:1;cursor:pointer;box-shadow:0 8px 22px #0f172a1f;touch-action:manipulation}.mobile-sheet-back span:first-child{font-size:22px;line-height:1}.mobile-sheet-back:active{border-bottom-width:2px;transform:scale(.96)}.mobile-sheet-heading{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}.mobile-sheet-heading h1{margin:0;color:var(--sumi);font-size:23px;font-weight:1000;line-height:1.12;letter-spacing:0;overflow-wrap:anywhere}.mobile-sheet-heading p{margin:0;color:#475569;font-size:12px;font-weight:800;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-sheet h2{margin:0 0 10px;color:var(--nezumi);font-size:12px;font-weight:800;letter-spacing:.04em}.self-notebook{position:fixed;top:var(--topbar-height);left:0;right:0;bottom:calc(var(--ios-tabbar-height) + env(safe-area-inset-bottom));z-index:30;display:flex;flex-direction:column;background:var(--ios-glass-strong);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);animation:sheet-up .24s cubic-bezier(.2,.9,.3,1.05)}.self-notebook-topbar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:minmax(82px,auto) 1fr;align-items:center;gap:10px;padding:12px calc(14px + env(safe-area-inset-right)) 10px calc(14px + env(safe-area-inset-left));background:#fffffff5;border-bottom:1px solid rgba(148,163,184,.28);box-shadow:0 1px #ffffffb8 inset,0 4px 12px #0f172a0d}.self-notebook-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px calc(14px + env(safe-area-inset-right)) 14px calc(14px + env(safe-area-inset-left));display:flex;flex-direction:column;gap:12px;min-height:0}.self-notebook-tools{display:flex;flex-wrap:wrap;gap:8px}.self-notebook-tools button{flex:1 1 auto;min-height:40px;padding:8px 12px;border:1.5px solid var(--line-strong);border-bottom-width:3px;border-radius:12px;background:#fff;color:var(--sumi);font-weight:800;font-size:13px;cursor:pointer}.self-notebook-tools .tool-learned.on{background:var(--duo-lime);color:#fff;border-color:var(--duo-lime-deep)}.self-notebook-area{flex:1;min-height:220px;width:100%;resize:none;border:1px solid var(--line);border-radius:14px;padding:14px;font-family:inherit;font-size:15px;line-height:1.8;color:var(--sumi);background:#fffdf8f5;outline:none}.self-notebook-area:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px #9b233514}.section-spaced{margin-top:16px!important}.review-card{margin:0 0 12px}.review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.region-list{gap:8px}.region{min-height:44px;padding:8px 13px;font-size:13px}.layer-row{min-height:44px;gap:10px;padding:5px 0;font-size:14px}.layer-row input{width:20px;height:20px}.swatch{width:18px;height:18px}.axis-row{gap:8px}.axis,.concern,.part,.quiz-choice{min-height:44px}.axis{padding:9px 0}.concern{padding:10px 12px;font-size:14px}.parts-list{max-height:32dvh;overflow:auto;-webkit-overflow-scrolling:touch;padding-right:2px}.part{padding:9px 11px;border-radius:11px;font-size:13px}.progress{float:none;display:inline-flex;margin-left:8px}.info-name{font-size:17px}.info-hint,.info-fn,.anat-row{font-size:13px}.learned-btn{min-height:38px;padding:6px 11px}.note-label{flex-wrap:wrap}.note-expand{margin-left:0}.note-area{min-height:112px;font-size:14px}.notebook{left:0;right:0;top:auto;bottom:calc(var(--ios-tabbar-height) + env(safe-area-inset-bottom));z-index:30;width:auto;height:min(68dvh,560px);padding:14px;border-radius:24px 24px 0 0;background:var(--ios-glass-strong);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.notebook-head{gap:8px}.notebook-subject{flex:1}.notebook-tools button{flex:1 1 auto}.explain-left{display:none}.explain-card{left:10px;right:10px;bottom:calc(78px + env(safe-area-inset-bottom));width:auto;max-width:none;max-height:42dvh;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:16px;padding:16px}.explain-title{font-size:20px;margin-bottom:8px}.explain-desc{font-size:14px;line-height:1.7}.explain-rel{font-size:12px}.hint-bar{display:block;position:relative;z-index:0;flex:0 0 auto;min-height:var(--hint-bar-height);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:7px calc(10px + env(safe-area-inset-right)) 7px calc(10px + env(safe-area-inset-left))}.quiz-overlay{align-items:flex-end;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.quiz-card{width:100%;max-height:86dvh;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:24px 24px 0 0;padding:32px calc(16px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.quiz-close{top:8px;right:8px;width:44px;height:44px}.quiz-title{padding-right:42px}.quiz-progress-row{grid-template-columns:1fr;gap:7px}.quiz-q{font-size:17px;margin-bottom:14px}.quiz-choices{gap:8px}.quiz-choice{padding:12px;font-size:14px;overflow-wrap:anywhere}.note-area,.self-notebook-area{font-size:16px}.quiz-explain .btn{width:100%}.ios-mode-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:12px;min-height:var(--ios-tabbar-height);padding:7px calc(16px + env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));background:#ffffffc2;border-top:1px solid rgba(148,163,184,.2);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 -1px #ffffff8f inset,0 -8px 24px #0f172a14}.app.app--suppress-ios-tabbar .ios-mode-tabbar,.app:has(.lesson-card) .ios-mode-tabbar,.app:has(.lesson-quiz-bar) .ios-mode-tabbar,.app:has(.refill-overlay) .ios-mode-tabbar,.app:has(.quiz-overlay) .ios-mode-tabbar{display:none}.app.app--suppress-ios-tabbar,.app:has(.lesson-card),.app:has(.lesson-quiz-bar),.app:has(.refill-overlay),.app:has(.quiz-overlay){--ios-tabbar-height: 0px}*::-webkit-scrollbar{display:none}}@media (max-width: 390px){.brand-mark{display:grid}.logo{max-width:none}.topbar-actions{gap:4px}.topbar-actions .btn{width:auto}.mobile-tabs{gap:3px;padding-left:6px;padding-right:6px}.mobile-tab{font-size:10px}}.ad-banner-wrap{position:fixed;left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));bottom:calc(var(--ios-tabbar-height) + var(--hint-bar-height) + var(--ad-banner-gap));z-index:34;pointer-events:none;padding-bottom:env(safe-area-inset-bottom)}.ad-banner-wrap>*{pointer-events:auto}body:has(.mobile-tabs) .ad-banner-wrap,.app:has(.mobile-tabs) .ad-banner-wrap{bottom:calc(var(--ios-tabbar-height) + var(--mobile-tabs-height, 64px) + var(--hint-bar-height) + var(--ad-banner-gap))}.stage-self .canvas-wrap,.stage-self .canvas-wrap.shifted{bottom:0}.ad-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;text-decoration:none;min-height:88px;box-shadow:0 6px 18px #00000038;transition:transform .2s ease;overflow:hidden}.ad-banner:active{transform:scale(.98)}.ad-banner-image{flex-shrink:0;width:64px;height:64px;display:grid;place-items:center;border-radius:12px;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);overflow:hidden}.ad-banner-image img{width:100%;height:100%;object-fit:cover}.ad-banner-emoji{font-size:34px;line-height:1}.ad-banner-text{flex:1;min-width:0}.ad-banner-title{font-size:15px;font-weight:900;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-banner-sub{font-size:12px;opacity:.92;margin-top:4px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ad-banner-cta{flex-shrink:0;padding:8px 16px;background:#ffffff38;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-size:13px;font-weight:800}.ad-banner-dots{display:flex;gap:5px;justify-content:center;margin-top:6px}.ad-banner-dots span{width:6px;height:6px;border-radius:999px;background:#2d2d2d38;transition:all .2s ease}.ad-banner-dots span.on{background:#2d2d2da6;width:16px}input,textarea,select,.note-area,.notebook-area,.self-notebook-area{font-size:16px}@media (min-width: 761px){.ad-banner-wrap{left:50%;right:auto;transform:translate(-50%);width:min(480px,calc(100% - 32px))}}@media (max-width: 760px){.app:has(.mobile-tabs) .ad-banner{min-height:76px;padding:9px 11px;gap:9px}.app:has(.mobile-tabs) .ad-banner-image{width:52px;height:52px;border-radius:11px}.app:has(.mobile-tabs) .ad-banner-title{font-size:13px}.app:has(.mobile-tabs) .ad-banner-sub{font-size:11px;line-height:1.35;-webkit-line-clamp:1}.app:has(.mobile-tabs) .ad-banner-cta{padding:7px 10px;font-size:12px}}.stage:has(.lesson-path.stage-map) .canvas-wrap,.stage:has(.lesson-path.stage-detail) .canvas-wrap{display:none}.association-app{--association-tabbar-height: 66px;--association-tabbar-offset: calc(var(--association-tabbar-height) + env(safe-area-inset-bottom));padding-bottom:calc(var(--ios-tabbar-height) + var(--association-tabbar-offset))}.association-app--suppress-tabbar{--association-tabbar-height: 0px;--association-tabbar-offset: 0px}.association-app--placeholder{--topbar-height: 0px;--ios-tabbar-height: 0px;min-height:100%;overflow:hidden}.association-placeholder{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:calc(22px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) 28px calc(18px + env(safe-area-inset-left));background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--assoc-sakura) 32%,transparent),transparent 34%),linear-gradient(180deg,var(--assoc-washi) 0%,var(--assoc-kinari) 52%,var(--assoc-aijiro) 100%);color:var(--assoc-sumi)}.association-placeholder-head{width:min(760px,100%);margin:0 auto 18px}.association-app-name{color:var(--assoc-uguisu);font-size:12px;font-weight:1000;letter-spacing:.08em}.association-placeholder h1{margin:4px 0 0;font-size:clamp(26px,4vw,42px);line-height:1.18;letter-spacing:0}.association-learn-panel,.association-waiting-panel{width:min(760px,100%);margin:0 auto;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 90%,transparent);box-shadow:0 18px 44px color-mix(in srgb,var(--assoc-sumi) 11%,transparent)}.association-learn-panel{display:grid;grid-template-columns:minmax(190px,.92fr) minmax(0,1fr);align-items:center;gap:18px;padding:18px}.chara-image-frame{display:grid;place-items:center;min-height:300px;border:1px dashed color-mix(in srgb,var(--assoc-suoh) 36%,transparent);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--assoc-usu-sakura) 72%,transparent),color-mix(in srgb,var(--assoc-kinari) 86%,transparent))}.chara-image-card{display:grid;place-items:center;gap:12px;width:min(210px,82%);aspect-ratio:3 / 4;border:1px solid color-mix(in srgb,var(--assoc-sumi) 11%,transparent);border-radius:8px;background:var(--assoc-washi);color:var(--assoc-suoh)}.chara-face{width:76px;aspect-ratio:1;border-radius:50%;border:7px solid var(--assoc-sakura);background:var(--assoc-kinari);box-shadow:0 32px 0 18px var(--assoc-aijiro)}.chara-label{align-self:end;margin-bottom:18px;color:var(--assoc-suoh);font-size:18px;font-weight:1000;letter-spacing:.08em}.association-placeholder-copy{min-width:0}.association-kicker{display:inline-flex;margin-bottom:8px;color:var(--assoc-suoh);font-size:12px;font-weight:1000;letter-spacing:.12em}.association-placeholder-copy p,.association-waiting-panel p{margin:0;color:color-mix(in srgb,var(--assoc-sumi) 72%,var(--assoc-uguisu));font-size:16px;line-height:1.7}.association-waiting-panel{display:grid;place-items:center;gap:12px;min-height:min(440px,58dvh);padding:28px;text-align:center}.association-waiting-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:8px;background:var(--assoc-kinari);color:var(--assoc-suoh);border:1px solid color-mix(in srgb,var(--assoc-suoh) 28%,transparent);font-size:24px;font-weight:1000}.association-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;min-height:var(--association-tabbar-height);padding:7px calc(10px + env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));border-top:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);background:color-mix(in srgb,var(--assoc-washi) 86%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 -12px 30px color-mix(in srgb,var(--assoc-sumi) 10%,transparent)}.association-app--suppress-tabbar .association-tabbar{display:none}.association-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:50px;border:0;border-radius:8px;background:transparent;color:var(--assoc-uguisu);cursor:pointer;font-weight:1000}.association-tab.on{color:var(--assoc-suoh);background:color-mix(in srgb,var(--assoc-sakura) 34%,transparent)}.association-tab-icon{display:grid;place-items:center;min-width:24px;height:22px;font-size:15px;line-height:1;letter-spacing:0}.association-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.1;letter-spacing:0}.association-app .ios-mode-tabbar{bottom:var(--association-tabbar-offset)}.association-app .ad-banner-wrap{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--hint-bar-height) + var(--ad-banner-gap))}body:has(.association-app .mobile-tabs) .ad-banner-wrap,.association-app:has(.mobile-tabs) .ad-banner-wrap{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--mobile-tabs-height, 64px) + var(--hint-bar-height) + var(--ad-banner-gap))}@media (max-width: 760px){.association-app{--association-tabbar-height: 68px}.association-app--suppress-tabbar{--association-tabbar-height: 0px;--association-tabbar-offset: 0px}.association-placeholder{padding:calc(16px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 18px calc(12px + env(safe-area-inset-left))}.association-learn-panel{grid-template-columns:1fr;gap:14px;padding:14px}.chara-image-frame{min-height:min(320px,48dvh)}.association-tabbar{gap:2px;padding-inline:calc(6px + env(safe-area-inset-left)) calc(6px + env(safe-area-inset-right))}.association-tab{min-height:50px;border-radius:8px}.association-tab-label{font-size:10px}.association-app .stage{--mobile-view-controls-bottom: calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--mobile-control-gap, 12px) + env(safe-area-inset-bottom))}.association-app .mobile-tabs{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + env(safe-area-inset-bottom))}.association-app .mobile-sheet-backdrop,.association-app .mobile-sheet{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--mobile-tabs-height) + env(safe-area-inset-bottom))}.association-app .self-notebook,.association-app .notebook{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + env(safe-area-inset-bottom))}.association-app .stage.has-mobile-tabs .dissect-bar,.association-app .stage:has(.mobile-tabs) .dissect-bar{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--mobile-tabs-height) + 12px + env(safe-area-inset-bottom))}.association-app .lesson-path.stage-map,.association-app .lesson-path.stage-detail{padding-bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--hint-bar-height) + var(--ad-banner-gap) + 120px + env(safe-area-inset-bottom))}}.learn-tab{gap:16px}.learn-chara{min-height:auto;flex-direction:row;align-items:center;gap:14px;padding:14px 16px}.learn-chara .chara-image-card{width:64px;min-height:64px;flex:0 0 auto}.learn-chara .chara-face{width:34px;height:34px;border-width:4px;box-shadow:0 14px 0 8px var(--assoc-aijiro)}.learn-chara-copy{margin:0;font-size:14px;color:var(--assoc-sumi);font-weight:700}.learn-track-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.learn-track-tab{flex:0 0 auto;padding:8px 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 14%,transparent);background:color-mix(in srgb,var(--assoc-washi) 92%,transparent);color:var(--assoc-sumi);font-weight:700;font-size:13px;cursor:pointer}.learn-track-tab.on{background:var(--assoc-suoh);border-color:var(--assoc-suoh);color:var(--assoc-washi)}.learn-stage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.learn-stage-node{width:100%;display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);background:color-mix(in srgb,var(--assoc-washi) 94%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--assoc-sumi) 8%,transparent);cursor:pointer;text-align:left}.learn-stage-badge{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:18px;color:var(--assoc-suoh);background:var(--assoc-kinari);border:2px solid color-mix(in srgb,var(--assoc-suoh) 30%,transparent)}.learn-stage-badge.cleared{color:var(--assoc-washi);background:var(--assoc-uguisu);border-color:var(--assoc-uguisu)}.learn-stage-info{display:flex;flex-direction:column;gap:3px}.learn-stage-title{font-weight:800;font-size:15px;color:var(--assoc-sumi)}.learn-stage-meta{font-size:12px;color:var(--assoc-uguisu);font-weight:700}.learn-detail{display:flex;flex-direction:column;gap:12px}.learn-back{align-self:flex-start;background:none;border:none;color:var(--assoc-suoh);font-weight:800;font-size:14px;cursor:pointer;padding:4px 0}.learn-detail-head h2{margin:4px 0 0;font-size:20px;color:var(--assoc-sumi)}.learn-detail-track{font-size:12px;font-weight:800;color:var(--assoc-uguisu);letter-spacing:.08em}.learn-reward-chip{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800;color:var(--assoc-suoh);background:color-mix(in srgb,var(--assoc-yamabuki) 30%,transparent)}.learn-step{display:flex;gap:12px;padding:14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);background:color-mix(in srgb,var(--assoc-washi) 94%,transparent)}.learn-step.is-cleared{border-color:color-mix(in srgb,var(--assoc-uguisu) 40%,transparent);background:color-mix(in srgb,var(--assoc-uguisu) 8%,var(--assoc-washi))}.learn-step-icon{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:900;color:var(--assoc-washi);background:var(--assoc-suoh)}.learn-step-body{flex:1 1 auto;min-width:0}.learn-step-title{font-weight:800;font-size:15px;color:var(--assoc-sumi);display:flex;align-items:center;gap:8px}.learn-step-sub{margin:4px 0 0;font-size:13px;color:var(--assoc-uguisu);font-weight:600}.learn-chip{font-size:11px;font-weight:800;padding:1px 8px;border-radius:999px}.learn-chip.ok{color:var(--assoc-washi);background:var(--assoc-uguisu)}.learn-skip-note{margin:8px 0 0;font-size:12px;color:var(--assoc-sumi);background:color-mix(in srgb,var(--assoc-aijiro) 40%,transparent);border-radius:10px;padding:8px 10px}.learn-cta{margin-top:10px}.learn-midboss-card{max-width:480px;width:min(92vw,480px)}.learn-midboss-note{font-size:13px;color:var(--assoc-sumi);margin:8px 0 0}.quiz-done-badge.ng{color:var(--assoc-suoh);background:color-mix(in srgb,var(--assoc-usu-sakura) 60%,transparent)}@media (prefers-reduced-motion: reduce){.learn-stage-node,.learn-step{transition:none}}.chara{position:relative;display:inline-block}.chara-tappable{cursor:pointer}.chara-idle{display:block;animation:charaIdle 3s ease-in-out infinite;will-change:transform}.chara-happy{animation:charaHappy 1.3s cubic-bezier(.34,1.3,.44,1) both}.chara-cheer{animation:charaCheer .9s ease-in-out both}.chara-sad{animation:charaSad 1.6s ease-in-out both}.chara-rig{display:block;transform-origin:50% 88%}.chara-arm-sway{animation:charaArmSway 3s ease-in-out infinite}.chara-arm-sway-mirror{animation:charaArmSwayMirror 3s ease-in-out -1.5s infinite;transform:scaleX(-1)}.chara-arm-wave{animation:charaArmWave .9s ease-in-out both}.chara-blink-open{animation:charaBlinkOpen 4.6s steps(1) infinite}.chara-blink-closed{animation:charaBlinkClosed 4.6s steps(1) infinite}.chara-spark-img{position:absolute;left:50%;top:38%;pointer-events:none;animation:charaSpark 1s ease-out both}@keyframes charaIdle{0%,to{transform:translateY(0) rotate(-.8deg)}50%{transform:translateY(-4px) rotate(.8deg)}}@keyframes charaHappy{0%,30%,60%,to{transform:translateY(0) scale(1)}15%{transform:translateY(-15px) scale(1.05)}45%{transform:translateY(-9px) scale(1.04)}}@keyframes charaCheer{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}65%{transform:rotate(8deg)}}@keyframes charaSad{0%,to{transform:translateY(0) rotate(0) scale(1)}25%,70%{transform:translateY(5px) rotate(-4deg) scale(.98)}}@keyframes charaSpark{0%{opacity:0;transform:rotate(var(--sp-angle)) translate(8px) scale(.4)}25%{opacity:1}to{opacity:0;transform:rotate(var(--sp-angle)) translate(46px) scale(1)}}@keyframes charaArmSway{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes charaArmSwayMirror{0%,to{transform:scaleX(-1) rotate(0)}50%{transform:scaleX(-1) rotate(3deg)}}@keyframes charaArmWave{0%,to{transform:rotate(0)}25%{transform:rotate(-26deg)}55%{transform:rotate(10deg)}80%{transform:rotate(-18deg)}}@keyframes charaBlinkOpen{0%,91%{opacity:1}92%,97%{opacity:0}98%,to{opacity:1}}@keyframes charaBlinkClosed{0%,91%{opacity:0}92%,97%{opacity:1}98%,to{opacity:0}}@media (prefers-reduced-motion: reduce){.chara-idle,.chara-rig,.chara-arm-sway,.chara-arm-sway-mirror,.chara-arm-wave,.chara-blink-open,.chara-blink-closed{animation:none!important}.chara-spark-img{display:none!important}}.learn-chara-rig{display:flex;align-items:flex-end;gap:12px}.courses-tab{color:var(--assoc-sumi)}.courses-head p{margin:8px 0 0;color:color-mix(in srgb,var(--assoc-sumi) 72%,var(--assoc-uguisu));font-size:14px;line-height:1.7}.courses-mock-banner,.courses-list,.courses-note{width:min(920px,100%);margin-inline:auto}.courses-mock-banner{margin-bottom:14px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--assoc-yamabuki) 55%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-yamabuki) 18%,var(--assoc-washi));color:color-mix(in srgb,var(--assoc-sumi) 82%,var(--assoc-suoh));font-size:12px;line-height:1.6;font-weight:800}.courses-list{border-top:1px solid color-mix(in srgb,var(--assoc-sumi) 13%,transparent);border-bottom:1px solid color-mix(in srgb,var(--assoc-sumi) 13%,transparent)}.courses-empty{margin:0;padding:28px 0;color:color-mix(in srgb,var(--assoc-sumi) 66%,var(--assoc-uguisu));font-size:14px}.courses-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,320px);gap:22px;padding:24px 0;border-top:1px solid color-mix(in srgb,var(--assoc-sumi) 10%,transparent)}.courses-row:first-of-type{border-top:0}.courses-row-main{min-width:0}.courses-title-line{display:flex;align-items:flex-start;gap:10px;min-width:0}.courses-title-line h2{margin:0;min-width:0;color:var(--assoc-sumi);font-size:clamp(20px,3vw,27px);line-height:1.32;letter-spacing:0;overflow-wrap:anywhere}.courses-status-chip{flex:0 0 auto;margin-top:3px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--assoc-uguisu) 14%,var(--assoc-washi));color:var(--assoc-uguisu);border:1px solid color-mix(in srgb,var(--assoc-uguisu) 38%,transparent);font-size:11px;font-weight:900}.courses-instructors,.courses-description,.courses-apply-state,.courses-bank-caution,.courses-note{color:color-mix(in srgb,var(--assoc-sumi) 68%,var(--assoc-uguisu));line-height:1.8}.courses-instructors{margin:8px 0 0;font-size:12px}.courses-description{margin:10px 0 0;font-size:14px}.courses-apply-panel{align-self:start;display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 13%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 86%,transparent);box-shadow:0 12px 30px color-mix(in srgb,var(--assoc-sumi) 8%,transparent)}.courses-price{color:var(--assoc-suoh);font-size:22px;line-height:1.2;font-weight:1000}.courses-payment-fieldset{display:grid;gap:8px;min-inline-size:0;margin:0;padding:0;border:0}.courses-payment-fieldset:disabled{opacity:.62}.courses-payment-fieldset legend{margin-bottom:2px;color:color-mix(in srgb,var(--assoc-sumi) 58%,var(--assoc-uguisu));font-size:12px;font-weight:900}.courses-payment-choice{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 13%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 72%,transparent);cursor:pointer}.courses-payment-choice.on{border-color:color-mix(in srgb,var(--assoc-suoh) 56%,transparent);background:color-mix(in srgb,var(--assoc-usu-sakura) 52%,var(--assoc-washi))}.courses-payment-choice input{flex:0 0 auto;width:18px;height:18px;margin:3px 0 0;accent-color:var(--assoc-suoh)}.courses-payment-text{display:grid;gap:2px;min-width:0}.courses-payment-title{color:var(--assoc-sumi);font-size:14px;font-weight:900}.courses-payment-description{color:color-mix(in srgb,var(--assoc-sumi) 62%,var(--assoc-uguisu));font-size:12px;line-height:1.6}.courses-bank-caution,.courses-apply-state{margin:0;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--assoc-aijiro) 42%,var(--assoc-washi));font-size:12px}.courses-apply-state a{display:inline-flex;margin-left:8px;color:var(--assoc-suoh);font-weight:1000;text-decoration:underline;text-underline-offset:3px}.courses-apply-button{width:100%;min-height:46px;padding:10px 14px;border:2px solid color-mix(in srgb,var(--assoc-suoh) 84%,#5f0f1e);border-bottom-width:4px;border-radius:8px;background:var(--assoc-suoh);color:var(--assoc-washi);cursor:pointer;font-size:14px;font-weight:1000;letter-spacing:0;overflow-wrap:anywhere}.courses-apply-button:disabled{cursor:not-allowed;opacity:.5}.courses-error{margin:14px 0 0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--assoc-suoh) 38%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-usu-sakura) 68%,var(--assoc-washi));color:var(--assoc-suoh);font-size:13px;line-height:1.7;font-weight:800}.courses-bank-panel{margin-top:16px;padding:16px;border:1px solid color-mix(in srgb,var(--assoc-suoh) 32%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 80%,transparent)}.courses-bank-kicker{color:var(--assoc-suoh);font-size:11px;font-weight:1000;letter-spacing:.12em}.courses-bank-panel h3{margin:4px 0 0;color:var(--assoc-sumi);font-size:19px;line-height:1.4}.courses-bank-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.courses-bank-summary div,.courses-bank-account{min-width:0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 11%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-kinari) 70%,var(--assoc-washi))}.courses-bank-summary dt,.courses-bank-label,.courses-bank-id{color:color-mix(in srgb,var(--assoc-sumi) 60%,var(--assoc-uguisu));font-size:12px;font-weight:900}.courses-bank-summary dd{margin:4px 0 0;color:var(--assoc-sumi);font-size:15px;line-height:1.5;overflow-wrap:anywhere}.courses-bank-summary div:first-child dd{color:var(--assoc-suoh);font-size:19px;font-weight:1000}.courses-bank-account{margin-top:10px}.courses-bank-account p{margin:8px 0 0;color:var(--assoc-sumi);font-size:14px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.courses-bank-note{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--assoc-aijiro) 44%,var(--assoc-washi));color:color-mix(in srgb,var(--assoc-sumi) 68%,var(--assoc-uguisu));font-size:12px;line-height:1.7}.courses-bank-id{margin:10px 0 0}.courses-note{margin-top:12px;color:color-mix(in srgb,var(--assoc-sumi) 64%,var(--assoc-uguisu));font-size:12px;line-height:1.7}@media (max-width: 760px){.courses-row{grid-template-columns:1fr;gap:14px;padding:20px 0}.courses-title-line{flex-direction:column;gap:6px}.courses-status-chip{margin-top:0}.courses-apply-panel{position:static}.courses-bank-summary{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.courses-payment-choice,.courses-apply-button{transition:none}}.board-tab,.mypage-tab{gap:16px}.board-head p,.mypage-head p{margin:8px 0 0;color:color-mix(in srgb,var(--assoc-sumi) 66%,var(--assoc-uguisu));font-size:14px;line-height:1.7}.board-mock-banner,.mypage-mock-banner,.board-message,.mypage-message,.mypage-empty{width:min(1120px,100%);margin:0 auto 14px;padding:11px 13px;border-radius:8px;font-size:13px;line-height:1.7;font-weight:800}.board-mock-banner,.mypage-mock-banner{border:1px solid color-mix(in srgb,var(--assoc-yamabuki) 45%,transparent);background:color-mix(in srgb,var(--assoc-yamabuki) 20%,var(--assoc-washi));color:color-mix(in srgb,var(--assoc-sumi) 76%,var(--assoc-uguisu))}.board-message,.mypage-message{border:1px solid color-mix(in srgb,var(--assoc-uguisu) 28%,transparent);background:color-mix(in srgb,var(--assoc-aijiro) 46%,var(--assoc-washi));color:var(--assoc-sumi)}.board-message.error,.mypage-message.error{border-color:color-mix(in srgb,var(--assoc-suoh) 38%,transparent);background:color-mix(in srgb,var(--assoc-usu-sakura) 62%,var(--assoc-washi));color:var(--assoc-suoh)}.board-shell{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);gap:16px;align-items:start}.board-feed,.board-detail,.mypage-login-panel,.mypage-section{border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 91%,transparent);box-shadow:0 16px 34px color-mix(in srgb,var(--assoc-sumi) 9%,transparent)}.board-feed,.board-detail{min-width:0;padding:16px}.board-panel-head,.board-comments-head,.mypage-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.board-panel-head h2,.board-comments-head h2,.mypage-section-head h2,.mypage-login-panel h2{margin:0;color:var(--assoc-sumi);font-size:18px;line-height:1.35;letter-spacing:0}.board-panel-head span,.board-comments-head span,.mypage-section-head span{color:color-mix(in srgb,var(--assoc-sumi) 58%,var(--assoc-uguisu));font-size:12px;font-weight:900}.board-composer{display:grid;gap:8px;margin-bottom:14px}.board-composer textarea{width:100%;min-height:92px;resize:vertical;padding:11px 12px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 14%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 95%,transparent);color:var(--assoc-sumi);font:inherit;line-height:1.7}.board-composer textarea:read-only{cursor:pointer;background:color-mix(in srgb,var(--assoc-aijiro) 34%,var(--assoc-washi))}.board-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.board-composer-actions span{color:color-mix(in srgb,var(--assoc-sumi) 54%,var(--assoc-uguisu));font-size:12px;font-weight:800}.board-primary-button,.board-like-button,.mypage-login-button{min-height:40px;padding:8px 13px;border:2px solid color-mix(in srgb,var(--assoc-suoh) 80%,#5f0f1e);border-bottom-width:4px;border-radius:8px;background:var(--assoc-suoh);color:var(--assoc-washi);cursor:pointer;font-size:13px;font-weight:1000;letter-spacing:0;overflow-wrap:anywhere}.board-primary-button:disabled,.board-like-button:disabled,.mypage-login-button:disabled{cursor:not-allowed;opacity:.55}.board-post-list,.board-comments,.mypage-badge-groups{display:grid;gap:10px}.board-post-row{width:100%;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 11%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 87%,transparent);color:var(--assoc-sumi);cursor:pointer;text-align:left}.board-post-row.on{border-color:color-mix(in srgb,var(--assoc-suoh) 48%,transparent);background:color-mix(in srgb,var(--assoc-usu-sakura) 44%,var(--assoc-washi))}.board-post-meta{display:flex;flex-wrap:wrap;gap:6px 10px;color:color-mix(in srgb,var(--assoc-sumi) 55%,var(--assoc-uguisu));font-size:12px;line-height:1.5;font-weight:900}.board-post-body{display:-webkit-box;margin-top:6px;overflow:hidden;color:var(--assoc-sumi);font-size:14px;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:3}.board-counts{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;color:color-mix(in srgb,var(--assoc-sumi) 62%,var(--assoc-uguisu));font-size:12px;font-weight:900}.board-counts span{display:inline-flex;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--assoc-aijiro) 44%,var(--assoc-washi))}.board-detail-post{padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent)}.board-detail-post p,.board-comment p{margin:8px 0 0;color:var(--assoc-sumi);font-size:15px;line-height:1.8;overflow-wrap:anywhere}.board-detail-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.board-like-button{background:color-mix(in srgb,var(--assoc-uguisu) 82%,#365f46);border-color:color-mix(in srgb,var(--assoc-uguisu) 84%,#365f46)}.board-comments-head{margin-top:16px}.board-comment{padding:12px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 10%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-kinari) 54%,var(--assoc-washi))}.board-empty,.mypage-empty{color:color-mix(in srgb,var(--assoc-sumi) 62%,var(--assoc-uguisu))}.board-empty{margin:0;padding:14px 0;font-size:13px;line-height:1.7;font-weight:800}.mypage-login-panel,.mypage-section{width:min(1120px,100%);margin:0 auto 16px;padding:16px}.mypage-login-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.mypage-login-panel p{margin:7px 0 0;color:color-mix(in srgb,var(--assoc-sumi) 65%,var(--assoc-uguisu));font-size:13px;line-height:1.7}.mypage-login-state{display:inline-flex;margin-bottom:7px;padding:3px 9px;border:1px solid color-mix(in srgb,var(--assoc-suoh) 30%,transparent);border-radius:999px;color:var(--assoc-suoh);background:color-mix(in srgb,var(--assoc-usu-sakura) 46%,var(--assoc-washi));font-size:12px;font-weight:1000}.mypage-login-state.on{border-color:color-mix(in srgb,var(--assoc-uguisu) 36%,transparent);color:var(--assoc-uguisu);background:color-mix(in srgb,var(--assoc-aijiro) 48%,var(--assoc-washi))}.mypage-section-head{padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent)}.mypage-section-head span{color:var(--assoc-suoh)}.mypage-coupon-grid,.mypage-badge-grid{display:grid;gap:12px}.mypage-coupon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mypage-coupon{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.42fr);gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--assoc-suoh) 30%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 92%,transparent)}.mypage-coupon.inactive{border-color:color-mix(in srgb,var(--assoc-sumi) 14%,transparent);background:color-mix(in srgb,var(--assoc-kinari) 58%,var(--assoc-washi));opacity:.74}.mypage-status-chip{display:inline-flex;padding:3px 8px;border:1px solid color-mix(in srgb,var(--assoc-suoh) 34%,transparent);border-radius:999px;color:var(--assoc-suoh);font-size:11px;font-weight:1000}.mypage-coupon h3,.mypage-badge-card h3,.mypage-badge-group h3{margin:8px 0 0;color:var(--assoc-sumi);font-size:17px;line-height:1.4;letter-spacing:0}.mypage-coupon p{margin:6px 0 0;color:color-mix(in srgb,var(--assoc-sumi) 66%,var(--assoc-uguisu));font-size:13px;line-height:1.7}.mypage-date,.mypage-badge-card p,.mypage-badge-card span{display:block;margin-top:8px;color:color-mix(in srgb,var(--assoc-sumi) 58%,var(--assoc-uguisu));font-size:12px;line-height:1.5;font-weight:800;overflow-wrap:anywhere}.mypage-coupon-code{align-self:stretch;display:grid;align-content:center;gap:4px;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--assoc-suoh) 25%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-kinari) 68%,var(--assoc-washi))}.mypage-coupon-code span{color:color-mix(in srgb,var(--assoc-sumi) 58%,var(--assoc-uguisu));font-size:11px;font-weight:1000}.mypage-coupon-code code{color:var(--assoc-suoh);font-size:15px;font-weight:1000;white-space:normal;overflow-wrap:anywhere}.mypage-badge-groups{margin-top:14px}.mypage-badge-group{min-width:0}.mypage-badge-group>h3{margin:0 0 10px;color:color-mix(in srgb,var(--assoc-sumi) 56%,var(--assoc-uguisu));font-size:13px;font-weight:1000}.mypage-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mypage-badge-card{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:13px;border:1px solid color-mix(in srgb,var(--assoc-uguisu) 30%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 92%,transparent)}.mypage-badge-mark{flex:0 0 auto;display:grid;place-items:center;width:50px;height:50px;border:2px solid color-mix(in srgb,var(--assoc-uguisu) 70%,transparent);border-radius:50%;background:color-mix(in srgb,var(--assoc-aijiro) 45%,var(--assoc-washi));color:var(--assoc-uguisu);font-size:18px;font-weight:1000}.mypage-badge-body{min-width:0}.mypage-badge-card h3{margin-top:0}@media (max-width: 920px){.board-shell,.mypage-coupon-grid,.mypage-badge-grid{grid-template-columns:1fr}.board-detail{min-height:320px}.mypage-coupon{grid-template-columns:1fr}}@media (max-width: 760px){.board-feed,.board-detail,.mypage-login-panel,.mypage-section{padding:14px}.board-panel-head,.board-comments-head,.mypage-section-head,.board-detail-actions,.board-composer-actions{align-items:flex-start;flex-direction:column}.board-primary-button,.board-like-button,.mypage-login-button{width:100%}.mypage-login-panel{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.board-post-row,.board-primary-button,.board-like-button,.mypage-login-button{transition:none}}.auth-panel{margin:0 0 14px;padding:16px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:8px;background:color-mix(in srgb,var(--assoc-washi) 91%,transparent);box-shadow:0 16px 34px color-mix(in srgb,var(--assoc-sumi) 9%,transparent);display:grid;gap:12px}.auth-tabs{display:flex;gap:8px}.auth-tab{flex:1;padding:8px 10px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 16%,transparent);border-radius:999px;background:transparent;font-weight:700;cursor:pointer}.auth-tab.on{background:var(--assoc-sumi, #3f2b2b);color:var(--assoc-washi, #faf6ef);border-color:transparent}.auth-form{display:grid;gap:10px}.auth-field{display:grid;gap:4px;font-size:13px;font-weight:600}.auth-field input{padding:10px 12px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 18%,transparent);border-radius:8px;font:inherit;background:#fff}.auth-error{margin:0;padding:8px 10px;border-radius:8px;font-size:12.5px;color:#8c2f2f;background:color-mix(in srgb,#c14b4b 12%,transparent)}.auth-submit{padding:12px;border:none;border-radius:999px;background:var(--assoc-suoh, #8e354a);color:#fff;font-weight:800;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:default}.auth-guest-note{margin:0;font-size:12px;line-height:1.7;color:color-mix(in srgb,var(--assoc-sumi) 62%,transparent)}.auth-member{display:grid;gap:2px}.auth-member-name{font-weight:800}.auth-member-email{font-size:12.5px;opacity:.7}.auth-member-note{font-size:12px;color:#8c2f2f}.auth-logout{justify-self:start;padding:8px 16px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 20%,transparent);border-radius:999px;background:transparent;font-weight:700;cursor:pointer}.learn-input-label{display:block;color:var(--assoc-sumi);font-weight:800}.learn-input-sub{display:block;margin-top:2px;font-size:12px;color:var(--assoc-uguisu);font-weight:600}.learn-input-raw{display:block;margin-top:2px;font-size:11px;opacity:.7;word-break:break-all}.learn-return-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px calc(14px + env(safe-area-inset-right)) 8px calc(14px + env(safe-area-inset-left));background:color-mix(in srgb,var(--assoc-aijiro) 55%,#fff);border-bottom:1px solid color-mix(in srgb,var(--assoc-uguisu) 25%,transparent)}.learn-return-btn{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--assoc-suoh) 35%,transparent);background:var(--assoc-washi);color:var(--assoc-suoh);font-weight:800;font-size:13px;border-radius:999px;padding:6px 14px;cursor:pointer}.learn-return-btn:active{transform:scale(.97)}.learn-return-ctx{min-width:0;font-size:12px;font-weight:700;color:var(--assoc-uguisu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hint-bar-credit,.hint-bar-separator,.hint-bar-links{display:inline-flex;align-items:center;min-width:0}.hint-bar-links{white-space:nowrap}.hint-bar.hint-bar--standalone{min-height:calc(var(--hint-bar-height) + env(safe-area-inset-bottom));padding:7px calc(10px + env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));display:flex;align-items:center;justify-content:center;align-content:center;flex-wrap:wrap;gap:2px 8px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}.hint-bar.hint-bar--standalone .hint-bar-credit{flex:0 1 auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hint-bar.hint-bar--standalone .hint-bar-links{flex:0 0 auto;gap:10px}.hint-bar.hint-bar--standalone .footer-link{min-height:30px;display:inline-flex;align-items:center;margin-left:0;padding:0 2px}.refill-card{padding-bottom:calc(22px + env(safe-area-inset-bottom))}@media (max-width: 760px){.association-app .lesson-path.stage-map{padding-bottom:calc(128px + env(safe-area-inset-bottom))}}.quiz-done-chara{display:block;width:156px;height:156px;margin:0 auto -6px;object-fit:contain;pointer-events:none}.mypage-chara{display:block;width:124px;height:auto;margin:0 auto 6px;pointer-events:none}@media (prefers-reduced-motion: reduce){.quiz-done-chara{animation:none!important}}.mypage-badge-card p.mypage-badge-feedback{margin-top:6px;color:var(--assoc-sumi);font-weight:500}.learn-boss-intro,.learn-boss-chat{display:flex;flex-direction:column;gap:10px}.learn-boss-scenario,.learn-boss-rubric{border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--assoc-kinari) 70%,transparent);font-size:13px;line-height:1.85;color:var(--assoc-sumi)}.learn-boss-rubric{border-style:dashed;background:transparent}.learn-boss-scenario-title,.learn-boss-rubric-title,.learn-boss-improvements-title{margin:0 0 6px;font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--assoc-suoh)}.learn-boss-rubric ul,.learn-boss-improvements ul{margin:0;padding-left:1.1em}.learn-boss-rubric li,.learn-boss-improvements li{margin-top:4px}.learn-boss-log{display:flex;flex-direction:column;gap:8px;min-height:200px;max-height:min(46vh,340px);overflow-y:auto;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--assoc-washi) 80%,transparent);border:1px solid color-mix(in srgb,var(--assoc-sumi) 10%,transparent)}.learn-boss-chat-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.learn-boss-chat-who{font-weight:850;color:var(--assoc-suoh)}.learn-boss-chat-turns,.learn-boss-empty{font-size:12px;color:var(--assoc-uguisu)}.learn-boss-empty{margin:auto 0;text-align:center;line-height:1.9}.learn-boss-msg{max-width:82%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word}.learn-boss-msg.is-customer{align-self:flex-start;background:color-mix(in srgb,var(--assoc-kinari) 92%,transparent);color:var(--assoc-sumi);border-bottom-left-radius:4px}.learn-boss-msg.is-me{align-self:flex-end;background:color-mix(in srgb,var(--assoc-suoh) 90%,transparent);color:var(--assoc-washi);border-bottom-right-radius:4px}.learn-boss-msg.is-typing{letter-spacing:.2em;color:var(--assoc-uguisu)}.learn-boss-input{display:flex;gap:8px}.learn-boss-input input{flex:1;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 18%,transparent);background:var(--assoc-washi);color:var(--assoc-sumi);font-size:16px}.learn-boss-input input:focus{outline:2px solid color-mix(in srgb,var(--assoc-suoh) 45%,transparent);outline-offset:1px}.learn-boss-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.learn-boss-error{margin:0;font-size:13px;line-height:1.8;color:var(--assoc-suoh)}.learn-boss-improvements{margin-top:10px;text-align:left;font-size:13px;line-height:1.85;color:var(--assoc-sumi)}.manabu-lead,.manabu-note,.manabu-empty,.manabu-theme-desc{font-size:13px;line-height:1.9;color:var(--assoc-sumi);margin:0}.manabu-empty{color:var(--assoc-uguisu);text-align:center;padding:20px 8px}.manabu-guest{margin:10px 0 0;font-size:13px;line-height:1.9;color:var(--assoc-suoh);font-weight:800}.manabu-notice{margin:0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--assoc-usu-sakura) 60%,transparent);color:var(--assoc-suoh);font-size:13px;line-height:1.8;font-weight:800}.manabu-error{margin:0;font-size:13px;line-height:1.8;color:var(--assoc-suoh)}.manabu-tabs,.manabu-mode{display:flex;gap:8px;margin:4px 0 12px}.manabu-tab-btn,.manabu-mode-btn{flex:1;min-width:0;padding:10px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 14%,transparent);background:transparent;color:var(--assoc-uguisu);font-weight:900;font-size:13px;cursor:pointer}.manabu-tab-btn.on,.manabu-mode-btn.on{color:var(--assoc-suoh);border-color:color-mix(in srgb,var(--assoc-suoh) 40%,transparent);background:color-mix(in srgb,var(--assoc-sakura) 34%,transparent)}.manabu-theme{border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:14px;padding:14px 16px;background:color-mix(in srgb,var(--assoc-washi) 88%,transparent)}.manabu-theme h2{margin:4px 0 8px;font-size:18px;line-height:1.5}.manabu-month{margin:0;font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--assoc-suoh)}.manabu-theme-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.manabu-chip{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;color:var(--assoc-suoh);background:color-mix(in srgb,var(--assoc-usu-sakura) 70%,transparent)}.manabu-chip.ok{color:var(--assoc-uguisu);background:color-mix(in srgb,var(--assoc-kinari) 92%,transparent)}.manabu-cta{margin-top:12px;display:inline-block}.manabu-form{margin-top:14px;display:flex;flex-direction:column;gap:12px;border:1px dashed color-mix(in srgb,var(--assoc-suoh) 30%,transparent);border-radius:14px;padding:14px 16px}.manabu-timer{text-align:center}.manabu-timer-value{font-size:34px;font-weight:1000;color:var(--assoc-suoh);font-variant-numeric:tabular-nums}.manabu-timer-actions,.manabu-cheer-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:8px}.manabu-manual{display:flex;gap:12px;justify-content:center}.manabu-manual label,.manabu-comment{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800;color:var(--assoc-uguisu)}.manabu-manual input,.manabu-comment textarea,.manabu-cheer-card textarea{padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 18%,transparent);background:var(--assoc-washi);color:var(--assoc-sumi);font-size:16px;font-family:inherit}.manabu-manual input{width:90px;text-align:center}.manabu-photos{display:flex;gap:10px}.manabu-photo{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.manabu-photo-label{font-size:11px;font-weight:800;color:var(--assoc-uguisu)}.manabu-photo img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:10px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent)}.manabu-photo-pick{display:grid;place-items:center;width:100%;aspect-ratio:3 / 4;border-radius:10px;border:1px dashed color-mix(in srgb,var(--assoc-sumi) 26%,transparent);color:var(--assoc-uguisu);font-size:12px;font-weight:800;cursor:pointer}.manabu-photo-pick input{display:none}.manabu-mine,.manabu-badges{margin-top:18px}.manabu-mine h3,.manabu-badges h3,.manabu-cheer-card h3{margin:0 0 8px;font-size:14px;color:var(--assoc-suoh)}.manabu-mine ul,.manabu-badges ul,.manabu-rank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.manabu-mine li,.manabu-badges li{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--assoc-kinari) 70%,transparent);font-size:13px;color:var(--assoc-sumi)}.manabu-mine-no,.manabu-badge-month{font-size:11px;font-weight:800;color:var(--assoc-uguisu)}.manabu-mine-time{font-weight:1000;color:var(--assoc-suoh)}.manabu-mine-comment{flex-basis:100%;font-size:12px;line-height:1.8;color:var(--assoc-uguisu)}.manabu-rank-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 10%,transparent);background:color-mix(in srgb,var(--assoc-washi) 82%,transparent)}.manabu-rank-list li.is-me{border-color:color-mix(in srgb,var(--assoc-suoh) 38%,transparent);background:color-mix(in srgb,var(--assoc-usu-sakura) 46%,transparent)}.manabu-rank-no{min-width:26px;text-align:center;font-size:17px;font-weight:1000;color:var(--assoc-suoh);font-variant-numeric:tabular-nums}.manabu-rank-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.manabu-rank-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px;font-weight:900;color:var(--assoc-sumi)}.manabu-rank-meta{font-size:12px;color:var(--assoc-uguisu)}.manabu-cheer-btn{flex-shrink:0}.manabu-cheer-card{max-width:420px;width:min(92vw,420px);display:flex;flex-direction:column;gap:10px}@media (max-width: 760px){.association-app .hint-bar:not(.hint-bar--standalone){display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0 6px;overflow:hidden}.association-app .hint-bar:not(.hint-bar--standalone) .hint-bar-credit{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.association-app .hint-bar:not(.hint-bar--standalone) .hint-bar-links{flex:0 0 auto;gap:10px;overflow:visible}.association-app .hint-bar:not(.hint-bar--standalone) .hint-bar-separator{flex:0 0 auto}}@media (max-width: 760px){.association-app .mobile-tabs{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--hint-bar-height) + env(safe-area-inset-bottom))}.association-app .mobile-sheet-backdrop,.association-app .mobile-sheet{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--hint-bar-height) + var(--mobile-tabs-height) + env(safe-area-inset-bottom))}.association-app .stage.has-mobile-tabs .dissect-bar,.association-app .stage:has(.mobile-tabs) .dissect-bar{bottom:calc(var(--association-tabbar-offset) + var(--ios-tabbar-height) + var(--hint-bar-height) + var(--mobile-tabs-height) + 12px + env(safe-area-inset-bottom))}}.learn-3d{margin-top:10px}.skin-viewer{width:100%;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);background:#fbf7f2;touch-action:pan-y}.skin-viewer canvas{display:block;width:100%!important;height:100%!important}.skin-viewer--failed{display:grid;place-items:center;padding:16px;font-size:13px;line-height:1.8;color:var(--assoc-uguisu);text-align:center}.skin-viewer-loading{font-size:12px;color:var(--assoc-uguisu);white-space:nowrap}.learn-3d-caption{margin:8px 0 0;font-size:12px;line-height:1.8;color:var(--assoc-uguisu)}.learn-3d-stage{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);background:var(--assoc-kinari);touch-action:pan-y}.learn-3d-stage canvas{display:block}.learn-cards{margin-top:12px}.learn-cards-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.learn-cards-count{font-size:11px;font-weight:800;color:var(--assoc-suoh);letter-spacing:.08em}.learn-cards-all{font-size:12px;padding:5px 10px}.learn-cards-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.learn-card{border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--assoc-washi) 84%,transparent)}.learn-card.is-focus{border-color:color-mix(in srgb,var(--assoc-suoh) 45%,transparent);background:color-mix(in srgb,var(--assoc-usu-sakura) 46%,transparent)}.learn-card-head{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;padding:0;cursor:pointer;text-align:left}.learn-card-ja{flex:1;min-width:0;font-size:15px;font-weight:900;color:var(--assoc-sumi)}.learn-card-domain{flex:0 0 auto;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;color:var(--assoc-uguisu);background:color-mix(in srgb,var(--assoc-kinari) 90%,transparent)}.learn-card-caret{flex:0 0 auto;font-size:17px;font-weight:900;color:var(--assoc-uguisu)}.learn-card-fn{margin:6px 0 0;font-size:12px;line-height:1.8;color:var(--assoc-uguisu)}.learn-card-body{margin-top:8px;font-size:13px;line-height:1.9;color:var(--assoc-sumi)}.learn-card-body p{margin:0 0 6px}.learn-card-dl{margin:6px 0 0;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:12px}.learn-card-dl dt{font-weight:800;color:var(--assoc-suoh);white-space:nowrap}.learn-card-dl dd{margin:0;color:var(--assoc-sumi)}.learn-card-confuse{margin:8px 0 0;font-size:12px;color:var(--assoc-suoh)}.learn-more{opacity:.9}.learn-3d--hero{margin:4px 0 14px}.learn-3d--hero .skin-viewer,.learn-3d--hero .learn-3d-stage{aspect-ratio:1 / 1;max-height:min(46dvh,420px);border-radius:16px}.learn-3d--hero .learn-3d-caption{text-align:center;margin-top:8px}.learn-chara.is-compact{min-height:auto;gap:10px;margin-bottom:2px}.learn-chara.is-compact .learn-chara-copy{font-size:12px}.x-board{padding:0 0 24px}.x-head,.x-thread-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.x-head{flex-direction:column;align-items:flex-start;gap:2px}.x-head h1,.x-thread-head h1{margin:0;font-size:19px;font-weight:900}.x-back{width:34px;height:34px;flex:0 0 auto;border:0;border-radius:999px;background:transparent;font-size:19px;cursor:pointer;color:var(--sumi)}.x-back:hover{background:#94a3b82e}.x-avatar{flex:0 0 auto;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(160deg,#f3d9c6,#e0b79c);color:#6b3f28;font-weight:900;font-size:16px;-webkit-user-select:none;user-select:none}.x-composer{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.x-composer--reply{border-top:1px solid var(--line);border-bottom:0}.x-composer-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.x-composer textarea{width:100%;border:0;outline:none;resize:none;padding:8px 0;background:transparent;font:inherit;font-size:16px;line-height:1.6;color:var(--sumi)}.x-composer textarea::placeholder{color:#9aa5b1}.x-composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.x-count{font-size:12px;color:#94a3b8}.x-count.over{color:#dc2626;font-weight:800}.x-post-button{min-height:34px;padding:0 18px;border:0;border-radius:999px;background:var(--sumi);color:#fff;font-size:14px;font-weight:800;cursor:pointer}.x-post-button:disabled{opacity:.42;cursor:not-allowed}.x-timeline,.x-replies{display:flex;flex-direction:column}.x-post{border-bottom:1px solid var(--line)}.x-post-hit{width:100%;display:flex;gap:10px;padding:12px 14px 4px;border:0;background:transparent;text-align:left;cursor:pointer}.x-post-hit--static{cursor:default}.x-post:hover .x-post-hit{background:#94a3b812}.x-post-hit--static:hover{background:transparent}.x-post-main{flex:1 1 auto;min-width:0}.x-post-meta{display:flex;align-items:baseline;gap:5px;font-size:14px}.x-name{font-weight:800;color:var(--sumi)}.x-dot,.x-time{color:#94a3b8;font-weight:600}.x-body{margin:2px 0 0;font-size:15px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.x-post-foot{padding:0 14px 8px 64px}.x-actions{display:flex;gap:28px}.x-actions--wide{padding:10px 0 2px;border-top:1px solid var(--line);margin-top:10px}.x-action{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;cursor:pointer;padding:4px 0;font-size:13px;font-weight:700;color:#64748b}.x-action:hover{color:var(--sumi)}.x-action--liked{color:#e0245e}.x-icon{width:17px;height:17px;display:block}.x-action:disabled{opacity:.5;cursor:not-allowed}.x-detail{padding:14px;border-bottom:1px solid var(--line)}.x-detail-head{display:flex;align-items:center;gap:10px}.x-detail-body{margin:12px 0 0;font-size:18px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.x-detail-time{margin-top:10px;font-size:13px;color:#94a3b8;font-weight:600}.mypage-badge-card .mypage-badge-mark{position:relative;overflow:hidden;box-shadow:0 0 color-mix(in srgb,var(--assoc-uguisu) 40%,transparent),0 2px 10px color-mix(in srgb,var(--assoc-uguisu) 22%,transparent);animation:badge-pulse 3.2s ease-in-out infinite}.mypage-badge-card .mypage-badge-mark:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.85) 50%,transparent 58%);transform:translate(-120%);animation:badge-sheen 4.6s ease-in-out infinite;pointer-events:none}@keyframes badge-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--assoc-uguisu) 34%,transparent),0 2px 10px color-mix(in srgb,var(--assoc-uguisu) 20%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--assoc-uguisu) 0%,transparent),0 2px 18px color-mix(in srgb,var(--assoc-uguisu) 42%,transparent)}}@keyframes badge-sheen{0%,62%{transform:translate(-120%)}78%,to{transform:translate(120%)}}.mypage-badge-card.is-fresh{position:relative;border-color:color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 62%,transparent);background:color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 8%,var(--assoc-washi));box-shadow:0 4px 20px color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 26%,transparent)}.mypage-badge-card.is-fresh .mypage-badge-mark{border-color:color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 85%,transparent);color:color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 90%,#6b4a10);animation:badge-pulse-fresh 1.9s ease-in-out infinite}@keyframes badge-pulse-fresh{0%,to{box-shadow:0 0 color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 58%,transparent),0 2px 14px color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 40%,transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 0%,transparent),0 2px 26px color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 66%,transparent)}}.mypage-badge-card .mypage-badge-new{position:absolute;top:-7px;right:-6px;z-index:2;padding:2px 8px;border-radius:999px;background:var(--assoc-yamabuki, #d8a832);color:#fff;font-size:10px;font-weight:1000;letter-spacing:.06em;box-shadow:0 2px 8px color-mix(in srgb,var(--assoc-yamabuki, #d8a832) 55%,transparent)}@media (prefers-reduced-motion: reduce){.mypage-badge-card .mypage-badge-mark,.mypage-badge-card.is-fresh .mypage-badge-mark{animation:none}.mypage-badge-card .mypage-badge-mark:after{animation:none;opacity:0}}.learn-share{margin-top:10px}.learn-share-btn{border:1px solid color-mix(in srgb,var(--assoc-uguisu) 55%,transparent);background:color-mix(in srgb,var(--assoc-uguisu) 10%,var(--assoc-washi));color:var(--assoc-uguisu);font-weight:800}.learn-share-btn:disabled{opacity:.55}.mypage-badge-card .mypage-badge-share{margin-top:8px;padding:5px 14px;border:1px solid color-mix(in srgb,var(--assoc-yamabuki) 60%,transparent);border-radius:999px;background:color-mix(in srgb,var(--assoc-yamabuki) 12%,var(--assoc-washi));color:color-mix(in srgb,var(--assoc-yamabuki) 88%,#5a3d0c);cursor:pointer;font-size:12px;font-weight:800}.mypage-badge-card .mypage-badge-share:disabled{opacity:.55;cursor:not-allowed}.mypage-badge-card .mypage-badge-sharenote{display:block;margin-top:5px;font-size:11px;color:var(--assoc-uguisu)}.bc-stage{position:relative;display:flex;flex-direction:column;min-height:100%;padding:0 0 16px;background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--assoc-usu-sakura) 85%,transparent),transparent 70%),linear-gradient(180deg,var(--assoc-kinari) 0%,var(--assoc-aijiro) 100%)}.bc-top{display:flex;align-items:center;gap:10px;padding:12px 14px}.bc-close{width:36px;height:36px;flex:0 0 auto;border:0;border-radius:999px;background:#2d2d2d1a;color:var(--assoc-sumi);font-size:20px;line-height:1;cursor:pointer}.bc-turns{flex:1 1 auto;text-align:center;font-size:12px;font-weight:800;color:var(--assoc-sumi);opacity:.62}.bc-loglink{flex:0 0 auto;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 16%,transparent);background:#ffffffbf;color:var(--assoc-sumi);cursor:pointer;font-size:11px;font-weight:800}.bc-customer{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:4px}.bc-avatar{width:132px;height:132px;display:grid;place-items:center;border-radius:999px;border:3px solid rgba(255,255,255,.9);background:linear-gradient(160deg,#f0d9c8,#dcb69c);box-shadow:0 10px 30px #2d2d2d24;color:#6b4130;font-family:var(--heading-font, serif);font-size:46px;font-weight:900}.bc-name{padding:3px 12px;border-radius:999px;background:#2d2d2db8;color:#fff;font-size:11px;font-weight:800}.bc-say{margin:14px 16px 0;padding:16px 18px;border-radius:16px;background:#fffffff0;box-shadow:0 8px 24px #2d2d2d1a}.bc-say p{margin:0;font-size:17px;line-height:1.75;font-weight:700;color:var(--assoc-sumi)}.bc-say-empty{opacity:.6;font-weight:600!important}.bc-say-typing{opacity:.5;letter-spacing:4px}.bc-log{margin:10px 16px 0;padding:10px 12px;max-height:34vh;overflow-y:auto;border-radius:14px;background:#ffffffb8}.bc-logrow{margin-bottom:10px}.bc-logrow p{margin:2px 0 0;font-size:13px;line-height:1.7}.bc-logwho{font-size:10px;font-weight:900;opacity:.55}.bc-logrow.is-me p{color:var(--assoc-uguisu)}.bc-coach{display:flex;align-items:center;gap:10px;margin:14px 16px 0}.bc-coach img{width:46px;height:46px;object-fit:contain;flex:0 0 auto}.bc-coach p{margin:0;padding:8px 14px;border-radius:14px;background:#ffffffe0;font-size:12px;font-weight:700;color:var(--assoc-sumi);opacity:.85}.bc-error{margin:10px 16px 0;color:var(--assoc-suoh);font-size:12px;font-weight:800}.bc-input{display:flex;align-items:flex-end;gap:8px;margin:auto 16px 0;padding-top:14px}.bc-input textarea{flex:1 1 auto;min-width:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 14%,transparent);border-radius:18px;background:#fff;color:var(--assoc-sumi);font:inherit;font-size:15px;line-height:1.6;resize:none;outline:none}.bc-input textarea:focus{border-color:color-mix(in srgb,var(--assoc-uguisu) 55%,transparent)}.bc-send{flex:0 0 auto;min-height:44px;padding:0 20px;border:0;border-radius:999px;background:var(--assoc-uguisu);color:#fff;font-size:14px;font-weight:900;cursor:pointer}.bc-send:disabled{opacity:.45;cursor:not-allowed}.bc-finish{margin:12px 16px 0;padding:10px;border:1px solid color-mix(in srgb,var(--assoc-suoh) 40%,transparent);border-radius:999px;background:#fffc;color:var(--assoc-suoh);font-size:13px;font-weight:800;cursor:pointer}.bc-result{margin:14px auto 0;padding:14px;max-width:520px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:14px;background:#ffffffe6;text-align:left}.bc-axes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.bc-axes li{display:grid;grid-template-columns:44px 1fr 34px;align-items:center;gap:8px}.bc-axis-label{font-size:12px;font-weight:800;color:var(--assoc-sumi)}.bc-axis-bar{height:9px;border-radius:999px;background:color-mix(in srgb,var(--assoc-sumi) 10%,transparent);overflow:hidden}.bc-axis-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--assoc-uguisu),color-mix(in srgb,var(--assoc-uguisu) 62%,#fff))}.bc-axis-value{font-size:12px;font-weight:800;text-align:right;color:var(--assoc-sumi);opacity:.75}.bc-strengths{margin-top:12px}.bc-strengths-title{margin:0 0 4px;font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.bc-strengths ul{margin:0;padding-left:18px}.bc-strengths li{font-size:12px;line-height:1.7}.bc-share{width:100%;margin-top:12px;padding:9px;border:1px solid color-mix(in srgb,var(--assoc-uguisu) 55%,transparent);border-radius:999px;background:color-mix(in srgb,var(--assoc-uguisu) 10%,#fff);color:var(--assoc-uguisu);cursor:pointer;font-size:13px;font-weight:800}.bc-share:disabled{opacity:.55}.coach{display:flex;align-items:flex-start;gap:10px;margin:14px 16px 0;text-align:left}.coach-face{width:54px;height:54px;flex:0 0 auto;object-fit:contain}.coach-bubble{position:relative;flex:1 1 auto;min-width:0;padding:10px 14px 11px;border-radius:14px;background:#fffffff0;box-shadow:0 4px 14px #2d2d2d14}.coach-bubble:before{content:"";position:absolute;left:-6px;top:16px;width:12px;height:12px;transform:rotate(45deg);background:#fffffff0}.coach-name{display:inline-flex;align-items:baseline;gap:6px;font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.coach-name small{font-size:9px;font-weight:800;opacity:.62}.coach-line{margin:3px 0 0;font-size:13px;line-height:1.75;font-weight:700;color:var(--assoc-sumi)}.coach--happy .coach-bubble{background:color-mix(in srgb,var(--assoc-yamabuki) 10%,#fff)}.coach--happy .coach-bubble:before{background:color-mix(in srgb,var(--assoc-yamabuki) 10%,#fff)}.coach--sad .coach-bubble{background:color-mix(in srgb,var(--assoc-aijiro) 55%,#fff)}.coach--sad .coach-bubble:before{background:color-mix(in srgb,var(--assoc-aijiro) 55%,#fff)}.learn-modes{list-style:none;margin:12px 0 4px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.learn-mode{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:12px;background:#ffffffdb}.learn-mode.is-cleared{border-color:color-mix(in srgb,var(--assoc-uguisu) 46%,transparent);background:color-mix(in srgb,var(--assoc-uguisu) 8%,#fff)}.learn-mode.is-none{opacity:.5}.learn-mode-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--assoc-sumi) 8%,transparent);color:var(--assoc-sumi);font-family:var(--heading-font, serif);font-size:14px;font-weight:900}.learn-mode.is-cleared .learn-mode-mark{background:color-mix(in srgb,var(--assoc-uguisu) 20%,transparent);color:var(--assoc-uguisu)}.learn-mode-label{font-size:12px;font-weight:900;color:var(--assoc-sumi)}.learn-mode-stars{display:flex;gap:1px;line-height:1}.learn-mode-stars i{font-style:normal;font-size:12px;color:color-mix(in srgb,var(--assoc-sumi) 18%,transparent)}.learn-mode-stars i.on{color:var(--assoc-yamabuki)}.learn-mode-meta{font-size:10px;font-weight:800;color:var(--assoc-sumi);opacity:.6}.bc-stage--intro{justify-content:flex-start}.bc-say-label{margin:0 0 6px!important;font-size:11px!important;font-weight:900!important;color:var(--assoc-uguisu)!important;opacity:1!important}.bc-loglink--ghost{visibility:hidden}.bc-scenario,.bc-rubric{margin:12px 16px 0;padding:8px 12px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:12px;background:#ffffffb3}.bc-scenario summary,.bc-rubric summary{cursor:pointer;list-style:none;font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.bc-scenario summary::-webkit-details-marker,.bc-rubric summary::-webkit-details-marker{display:none}.bc-scenario summary:after,.bc-rubric summary:after{content:" ▾";opacity:.6}.bc-scenario[open] summary:after,.bc-rubric[open] summary:after{content:" ▴"}.bc-scenario p{margin:6px 0 0;font-size:12px;line-height:1.75}.bc-rubric ul{margin:6px 0 0;padding-left:18px}.bc-rubric li{font-size:12px;line-height:1.75}.bc-mine{margin:10px 16px 0;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--assoc-uguisu) 12%,#fff);border:1px solid color-mix(in srgb,var(--assoc-uguisu) 30%,transparent)}.bc-mine-label{font-size:10px;font-weight:900;color:var(--assoc-uguisu)}.bc-mine p{margin:3px 0 0;font-size:13px;line-height:1.7;color:var(--assoc-sumi)}.bc-start{margin:auto 16px 0;padding-top:16px}.bc-send--wide{width:100%;min-height:50px;font-size:15px}.cp-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(24px + env(safe-area-inset-bottom) + var(--association-tabbar-height, 66px));background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--assoc-usu-sakura) 85%,transparent),transparent 70%),linear-gradient(180deg,var(--assoc-kinari) 0%,var(--assoc-aijiro) 100%)}.cp-top{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb,var(--assoc-washi) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cp-close{width:34px;height:34px;border:0;border-radius:999px;cursor:pointer;background:color-mix(in srgb,var(--assoc-sumi) 8%,transparent);color:var(--assoc-sumi);font-size:19px;line-height:1}.cp-progress{text-align:center;font-size:12px;font-weight:900;color:var(--assoc-sumi)}.cp-level-chip{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:900;background:var(--assoc-uguisu);color:#fff}.cp-lead{margin:14px 16px 0;font-size:13px;font-weight:700;line-height:1.75;color:var(--assoc-sumi)}.cp-fine{margin:12px 16px 0;font-size:11px;font-weight:700;opacity:.6}.cp-levels,.cp-cards{list-style:none;margin:14px 16px 0;padding:0;display:grid;gap:10px}.cp-level,.cp-card{position:relative;width:100%;text-align:left;cursor:pointer;display:grid;gap:4px;padding:14px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);border-radius:14px;background:var(--assoc-washi);box-shadow:0 4px 14px #2d2d2d14}.cp-level-name{font-size:17px;font-weight:900;color:var(--assoc-sumi)}.cp-level-name small{margin-left:8px;font-size:12px;font-weight:800;color:var(--assoc-uguisu)}.cp-level-desc,.cp-card-hint{font-size:12px;font-weight:700;line-height:1.7;opacity:.75}.cp-level-ai{position:absolute;top:12px;right:12px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:900;background:var(--assoc-yamabuki);color:#fff}.cp-card-hard{font-size:15px;font-weight:900;color:var(--assoc-sumi)}.cp-scene,.cp-intro{margin:14px 16px 0;padding:12px 14px;border-radius:14px;background:var(--assoc-washi);border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent)}.cp-scene-label{font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.cp-scene p{margin:6px 0 0;font-size:14px;font-weight:700;line-height:1.8;color:var(--assoc-sumi)}.cp-intro summary{cursor:pointer;list-style:none;font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.cp-intro summary::-webkit-details-marker{display:none}.cp-intro summary:after{content:" ▾";opacity:.6}.cp-intro p{margin:6px 0 0;font-size:12px;line-height:1.75}.cp-avatar{width:84px;height:84px;margin:16px auto 0;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--assoc-sakura) 55%,var(--assoc-washi));border:2px solid var(--assoc-washi);box-shadow:0 4px 14px #2d2d2d14}.cp-avatar span{font-family:Hiragino Mincho ProN,serif;font-size:30px;color:var(--assoc-suoh)}.cp-say{margin:12px 16px 0;padding:14px 16px;border-radius:16px;background:var(--assoc-washi);box-shadow:0 4px 14px #2d2d2d14}.cp-say p{margin:0;font-size:17px;font-weight:700;line-height:1.8;color:var(--assoc-sumi)}.cp-ask{margin:16px 16px 0;font-size:12px;font-weight:900;color:var(--assoc-uguisu)}.cp-options{list-style:none;margin:8px 16px 0;padding:0;display:grid;gap:10px}.cp-option{width:100%;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 14%,transparent);border-radius:12px;background:var(--assoc-washi);font-size:14px;font-weight:700;line-height:1.7;color:var(--assoc-sumi)}.cp-option:disabled{cursor:default}.cp-option-text{flex:1}.cp-option-tag{flex:none;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap;background:color-mix(in srgb,var(--assoc-sumi) 10%,transparent)}.cp-option.is-ok{border-color:var(--assoc-uguisu);background:color-mix(in srgb,var(--assoc-uguisu) 12%,var(--assoc-washi))}.cp-option.is-ok .cp-option-tag{background:var(--assoc-uguisu);color:#fff}.cp-option.is-picked{border-color:var(--assoc-suoh)}.cp-option.is-picked .cp-option-tag{background:var(--assoc-suoh);color:#fff}.cp-option.is-dim{opacity:.6}.cp-note{margin:6px 4px 0;font-size:12px;font-weight:700;line-height:1.75;opacity:.8}.cp-score{margin:10px 16px 0;text-align:center;font-family:Hiragino Mincho ProN,serif;font-size:40px;color:var(--assoc-suoh)}.cp-ending{margin:14px 16px 0;text-align:center;font-size:17px;font-weight:900}.cp-ending--ok{color:var(--assoc-uguisu)}.cp-ending--warn{color:var(--assoc-yamabuki)}.cp-ending--bad{color:var(--assoc-suoh)}.cp-ending-note{margin:6px 16px 0;font-size:13px;font-weight:700;line-height:1.8}.cp-missteps{list-style:none;margin:12px 16px 0;padding:0;display:grid;gap:8px}.cp-missteps li{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--assoc-suoh) 8%,var(--assoc-washi));border:1px solid color-mix(in srgb,var(--assoc-suoh) 22%,transparent);font-size:12px;font-weight:700;line-height:1.7}.cp-missteps b{color:var(--assoc-suoh);margin-right:6px}.cp-count{margin-right:6px;font-size:11px;opacity:.7}.cp-path{margin:12px 16px 0}.cp-path summary{cursor:pointer;list-style:none;font-size:12px;font-weight:900;color:var(--assoc-uguisu)}.cp-path summary::-webkit-details-marker{display:none}.cp-path ol{margin:8px 0 0;padding-left:0;list-style:none;display:grid;gap:8px}.cp-path li{padding:10px 12px;border-radius:12px;background:var(--assoc-washi);border-left:3px solid color-mix(in srgb,var(--assoc-sumi) 20%,transparent);display:grid;gap:3px}.cp-path li.is-ok{border-left-color:var(--assoc-uguisu)}.cp-path li.is-bad{border-left-color:var(--assoc-suoh)}.cp-path-say{font-size:11px;opacity:.65;font-weight:700}.cp-path-me{font-size:13px;font-weight:700;color:var(--assoc-sumi)}.cp-path-tag{justify-self:start;font-size:10px;font-weight:900;color:var(--assoc-suoh)}.cp-rewrite{margin:16px 16px 0;padding:14px;border-radius:14px;background:var(--assoc-washi);border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent)}.cp-rewrite-label{margin:0 0 8px;font-size:12px;font-weight:900;color:var(--assoc-uguisu)}.cp-rewrite textarea{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;resize:vertical;border:1px solid color-mix(in srgb,var(--assoc-sumi) 16%,transparent);font-size:15px;font-family:inherit;line-height:1.7;background:#fff}.cp-model{margin-top:10px}.cp-model-label{margin:0 0 6px;font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.cp-model ul{margin:0;padding-left:18px;display:grid;gap:4px}.cp-model li{font-size:13px;font-weight:700;line-height:1.7}.cp-model-note{margin:8px 0 0;font-size:11px;font-weight:700;opacity:.65}.cp-trap{margin:16px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--assoc-yamabuki) 12%,var(--assoc-washi));border:1px solid color-mix(in srgb,var(--assoc-yamabuki) 40%,transparent)}.cp-trap-label{margin:0 0 6px;font-size:11px;font-weight:900;color:var(--assoc-yamabuki)}.cp-trap p{margin:0;font-size:13px;font-weight:700;line-height:1.8}.cp-foot{margin:auto 16px 0;padding-top:16px;display:grid;gap:8px}.cp-next{width:100%;min-height:50px;border:0;border-radius:999px;cursor:pointer;background:var(--assoc-uguisu);color:#fff;font-size:15px;font-weight:900}.cp-sub{width:100%;min-height:44px;border-radius:999px;cursor:pointer;background:transparent;color:var(--assoc-sumi);border:1px solid color-mix(in srgb,var(--assoc-sumi) 18%,transparent);font-size:14px;font-weight:800}.cp-entry{width:calc(100% - 32px);margin:0 16px 14px;padding:14px;cursor:pointer;display:grid;gap:4px;text-align:left;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--assoc-uguisu) 14%,var(--assoc-washi)),var(--assoc-washi));border:1px solid color-mix(in srgb,var(--assoc-uguisu) 30%,transparent);box-shadow:0 4px 14px #2d2d2d14}.cp-entry-title{font-size:16px;font-weight:900;color:var(--assoc-sumi)}.cp-entry-sub{font-size:12px;font-weight:700;line-height:1.7;opacity:.75}@media (prefers-reduced-motion: reduce){.cp-stage,.cp-option{transition:none!important;animation:none!important}}.cp-boss{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow-y:auto;background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--assoc-usu-sakura) 85%,transparent),transparent 70%),linear-gradient(180deg,var(--assoc-kinari) 0%,var(--assoc-aijiro) 100%)}.cp-boss .bc-stage{min-height:100%;padding-bottom:calc(16px + env(safe-area-inset-bottom) + var(--association-tabbar-height, 68px))}.cp-reveal{margin:16px 16px 0;padding:14px;border-radius:14px;text-align:center;background:var(--assoc-washi);border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent)}.cp-reveal-label{margin:0;font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.cp-reveal-hard{margin:4px 0 0;font-family:Hiragino Mincho ProN,serif;font-size:24px;color:var(--assoc-suoh)}.cp-reveal-hint{margin:6px 0 0;font-size:12px;font-weight:700;line-height:1.7;opacity:.8}.learn-stage-practice{justify-self:start;margin-top:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:900;background:var(--assoc-uguisu);color:#fff}.cp-level.is-locked{cursor:default;opacity:.62;box-shadow:none;background:color-mix(in srgb,var(--assoc-sumi) 4%,var(--assoc-washi))}.cp-lock{margin-left:8px;font-size:13px}.learn-mode{padding:0!important;overflow:hidden}.learn-mode-hit{width:100%;padding:12px 8px;border:0;background:none;font:inherit;color:inherit;display:grid;justify-items:center;gap:3px;cursor:pointer}.learn-mode-hit:disabled{cursor:default}.learn-mode.is-open .learn-mode-hit:active{background:color-mix(in srgb,var(--assoc-uguisu) 12%,transparent)}.learn-mode.is-locked{opacity:.55}.study-note{margin:10px 0 14px;display:grid;gap:12px}.study-aim{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--assoc-uguisu) 10%,var(--assoc-washi));border:1px solid color-mix(in srgb,var(--assoc-uguisu) 28%,transparent);font-size:13px;font-weight:800;line-height:1.75;color:var(--assoc-sumi)}.study-aim span,.study-point span,.study-caution span{display:block;margin-bottom:3px;font-size:10px;font-weight:900;opacity:.75}.study-sec h4{margin:0 0 5px;font-size:14px;font-weight:900;color:var(--assoc-sumi)}.study-sec p{margin:0 0 5px;font-size:13px;font-weight:700;line-height:1.85;color:var(--assoc-sumi)}.study-point{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--assoc-suoh) 7%,var(--assoc-washi));border-left:3px solid var(--assoc-suoh);font-size:13px;font-weight:800;line-height:1.8}.study-caution{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--assoc-yamabuki) 10%,var(--assoc-washi));border-left:3px solid var(--assoc-yamabuki);font-size:12px;font-weight:700;line-height:1.8}.ec-page{display:grid;gap:18px;align-content:start;padding-bottom:calc(28px + var(--association-tabbar-offset, 68px))}.ec-hero{display:grid;gap:6px}.ec-hero-eyebrow{margin:0;font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.ec-hero-title{margin:0;font-family:Hiragino Mincho ProN,serif;font-size:26px;color:var(--assoc-sumi)}.ec-hero-lead{margin:4px 0 0;font-size:13px;font-weight:700;line-height:1.85}.ec-hero-lead b{color:var(--assoc-suoh)}.ec-about,.ec-cats{padding:14px;border-radius:14px;background:var(--assoc-washi);border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent)}.ec-about h3,.ec-cats h3{margin:0 0 10px;font-size:13px;font-weight:900;color:var(--assoc-uguisu)}.ec-flow{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ec-flow li{display:grid;grid-template-columns:24px 1fr;gap:2px 8px;align-items:baseline}.ec-flow-no{grid-row:span 2;font-family:Hiragino Mincho ProN,serif;font-size:16px;color:var(--assoc-suoh)}.ec-flow-label{font-size:14px;font-weight:900;color:var(--assoc-sumi)}.ec-flow-desc{font-size:12px;font-weight:700;line-height:1.7;opacity:.75}.ec-about-note{margin:12px 0 0;font-size:12px;font-weight:700;line-height:1.75;opacity:.8}.ec-cats ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ec-cat{width:100%;text-align:left;cursor:pointer;display:grid;gap:3px;padding:13px 14px;border-radius:12px;background:color-mix(in srgb,var(--assoc-uguisu) 8%,var(--assoc-washi));border:1px solid color-mix(in srgb,var(--assoc-uguisu) 26%,transparent)}.ec-cat-label{font-size:16px;font-weight:900;color:var(--assoc-sumi)}.ec-cat-aim{font-size:12px;font-weight:700;line-height:1.7;opacity:.8}.ec-cats-note{margin:10px 0 0;font-size:11px;font-weight:700;opacity:.6}.ec-back{justify-self:start;border:0;background:none;cursor:pointer;font-size:13px;font-weight:900;color:var(--assoc-suoh);padding:0}.ec-cat-head h2{margin:0;font-size:20px;font-weight:900;color:var(--assoc-sumi)}.ec-cat-aim-big{margin:6px 0 0;font-size:13px;font-weight:700;line-height:1.8;opacity:.85}.ec-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ec-step{width:100%;cursor:pointer;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--assoc-washi);border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);box-shadow:0 4px 14px #2d2d2d14;text-align:left}.ec-step.is-locked{cursor:default;opacity:.55;box-shadow:none}.ec-step.is-done{background:color-mix(in srgb,var(--assoc-uguisu) 10%,var(--assoc-washi))}.ec-step-mark{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--assoc-suoh) 88%,transparent);color:#fff;font-family:Hiragino Mincho ProN,serif;font-size:19px}.ec-step.is-locked .ec-step-mark{background:color-mix(in srgb,var(--assoc-sumi) 22%,transparent)}.ec-step-body{display:grid;gap:3px}.ec-step-label{font-size:15px;font-weight:900;color:var(--assoc-sumi)}.ec-step-done{margin-left:8px;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:900;background:var(--assoc-uguisu);color:#fff}.ec-step-desc{font-size:12px;font-weight:700;line-height:1.7;opacity:.78}.ec-step-arrow{font-size:17px;opacity:.5;text-align:right}.ec-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow-y:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom) + var(--association-tabbar-height, 68px));background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--assoc-usu-sakura) 85%,transparent),transparent 70%),linear-gradient(180deg,var(--assoc-kinari) 0%,var(--assoc-aijiro) 100%)}.ec-full--plain{display:grid;place-items:center}.ec-full-top{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb,var(--assoc-washi) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ec-full-close{width:34px;height:34px;border:0;border-radius:999px;cursor:pointer;background:color-mix(in srgb,var(--assoc-sumi) 8%,transparent);font-size:19px;line-height:1}.ec-full-title{text-align:center;font-size:13px;font-weight:900}.ec-full-chip{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:900;background:var(--assoc-uguisu);color:#fff}.ec-full-aim,.ec-full-note,.ec-cards-wrap,.ec-3d{margin:12px 16px 0}.ec-3d{position:sticky;top:54px;z-index:1;border-radius:14px;overflow:hidden;background:var(--assoc-washi);border:1px solid color-mix(in srgb,var(--assoc-sumi) 10%,transparent);box-shadow:0 6px 18px #2d2d2d1a}.ec-3d .learn-3d-stage{max-height:min(56vh,440px)}.ec-study-split{margin:12px 16px 0;display:grid;gap:12px}.ec-study-split>.ec-3d{order:1;margin:0}.ec-study-split>.ec-cards-wrap{order:2;margin:0}@media (min-width: 820px){.ec-study-split{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start}.ec-study-split>.ec-cards-wrap{order:1;position:sticky;top:54px;max-height:calc(100vh - 140px);overflow-y:auto}.ec-study-split>.ec-3d{order:2}.ec-study-split>.ec-3d .learn-3d-stage{max-height:min(70vh,620px)}}.ec-sub{margin:0 0 8px;font-size:12px;font-weight:900;color:var(--assoc-uguisu)}.ec-full-foot{margin:20px 16px 0;display:grid;gap:8px}.ec-next{width:100%;min-height:50px;border:0;border-radius:999px;cursor:pointer;background:var(--assoc-uguisu);color:#fff;font-size:15px;font-weight:900}.ec-done-note{margin:0;text-align:center;font-size:13px;font-weight:800;color:var(--assoc-uguisu)}.quiz-3d{margin:0 0 14px;border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--assoc-sumi) 12%,transparent);background:var(--assoc-kinari)}.quiz-3d .learn-3d-stage{max-height:min(38vh,300px);border:0;border-radius:0}.quiz-choice.picked{border-color:var(--assoc-uguisu, #6F7D50);background:color-mix(in srgb,var(--assoc-uguisu, #6F7D50) 12%,#fff);font-weight:900}.quiz-progress--review{color:var(--assoc-suoh, #9B2335);font-weight:900}.quiz-missed{margin:14px 0 0;padding:12px 14px;border-radius:12px;text-align:left;background:color-mix(in srgb,var(--assoc-suoh, #9B2335) 6%,#fff);border:1px solid color-mix(in srgb,var(--assoc-suoh, #9B2335) 22%,transparent)}.quiz-missed-head{font-size:12px;font-weight:900;color:var(--assoc-suoh, #9B2335);margin-bottom:8px}.quiz-missed ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}.quiz-missed li{display:grid;gap:2px}.quiz-missed-q{font-size:13px;font-weight:800}.quiz-missed-a{font-size:13px;font-weight:900;color:var(--assoc-uguisu, #6F7D50)}.quiz-missed-ex{font-size:12px;font-weight:700;line-height:1.7;opacity:.8}.quiz-missed-note{margin:10px 0 0;font-size:11px;font-weight:700;opacity:.7}.ec-3d{position:sticky}.ec-xray{position:absolute;top:10px;right:10px;z-index:2;cursor:pointer;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:900;background:color-mix(in srgb,var(--assoc-washi) 92%,transparent);border:1px solid color-mix(in srgb,var(--assoc-sumi) 18%,transparent);color:var(--assoc-sumi);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ec-xray.is-on{background:var(--assoc-uguisu);border-color:var(--assoc-uguisu);color:#fff}.quiz-done-chara{position:relative;z-index:1;background:radial-gradient(circle at 50% 58%,color-mix(in srgb,var(--assoc-sakura) 55%,transparent) 0%,color-mix(in srgb,var(--assoc-sakura) 22%,transparent) 46%,transparent 70%)}.coach-face{background:radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--assoc-sakura) 45%,transparent) 0%,transparent 68%);border-radius:999px}.learn-cards-all.is-on{background:color-mix(in srgb,var(--assoc-yamabuki, #D7A740) 16%,#fff);border-color:color-mix(in srgb,var(--assoc-yamabuki, #D7A740) 45%,transparent);color:color-mix(in srgb,var(--assoc-sumi, #2D2D2D) 70%,transparent);cursor:default}.bc-task{margin:12px 16px 0;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--assoc-uguisu) 34%,transparent);background:color-mix(in srgb,var(--assoc-uguisu) 8%,#fff)}.bc-task-label{margin:0 0 6px;font-size:11px;font-weight:900;color:var(--assoc-uguisu)}.bc-task ul{margin:0;padding-left:18px}.bc-task li{font-size:13px;line-height:1.7;font-weight:700}.bc-task li+li{margin-top:4px}.bc-task-turns{margin:8px 0 0;font-size:11px;font-weight:800;color:color-mix(in srgb,var(--assoc-sumi) 55%,transparent)}.bc-scenario--task ul{margin:6px 0 0;padding-left:18px}.bc-scenario--task li{font-size:12px;line-height:1.75}.bc-cap-note{margin:14px 16px 0;padding:12px;text-align:center;border-radius:14px;background:color-mix(in srgb,var(--assoc-uguisu) 10%,#fff);font-size:13px;font-weight:800;line-height:1.7;color:var(--assoc-uguisu)}.bc-cap-left{margin:8px 16px 0;text-align:right;font-size:11px;font-weight:800;color:color-mix(in srgb,var(--assoc-sumi) 50%,transparent)}.bc-finish.is-primary{min-height:50px;border:0;background:var(--assoc-uguisu);color:#fff;font-size:15px;font-weight:900}.bridge-list{margin:14px 16px 0;padding:0;list-style:none;display:grid;gap:10px}.bridge-item{border-radius:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--assoc-sumi) 10%,transparent);background:var(--assoc-washi)}.bridge-item.is-open{border-color:color-mix(in srgb,var(--assoc-uguisu) 45%,transparent)}.bridge-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;border:0;background:none;cursor:pointer;text-align:left}.bridge-term{font-size:14px;font-weight:900}.bridge-arrow{font-size:15px;color:var(--assoc-uguisu);font-weight:900}.bridge-say{margin:8px 0 0;font-size:14px;line-height:1.8;font-weight:700;color:var(--assoc-uguisu)}.bridge-body{margin-top:10px;display:grid;gap:8px}.bridge-why,.bridge-scene{margin:0;font-size:12px;line-height:1.75}.bridge-why span,.bridge-scene span{display:block;font-size:10px;font-weight:900;letter-spacing:.06em;color:color-mix(in srgb,var(--assoc-sumi) 50%,transparent)}.cp-option--marked{position:relative}.cp-mark{position:absolute;top:-10px;left:-6px;width:26px;height:26px;border-radius:999px;display:grid;place-items:center;font-size:14px;font-weight:900;line-height:1;color:#fff;box-shadow:0 2px 6px #2d2d2d2e}.cp-mark.is-ok{background:var(--assoc-uguisu)}.cp-mark.is-ng{background:var(--assoc-suoh)}
