:root{--top-h:50px;--bg:#fff;--surface:#fff;--surface-2:#f5f5f7;--text:#1d1d1f;--muted:#6e6e73;--line:#e3e3e8;--accent:#c25100;--accent-ink:#fff;--accent-soft:#fff1e6;--btn:#1d1d1f;--btn-ink:#fff;--ok:#248a3d;--ok-soft:#e7f5eb;--warn:#c25100;--warn-soft:#fff1e6;--alert:#d70015;--alert-soft:#fde8ea;--blue:#1d1d1f;--radius:14px;--shadow:none;--header-bg:#ffffffd1;--logo-filter:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--text:#f5f5f7;--muted:#a1a1a6;--line:#38383a;--accent:#ff9f0a;--accent-ink:#1d1d1f;--accent-soft:#3a2a10;--btn:#f5f5f7;--btn-ink:#1d1d1f;--ok:#30d158;--ok-soft:#12331c;--warn:#ff9f0a;--warn-soft:#3a2a10;--alert:#ff453a;--alert-soft:#3d1512;--blue:#f5f5f7;--shadow:none;--header-bg:#161617d1;--logo-filter:invert(1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--text:#f5f5f7;--muted:#a1a1a6;--line:#38383a;--accent:#ff9f0a;--accent-ink:#1d1d1f;--accent-soft:#3a2a10;--btn:#f5f5f7;--btn-ink:#1d1d1f;--ok:#30d158;--ok-soft:#12331c;--warn:#ff9f0a;--warn-soft:#3a2a10;--alert:#ff453a;--alert-soft:#3d1512;--blue:#f5f5f7;--shadow:none;--header-bg:#161617d1;--logo-filter:invert(1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;margin:0;font:15px/1.47 -apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.15}h1{letter-spacing:-.026em;font-size:36px;font-weight:700}h2{letter-spacing:-.018em;margin:32px 0 12px;font-size:21px;font-weight:600}h3{font-size:16px;font-weight:600}code{background:var(--surface-2);border-radius:5px;padding:1px 5px}.muted{color:var(--muted)}.small{font-size:13px}.lead{max-width:70ch;color:var(--muted);margin:6px 0 22px;font-size:17px}.error{color:var(--alert);margin:8px 0}.splash{text-align:center;color:var(--muted);padding:40px}button,.button{font:inherit;background:var(--surface-2);color:var(--text);cursor:pointer;border:1px solid #0000;border-radius:980px;padding:7px 16px;display:inline-block}button:hover:not(:disabled),.button:hover{filter:brightness(.97);text-decoration:none}button:disabled{opacity:.45;cursor:default}.primary{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}.primary:hover:not(:disabled){filter:none;opacity:.86;text-decoration:none}.secondary{background:var(--surface-2)}.link{color:var(--accent);background:0 0;border:0;border-radius:4px;padding:0}.link:hover:not(:disabled){filter:none;text-decoration:underline}.danger{color:var(--alert)}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;padding:7px 11px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.field input,.field select{font-size:15px}.inline-field{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.topbar{z-index:10;background:var(--header-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line);height:var(--top-h);grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 28px;display:grid;position:sticky;top:0}.who{color:var(--muted);white-space:nowrap;grid-column:3;justify-self:end;align-items:center;gap:16px;font-size:14px;display:flex}.who a{color:var(--text)}.org{border-left:1px solid var(--line);color:var(--text);letter-spacing:.04em;align-items:center;gap:8px;padding-left:16px;font-size:13px;font-weight:600;display:flex}.org img{width:28px;height:28px;filter:var(--logo-filter)}.tabs{scrollbar-width:none;grid-column:2;justify-content:center;gap:30px;display:flex;overflow-x:auto}.tab{color:var(--text);white-space:nowrap;border-bottom:2px solid #0000;padding:15px 0 13px;font-size:14px}.tab:hover{color:var(--accent);text-decoration:none}.tab.active{border-bottom-color:var(--text);font-weight:500}.layout{grid-template-columns:minmax(0,1fr);display:grid}.layout.has-right{grid-template-columns:minmax(0,1fr) 280px}.right-col{top:var(--top-h);height:calc(100vh - var(--top-h));border-left:1px solid var(--line);align-self:start;padding:36px 24px;position:sticky;overflow-y:auto}.ring{align-items:center;gap:14px;display:flex}.ring svg{flex:none}.ring b{letter-spacing:-.02em;font-size:26px;font-weight:600;line-height:1.1;display:block}.ring span{color:var(--muted);font-size:13px}.times{margin:26px 0 0;padding:0;list-style:none;position:relative}.times:before{content:"";background:var(--line);width:2px;position:absolute;top:8px;bottom:8px;left:5px}.times li{padding:0 0 16px 24px;font-size:14px;position:relative}.times li:before{content:"";background:var(--bg);border:2px solid var(--line);border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:0}.times li.past:before{background:var(--ok);border-color:var(--ok)}.times li.cur:before{background:var(--accent);border-color:var(--accent)}.times li.warn b{color:var(--warn)}.times li.alert b{color:var(--alert)}.times span{color:var(--muted);font-size:13px;display:block}.times li.step-dot{padding-bottom:12px;font-size:13px}.times li.step-dot b{font-weight:500;line-height:1.3}.times li.step-dot.todo b{color:var(--muted);font-weight:400}.times li.step-dot:before{width:10px;height:10px;top:4px;left:1px}.times li.step-dot.past:before{background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2l2 2 4-4.3' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E") center / 10px no-repeat}.times li.step-dot.cur:before{box-shadow:0 0 0 4px var(--accent-soft)}.page{width:100%;min-width:0;max-width:980px;margin:0 auto;padding:40px 48px 80px}.page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.empty{text-align:center;margin-top:16px;padding:36px}.empty p{margin:4px 0}@media (width<=1180px){:root{--top-h:92px}.topbar{grid-template-columns:minmax(0,1fr);gap:0;padding:0 16px}.who{grid-area:1/1;padding-top:8px}.tabs{grid-area:2/1}.layout.has-right{grid-template-columns:minmax(0,1fr)}.right-col{display:none}}@media (width<=860px){.page{padding:24px 16px 56px}.tabs{justify-content:flex-start;gap:18px}.org span{display:none}h1{font-size:30px}}.login-wrap{place-items:center;min-height:100vh;padding:16px;display:grid}.login{flex-direction:column;gap:14px;width:min(380px,100%);padding:28px;display:flex}.login p{margin:0}.bar{background:var(--surface-2);border-radius:99px;height:6px;overflow:hidden}.bar-fill{background:var(--accent);height:100%;transition:width .3s}.bar.done .bar-fill{background:var(--ok)}.badge{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:12px;display:inline-block}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge.alert{background:var(--alert-soft);color:var(--alert);border-color:#0000;font-weight:600}.level-chip{color:var(--accent);margin-left:6px;font-size:13px;font-weight:600;display:inline-block}h1+.level-chip,.tile-top .level-chip,.enr-head .level-chip{margin-left:0}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px;display:grid}.tile{color:var(--text);flex-direction:column;gap:10px;transition:border-color .15s;display:flex}.tile:hover{border-color:color-mix(in srgb, var(--text) 25%, transparent);background:var(--surface-2);text-decoration:none}.tile-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.tile-progress{align-items:center;gap:10px;display:flex}.tile-progress .bar{flex:1}.pct{font-variant-numeric:tabular-nums;text-align:right;min-width:3.5ch;font-weight:600}.plain-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.topic{margin-top:16px}.topic-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.topic-head h2{margin:0}.skills{margin:12px 0 0;padding:0;list-style:none}.skill{border-top:1px solid var(--line);padding:12px 0}.skill-main{grid-template-columns:minmax(140px,1fr) auto auto;align-items:center;gap:16px;display:grid}.skill-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ladder{gap:2px;margin:0;padding:0;list-style:none;display:flex}.rung{background:var(--surface-2);color:var(--muted);border:1px solid var(--line);padding:3px 7px;font-size:11px}.rung:first-child{border-radius:6px 0 0 6px}.rung:last-child{border-radius:0 6px 6px 0}.rung.in{background:var(--accent-soft);color:var(--text);border-color:#0000}.rung.out{opacity:.55}.rung.current{outline:2px solid var(--accent)}.start-form{background:var(--surface-2);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:12px;padding:14px;display:flex}.start-form .hint{flex-basis:100%;margin:0}.start-form .error{flex-basis:100%}.add-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.add-row input{flex:200px}.add-row .error{flex-basis:100%}.back{margin-bottom:12px;font-size:14px;display:inline-block}.enr-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.enr-head h1{margin-top:2px}.enr-head p{margin:4px 0 0}.big-pct{text-align:right;flex-direction:column;gap:6px;min-width:200px;display:flex}.big-pct strong{font-variant-numeric:tabular-nums;font-size:34px;line-height:1}.enr-meta{flex-wrap:wrap;align-items:center;gap:14px;margin:16px 0 0;display:flex}.steps{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none}.step{padding:10px 16px}.step-line{align-items:center;gap:12px;display:flex}.step-line .step-name{flex:1}.step+.step{border-top:1px solid var(--line)}.step-n{background:var(--surface-2);width:24px;height:24px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.step.done .step-n{background:var(--ok-soft);color:var(--ok)}.step.done .step-name{color:var(--muted)}.step-side{white-space:nowrap;align-items:center;gap:12px;display:flex}.weight{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:2ch;font-size:12px}.danger-zone{text-align:right;margin-top:32px}.notice{border-color:var(--warn);background:var(--warn-soft);margin:12px 0}.notice.alert{border-color:var(--alert);background:var(--alert-soft)}.notice ul{margin:6px 0 0;padding-left:20px}.student{margin-top:14px}.student h2{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.table{border-collapse:collapse;width:100%;margin-top:10px}.table td{border-top:1px solid var(--line);vertical-align:middle;padding:7px 8px}.table .w-bar{width:30%}.table .num{text-align:right;font-variant-numeric:tabular-nums;width:5ch}.mastered{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;display:flex}.add-student{margin-top:20px}@media (width<=720px){.skill-main{grid-template-columns:1fr;gap:10px}.skill-actions{justify-content:flex-start}.ladder{flex-wrap:wrap}.big-pct{text-align:left;width:100%;min-width:0}.step{flex-wrap:wrap}.table .w-bar{display:none}}.plain,.plain:hover{color:inherit;text-decoration:none}.branch-chip{border:1px solid var(--line);color:var(--muted);vertical-align:middle;border-radius:999px;padding:1px 7px;font-size:11px;display:inline-block}.branch-chip.pioneer,.badge.pioneer{color:var(--blue);border-color:var(--blue)}.table tr.pioneer td,.table tr.pioneer td a{color:var(--blue)}.rank-chip{background:var(--surface-2);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.table th{text-align:left;color:var(--muted);padding:7px 8px;font-size:12px;font-weight:600}.table.card{padding:4px 8px}.nowrap{white-space:nowrap}.page-head input{max-width:320px}.mentor{flex-direction:column;gap:10px;margin-top:16px;display:flex}.mentor-row,.mentee{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.summary-panel,.check-panel{margin-top:20px}.summary-panel h2,.check-panel h2,.card>h2:first-child{margin-top:0}.summary-text{white-space:pre-wrap;max-width:75ch}textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);resize:vertical;border-radius:8px;padding:8px 10px}.summary-edit{min-height:200px}.flashcards,.card-list{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.flashcard,.card-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px;display:flex}.fc-q{white-space:pre-wrap;font-weight:600}.fc-a{white-space:pre-wrap;border-left:3px solid var(--accent);padding-left:10px}.fc-known{cursor:pointer;align-items:center;gap:8px;display:flex}.card-tools{gap:12px;display:flex}.card-form{gap:8px;margin-top:12px;display:grid}.card-form button{justify-self:start}.check-history{margin-top:12px}.settings-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.settings-row input[type=number]{width:80px}.folders{flex-wrap:wrap;gap:6px;margin:8px 0 0;display:flex}.folder{background:var(--surface)}.folder.active{background:var(--accent-soft);border-color:var(--accent)}.achievements{flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.achievement{background:var(--warn-soft);color:var(--warn);border-radius:999px;padding:6px 12px;font-weight:600}.step.started{background:var(--accent-soft)}.step.started .step-n{background:var(--accent);color:var(--accent-ink)}.step-state{background:var(--surface-2);color:var(--muted);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600}.step-state.started{background:var(--warn-soft);color:var(--warn)}.step-state.done{background:var(--ok-soft);color:var(--ok)}.step-side button.primary{padding:4px 12px}.step-hint{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);margin:10px 0 2px 40px;padding:12px 14px}.step-hint>p:first-child{max-width:75ch;margin-top:0}.step-hint .card{box-shadow:none}.upload-form{gap:8px;margin-bottom:16px;display:grid}.lib-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.lib-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.lib-icon{width:20px}.bell{color:var(--muted);text-decoration:none;display:flex;position:relative}.bell.has{color:var(--text)}.bell:hover{text-decoration:none}.bell-n{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-6px;right:-10px}.inbox{margin:0;padding:4px 16px;list-style:none}.inbox li{align-items:baseline;gap:14px;padding:9px 0;display:flex}.inbox li+li{border-top:1px solid var(--line)}.inbox li.unread a,.inbox li.unread span:last-child{font-weight:600}@media (width<=640px){.step-line{flex-wrap:wrap}.step-side{white-space:normal;flex-wrap:wrap}.step-hint{margin-left:0}}.ladders{flex-direction:column;gap:4px;min-width:0;display:flex}.ladder-row{align-items:center;gap:8px;display:flex}.ladder-label{color:var(--muted);flex:none;width:52px;font-size:11px}.ladder-row.pioneer .ladder-label{color:var(--blue)}.ladder li{display:contents}.ladder button.rung{font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:0;padding:3px 7px;font-size:11px}.ladder li:first-child button.rung{border-radius:6px 0 0 6px}.ladder li:last-child button.rung{border-radius:0 6px 6px 0}.rung.lit{background:var(--accent-soft);color:var(--accent);font-weight:600}.ladder-row.pioneer .rung.lit{background:color-mix(in srgb, var(--blue) 14%, transparent);color:var(--blue)}.rung.zero{background:var(--surface-2);color:var(--muted);cursor:default}.ladder button.rung:disabled{cursor:default;opacity:1}.ladder button.rung.out{opacity:.4}.holders{flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:6px 0 0 60px;display:flex}.holder{font-size:13px}.name-hint p{margin:2px 0}.name-hint .bad{color:var(--alert)}.name-hint .good{color:var(--ok);font-weight:600}.view-as{background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--warn);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:8px 16px;display:flex}.view-as button{padding:4px 12px}.player{border-radius:var(--radius);background:#000;width:100%;max-width:860px;max-height:70vh;margin:8px 0 4px;display:block}.lib-row .secondary.small{padding:2px 10px;font-size:13px}.player-wrap{max-width:860px;margin:8px 0 4px}.player-wrap .player{max-width:none;margin:0}.chapter-bar{gap:2px;height:8px;margin-top:4px;display:flex}.chapter-seg{background:var(--line);cursor:pointer;border:0;border-radius:2px;flex-basis:0;min-width:4px;padding:0}.chapter-seg:hover{background:var(--muted)}.chapter-seg.active{background:var(--accent)}.player-tools{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.speed{padding:2px 9px;font-size:13px}.speed.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chapter-now{margin-left:8px;font-size:13px;font-weight:600}.chapters{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.chapters li{border-radius:6px;padding:3px 8px}.chapters li.active{background:var(--accent-soft)}.chapter-t{font-variant-numeric:tabular-nums;color:var(--accent);margin-right:6px}.chapter-edit{gap:8px;margin-top:10px;display:grid}.step.locked .step-name{color:var(--muted)}.ai-hint{border-radius:var(--radius);background:var(--accent-soft);gap:8px;padding:10px 12px;display:grid}.ai-hint .md-upload{justify-self:start}.admin-tab{margin-top:12px}.test-mode.on{border-color:var(--warn);background:var(--warn-soft)}.delete-choice{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.right{text-align:right}.upload-group{margin-top:12px}.upload-group h3{margin-bottom:4px}.next-panel{border-color:var(--ok);background:var(--ok-soft);gap:10px;margin-top:16px;display:grid}.next-panel.paused{border-color:var(--line);background:var(--surface-2)}.next-panel.done{border-color:var(--line);background:var(--surface)}.step-blocker{color:var(--warn)}.step-files{justify-items:start;gap:6px;display:grid}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:520px;padding:20px 22px}.modal h2{margin-top:0}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.mentor-terms{border-left:3px solid var(--line);background:var(--surface-2);border-radius:6px;flex-basis:100%;margin-top:6px;padding:8px 10px}.mentor-terms p{white-space:pre-wrap;margin:2px 0 0}.mentor-terms-edit{margin:24px 0}.mentor-terms-edit textarea{box-sizing:border-box;width:100%}.shelf-help summary{cursor:pointer;font-weight:600}.shelf-help ul{margin:8px 0 0;padding-left:20px}.shelf-help li{margin:4px 0}.shelf-filters{margin:12px 0}.shelf-list li.boring>.lib-row{opacity:.6}.shelf-flags{gap:2px;margin-left:auto;display:inline-flex}.flag{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 6px}.flag:hover{border-color:var(--line)}.flag.on{color:var(--accent);border-color:var(--accent)}.timecodes{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0 4px 30px;display:flex}.tc{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;color:inherit;border-radius:999px;padding:2px 10px;font-size:13px}.my-tc{margin-top:10px}.own-copy{padding:2px 0 4px 30px}.upload-link{cursor:pointer;text-decoration:underline}.export-panel{margin:12px 0}.export-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.export-grid fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:8px 12px}.export-grid legend{padding:0 4px;font-weight:600}.check{align-items:baseline;gap:6px;margin:4px 0;display:flex}.export-preview{border:1px solid var(--line);border-radius:var(--radius);max-height:70vh;margin:12px 0;padding:16px 20px;overflow-y:auto}.export-preview h3{margin:0;font-size:1.05rem}.ep-doc{justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 8px;display:flex}.export-preview section:first-child .ep-doc{margin-top:0}.ep-item{border-left:4px solid #999;margin:0 0 12px;padding-left:10px}.ep-item.c-yellow{border-color:#f5c400}.ep-item.c-red{border-color:#e5484d}.ep-item.c-blue{border-color:#3b82f6}.ep-item.off{opacity:.45}.ep-item.off .ep-meta span{text-decoration:line-through}.ep-item p{margin:2px 0 0}.ep-item img{background:#fff;max-width:100%;margin-top:4px;display:block}.ep-meta{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.ep-edit textarea{width:100%;font:inherit;box-sizing:border-box;margin-top:4px}.hl-dot{border-radius:3px;width:12px;height:12px;display:inline-block}.hl-dot.yellow{background:#f5c400}.hl-dot.red{background:#e5484d}.hl-dot.blue{background:#3b82f6}.pdf-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.pdf-head h1{margin:4px 0 8px}.pdf-toolbar{z-index:20;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;padding:6px 8px;display:flex;position:sticky;top:0}.tool{border:1px solid var(--line);background:var(--surface);min-width:34px;height:32px;color:inherit;cursor:pointer;border-radius:6px;padding:0 8px;font-size:15px}.tool.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tool:disabled{opacity:.4;cursor:default}.tool-hl-yellow{color:#e0b000}.tool-hl-red{color:#e5484d}.tool-hl-blue{color:#3b82f6}.tool-draw-red{color:#d92d20}.tool-draw-blue{color:#1d4ed8}.tool.zoom{min-width:56px;font-size:13px}.tool-opts{align-items:center;gap:4px;margin-left:6px;display:inline-flex}.swatch{border:2px solid var(--surface);width:22px;height:22px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:50%}.swatch.active{box-shadow:0 0 0 2px var(--accent)}.tool-gap{flex:1}.pdf-view{flex-direction:column;align-items:center;gap:14px;padding-bottom:40px;display:flex;overflow-x:auto}.pdf-page{background:#fff;flex:none;position:relative;box-shadow:0 1px 4px #00000040}.pdf-page canvas{position:absolute;inset:0}.pdf-hl,.pdf-ink{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pdf-hl{z-index:1;mix-blend-mode:multiply}.pdf-ink{z-index:3}.pdf-ink polyline{fill:none;stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.pdf-text{z-index:4;white-space:pre-wrap;cursor:default;max-width:60%;font-family:Arial,Helvetica,sans-serif;line-height:1.2;position:absolute}.pdf-note{z-index:4;cursor:pointer;background:#ffe58a;border:1px solid #c9a400;border-radius:4px;width:24px;height:24px;padding:0;font-size:13px;line-height:1;position:absolute;transform:translate(-50%,-50%)}.pdf-capture{z-index:6;cursor:crosshair;position:absolute;inset:0}.pdf-capture.draw{touch-action:none}.tool-is-erase .textLayer,.tool-is-erase .pdf-hl,.tool-is-erase .pdf-ink{pointer-events:none}.tool-is-erase .pdf-hl rect,.tool-is-erase .pdf-ink polyline,.tool-is-erase .pdf-text{pointer-events:auto;cursor:not-allowed}.tool-is-erase .pdf-ink polyline{stroke-width:8px}.textLayer{z-index:2;opacity:1;text-align:initial;letter-spacing:normal;word-spacing:normal;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:canvastext;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer ::selection{color:#0000;background:#005aff40}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:0;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.step-state.submitted{background:var(--warn-soft);color:var(--warn)}.summary-list{margin:6px 0;padding:0;list-style:none}.summary-list li{border-bottom:1px solid var(--line);padding:6px 0}.summary-list .add-row{margin-top:4px}.step-task h4,.publish h4{margin:10px 0 4px}.step-task textarea{box-sizing:border-box;width:100%}.publish{margin-top:10px;padding:12px}.publish input[type=text],.publish input:not([type]){min-width:220px}.pdf-legend{flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 10px;display:flex}.pdf-legend .hl-dot.grey{background:#78787873}.pdf-text,.pdf-note,.pdf-link{z-index:7}.pdf-text{cursor:pointer}.pdf-text.draft{outline:1px dashed var(--accent);opacity:.9;min-width:40px}.pdf-note{border-radius:6px;width:34px;height:34px;font-size:19px;box-shadow:0 1px 3px #0000004d}.pdf-note.draft,.pdf-link.draft{outline:2px dashed var(--accent)}.pdf-link{text-overflow:ellipsis;white-space:nowrap;color:#1d4ed8;cursor:pointer;background:#eef4ff;border:1px solid #1d4ed8;border-radius:999px;max-width:45%;padding:3px 8px;font:13px Arial,Helvetica,sans-serif;position:absolute;overflow:hidden;transform:translateY(-50%)}.pdf-draft-mark{z-index:8;pointer-events:none;position:absolute;inset:0}.pdf-draft-mark>:not(.pdf-drag){pointer-events:none}.pdf-drag{pointer-events:auto;border:1px solid var(--accent);background:var(--surface);width:22px;height:22px;color:var(--accent);cursor:grab;touch-action:none;border-radius:50%;padding:0;font-size:13px;position:absolute}.pdf-drag:active{cursor:grabbing}.pdf-draft{z-index:9;flex-direction:column;gap:6px;width:300px;padding:10px;display:flex;position:absolute;box-shadow:0 4px 16px #00000040}.pdf-draft textarea,.pdf-draft select{box-sizing:border-box;width:100%}.pdf-draft .add-row,.pdf-draft p{margin:0}.tool-is-erase .pdf-link,.tool-is-erase .pdf-note{cursor:not-allowed}.goal-slot{margin:8px 0}.step-goals .add-row{margin:6px 0}.old-summaries summary,.task-bank summary{cursor:pointer;margin-top:8px}.publish-works td{vertical-align:top}.publish-works input,.publish-works select{box-sizing:border-box;width:100%}.accept-extras{gap:8px;margin:10px 0;display:grid}.accept-extras details{padding:8px 12px}.accept-extras summary{cursor:pointer;font-weight:600}.publish .check{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.upload-many{gap:6px;margin:8px 0;padding-left:22px;display:grid}.upload-many li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upload-many input{flex:260px;min-width:0}.who .link{color:var(--muted)}.enr-head.card{background:0 0;border:0;padding:0}@media (width>=1181px){.has-right .big-pct{display:none}}.skill-main{grid-template-columns:minmax(130px,180px) minmax(0,1fr);row-gap:8px}.skill-main .skill-actions{grid-column:1/-1}.ladders .ladder{flex-wrap:wrap;row-gap:2px}.tour{--read:0;overflow-x:clip}.tour-read{top:var(--top-h);z-index:9;background:var(--accent);transform-origin:0;width:100%;height:2px;transform:scaleX(var(--read));position:fixed;left:0}.tour-sec{--p:0;min-height:calc(100vh - var(--top-h));align-items:center;max-width:1280px;margin:0 auto;padding:80px 48px;display:grid;position:relative}.tour-kicker{color:var(--accent);letter-spacing:.02em;margin:0 0 12px;font-size:14px;font-weight:600}.tour-hero{text-align:center;align-content:center;justify-items:center}.tour-hero h1{letter-spacing:-.035em;z-index:2;max-width:13ch;margin:0;font-size:clamp(40px,6.4vw,80px);line-height:1.04;position:relative}.tour-lead{color:var(--muted);z-index:2;max-width:32ch;margin:22px 0 0;font-size:clamp(18px,2vw,24px);position:relative}.tour-bear{width:72px;height:72px;filter:var(--logo-filter);z-index:2;margin-bottom:18px;position:relative}.tour-hero .tour-kicker,.tour-hero h1,.tour-hero .tour-lead,.tour-bear{animation:.9s cubic-bezier(.2,.7,.2,1) both tour-rise}.tour-hero h1{animation-delay:80ms}.tour-hero .tour-lead{animation-delay:.16s}.tour-scroll{border:2px solid var(--muted);border-radius:14px;width:26px;height:42px;margin-top:48px;position:relative}.tour-scroll span{background:var(--muted);border-radius:2px;width:4px;height:8px;margin-left:-2px;animation:1.8s ease-in-out infinite tour-wheel;position:absolute;top:8px;left:50%}.tour-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}.tour-row.flip{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.tour-row.flip .tour-copy{order:2}.tour-copy h2{letter-spacing:-.03em;margin:0 0 18px;font-size:clamp(30px,3.6vw,48px);line-height:1.08}.tour-copy p:not(.tour-kicker){color:var(--muted);margin:0;font-size:19px;line-height:1.5}.tour-copy{opacity:0;transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(40px)}.tour-sec.in .tour-copy{opacity:1;transform:none}.tour-stage{flex-direction:column;justify-content:center;min-height:440px;display:flex;position:relative}.cloud,.bubble{--d:0;opacity:0;translate:0 calc(var(--p) * var(--d) * 1px + 60px);transition:opacity .9s,scale 1.1s cubic-bezier(.2,.7,.2,1),translate 1.1s cubic-bezier(.2,.7,.2,1);position:absolute;scale:.94}.tour-sec.in .cloud,.tour-sec.in .bubble{opacity:1;scale:1;translate:0 calc(var(--p) * var(--d) * 1px);transition:opacity .9s,scale 1.1s cubic-bezier(.2,.7,.2,1),translate .25s linear}.cloud{background:#fff;border-radius:42px 56px 48px 60px/52px 44px 58px 46px;padding:18px;box-shadow:0 30px 80px -20px #00000038,0 0 0 1px #0000000a}.cloud img{border-radius:22px;width:100%;height:auto;display:block}.c-main{width:122%;animation:7s ease-in-out infinite tour-float;position:relative}.c-side{z-index:2;width:40%;animation:8s ease-in-out -2s infinite tour-float;top:0;right:-14%}.c-under{z-index:2;width:96%;animation:9s ease-in-out -4s infinite tour-float;bottom:0;left:-10%}.tour-row.flip .c-main{margin-left:-22%}.tour-row .c-main:has(+.c-side){width:100%;margin:150px 0 0 -4%}.tour-stage:has(.c-under){justify-content:flex-start;min-height:520px}.tour-sec.in .c-side{transition-delay:.15s}.tour-sec.in .c-under{transition-delay:.2s}.tour-sec.tour-hero.in .cloud{opacity:.5}.c-hero-a{width:420px;animation:9s ease-in-out infinite tour-float;top:12%;left:-60px;rotate:-4deg}.c-hero-b{width:220px;animation:7s ease-in-out -3s infinite tour-float;bottom:10%;right:0;rotate:5deg}.bubble{z-index:3;background:var(--surface);color:var(--text);white-space:nowrap;box-shadow:0 16px 40px -12px #00000040, 0 0 0 1px var(--line);border-radius:999px;padding:10px 18px;font-size:15px;font-weight:600}.bubble.dark{background:var(--btn);color:var(--btn-ink)}.bubble.alert{color:var(--alert)}.bubble.hl{color:#1d1d1f;background:#ffe66d}.tour-sec.in .bubble{transition-delay:.3s}.b-r1{top:6%;right:-2%}.b-l1{bottom:8%;left:-4%}.b-r2{bottom:2%;right:4%}.b-l2{top:4%;left:4%}.b-hero-a{color:var(--accent);padding:12px 22px;font-size:22px;bottom:18%;left:14%}.b-hero-b{color:var(--ok);top:20%;right:16%}.tour-end{text-align:center;align-content:center;justify-items:center;gap:36px}.tour-end blockquote{letter-spacing:-.022em;opacity:0;max-width:30ch;margin:0;font-size:clamp(24px,2.8vw,36px);font-weight:600;line-height:1.3;transition:opacity .9s,transform 1s cubic-bezier(.2,.7,.2,1);transform:translateY(40px)}.tour-end.in blockquote{opacity:1;transform:none}.tour-go{gap:12px;display:flex}.tour-go .button{padding:12px 26px;font-size:17px}a.org:hover{opacity:.75;text-decoration:none}@keyframes tour-rise{0%{opacity:0;transform:translateY(30px)}}@keyframes tour-float{50%{transform:translateY(-12px)}}@keyframes tour-wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(14px)}}@media (width<=860px){.tour-sec{min-height:auto;padding:56px 16px}.tour-hero{min-height:calc(100vh - var(--top-h))}.tour-row,.tour-row.flip{grid-template-columns:minmax(0,1fr);gap:28px}.tour-row.flip .tour-copy{order:0}.tour-stage{min-height:300px}.c-main{width:100%;margin-left:0}.tour-row .c-main:has(+.c-side){width:100%;margin-left:0}.tour-row.flip .c-main{margin-left:0}.c-hero-a{width:240px;left:-80px}.c-hero-b{width:150px;right:-30px}.b-r1,.b-r2{right:0}.b-l1,.b-l2{left:0}}@media (prefers-reduced-motion:reduce){.cloud,.bubble,.tour-copy,.tour-end blockquote,.tour-hero *{transition:none!important;animation:none!important}.cloud,.bubble,.tour-copy,.tour-end blockquote{opacity:1!important;transform:none!important}}.topic-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px;display:grid}.topic-card{background:var(--surface);color:var(--text);border-radius:22px;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden;box-shadow:0 2px 12px #00000014}.topic-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 10px 30px #0000001f}.tc-text{flex-direction:column;gap:8px;padding:26px 26px 18px;display:flex}.tc-level{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:600}.b1 .tc-level{color:#06c;background:#0071e31f}.b2 .tc-level{background:var(--accent-soft);color:var(--accent)}.topic-card h3{letter-spacing:-.02em;margin:4px 0 0;font-size:26px;font-weight:600;line-height:1.15}.tc-step{margin:4px 0 0;font-size:16px;font-weight:600}.tc-hint{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.tc-progress{align-items:center;gap:12px;margin-top:8px;display:flex}.tc-progress b{text-align:right;min-width:42px;font-size:14px;font-weight:600}.tc-track{background:linear-gradient(90deg,#ff3b30,#ff9500 35%,#fc0 60%,#34c759);border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.tc-rest{background:var(--surface-2);animation:tc-fill 1.1s var(--ease) .25s backwards;position:absolute;top:-1px;bottom:-1px;right:-1px}@keyframes tc-fill{0%{width:calc(100% + 2px)}}.tc-pic{background:linear-gradient(135deg, hsl(var(--hue) 28% 90%), hsl(calc(var(--hue) + 40) 24% 80%));height:190px;margin-top:auto;position:relative}.tc-pic img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cover-pick{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.cover-pick img{object-fit:cover;border-radius:8px;width:72px;height:44px}.cover-pick label{cursor:pointer}.cover-pick.need{background:#0071e314;border-radius:12px;padding:10px 14px}:root{--ease:cubic-bezier(.2, .7, .2, 1)}html{scroll-behavior:smooth}a,button,.button,.tab,input,select,textarea,.badge{transition:color .2s,background-color .2s,border-color .2s,opacity .2s,box-shadow .2s,filter .2s}button:active:not(:disabled),.button:active{transform:scale(.97)}.tab{transition:color .2s, border-color .3s var(--ease)}.page{animation:page-in .45s var(--ease) backwards}.topic-card{animation:card-in .55s var(--ease) backwards;transition:transform .35s var(--ease), box-shadow .35s var(--ease)}.topic-card:nth-child(2){animation-delay:60ms}.topic-card:nth-child(3){animation-delay:.12s}.topic-card:nth-child(4){animation-delay:.18s}.topic-card:nth-child(n+5){animation-delay:.24s}.tc-pic img{transition:transform .6s var(--ease)}.topic-card:hover .tc-pic img{transform:scale(1.04)}.card,.step{transition:border-color .2s,background-color .3s,box-shadow .3s}.step-hint{animation:hint-in .3s var(--ease) backwards}.modal-backdrop{animation:.2s backwards fade-in}.modal{animation:card-in .3s var(--ease) backwards}.bar-fill{transition:width .8s var(--ease)}.ring circle{transition:stroke-dashoffset .9s var(--ease)}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}@keyframes card-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}@keyframes hint-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page,.topic-card,.step-hint,.modal-backdrop,.modal,.tc-rest{animation:none}.tc-pic img,.bar-fill,.ring circle{transition:none}}.mastered-box{border-top:1px solid var(--line);margin-top:40px}.mastered-head{letter-spacing:-.018em;width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:18px 0;font-size:21px;font-weight:600;display:flex}.mastered-head:hover:not(:disabled){filter:none;color:var(--accent)}.mastered-head:active:not(:disabled){transform:none}.mastered-n{color:var(--muted);font-size:14px;font-weight:500}.mastered-head .chev{color:var(--muted);transition:transform .4s var(--ease);margin-left:auto}.mastered-box.open .chev{transform:rotate(180deg)}.mastered-body{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.6,1);display:grid}.mastered-box.open .mastered-body{grid-template-rows:1fr;transition-duration:.5s}.mastered-inner{min-height:0;overflow:hidden}.mastered-cols{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 32px;padding:4px 0 8px;display:grid}.mastered-col h4{color:var(--muted);letter-spacing:.01em;margin:0 0 10px;font-size:12px;font-weight:600}.mastered-col ul{margin:0 0 18px;padding:0;list-style:none}.mastered-col li{padding:4px 0;font-size:15px}.mastered-col a{color:var(--text)}.mastered-col a.b1,.mastered-legend .b1{color:#06c}.mastered-legend{color:var(--muted);margin:4px 0 24px;font-size:13px}.mastered-col h4,.mastered-col li,.mastered-legend{opacity:0;transition:opacity .15s,transform .15s;transform:translateY(-8px)}.mastered-box.open .mastered-col h4,.mastered-box.open .mastered-col li,.mastered-box.open .mastered-legend{opacity:1;transition:opacity .4s var(--ease), transform .5s var(--ease);transition-delay:calc(.12s + min(var(--i), 24) * 25ms);transform:none}@media (prefers-reduced-motion:reduce){.mastered-body,.mastered-head .chev,.mastered-col h4,.mastered-col li,.mastered-legend{transition:none!important}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mastered-col a.b1,:root:not([data-theme=light]) .mastered-legend .b1{color:#4da3ff}}:root[data-theme=dark] .mastered-col a.b1,:root[data-theme=dark] .mastered-legend .b1{color:#4da3ff}.tc-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.tc-who{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.await-box{background:var(--surface-2);animation:card-in .5s var(--ease) backwards;border-radius:22px;margin:8px 0 12px;padding:22px 26px}.await-box h2{align-items:center;gap:10px;margin:0 0 6px;display:flex}.await-n{color:var(--accent-ink);background:var(--accent);letter-spacing:0;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:600}.await-box>p{margin:4px 0 0}.await-list{margin:0;padding:0;list-style:none}.await-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.await-list li:first-child{border-top:0}.await-list li>div{min-width:0}.await-list li>div>span{margin-top:2px;display:block}.await-actions{flex:none;gap:8px;display:flex}.await-list .button{flex:none}@media (width<=860px){.await-list li{flex-direction:column;align-items:flex-start}}.tab-n{background:var(--accent);min-width:18px;color:var(--accent-ink);text-align:center;vertical-align:1px;border-radius:999px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.shelf{margin-top:36px}.shelf-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.shelf-head h2{margin:0}.shelf-scroll{scroll-snap-type:x proximity;grid-template-rows:auto;grid-auto-columns:272px;grid-auto-flow:column;gap:18px;margin:-4px -4px 0;padding:4px 4px 14px;display:grid;overflow-x:auto}.shelf-scroll.two{grid-template-rows:auto auto}.shelf-scroll>*{scroll-snap-align:start}.shelf-scroll>p{grid-column:1/span 3;margin:0}.skill-card{text-align:left;font:inherit;color:var(--text);background:var(--surface);cursor:pointer;animation:card-in .5s var(--ease) backwards;transition:transform .35s var(--ease), box-shadow .35s var(--ease);border:0;border-radius:20px;flex-direction:column;padding:0;display:flex;overflow:hidden;box-shadow:0 2px 12px #00000014}.skill-card:hover:not(:disabled){filter:none;transform:translateY(-3px);box-shadow:0 10px 30px #0000001f}.skill-card:active:not(:disabled){transform:scale(.98)}.skill-card:hover .tc-pic img{transform:scale(1.04)}.sc-text{flex-direction:column;gap:6px;padding:20px 20px 16px;display:flex}.sc-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.sc-cat{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px;font-weight:600}.sc-name{letter-spacing:-.02em;font-size:21px;font-weight:600;line-height:1.2}.sc-top-level{color:var(--muted);font-size:13px;line-height:1.35}.sc-top-level b{color:var(--text);font-weight:600}.skill-card .tc-pic{height:150px}.sheet{border-radius:22px;max-height:calc(100vh - 48px);padding:28px 30px;position:relative;overflow-y:auto}.sheet.wide{max-width:760px}.sheet-x{width:32px;height:32px;color:var(--muted);border-radius:50%;padding:0;font-size:14px;position:absolute;top:14px;right:14px}.sheet-title{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 40px 12px 0;font-size:26px;display:flex}.sheet .ladders{margin:14px 0}.sheet .ladder{flex-wrap:wrap;row-gap:2px}.sheet-mine{flex-wrap:wrap;gap:6px;display:flex}.sheet .start-form{margin-top:16px}.propose-form{flex-direction:column;gap:14px;display:flex}.check-line{cursor:pointer;align-items:center;gap:8px;padding:3px 0;font-size:15px;display:flex}.check-line input{width:16px;height:16px}.actual-list{columns:2 220px;column-gap:28px;margin:12px 0}.actual-list>div{break-inside:avoid;margin-bottom:14px}.actual-list h4{color:var(--muted);margin:0 0 4px;font-size:12px}@media (width<=860px){.shelf-scroll{grid-auto-columns:78%}.sheet{padding:22px 18px}}.seg{background:var(--surface-2);border-radius:999px;gap:2px;margin:18px 0 4px;padding:3px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:0;padding:6px 16px;font-size:14px}.seg button.on{background:var(--surface);color:var(--text);font-weight:500;box-shadow:0 1px 4px #0000001f}.seg button:hover:not(:disabled){filter:none;color:var(--text)}.shelf-filters .seg{margin:0}.group-title{font-size:19px}.shelf-group{margin-top:22px}.shelf-group .group-title{margin:0 0 6px}.lib-tags{flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-left:28px;display:flex}.tag-line{color:var(--muted)}.tag-panel,.tag-picker{flex-direction:column;gap:8px;padding:10px 0 4px 28px;display:flex}.tag-picker{padding-left:0}.tag-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-row select{max-width:260px}.chip{background:var(--surface-2);color:var(--text);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 11px;font-size:13px;display:inline-flex}button.chip.on,.tag-panel span.chip{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.chip-x{color:inherit;background:0 0;border:0;padding:0 0 0 2px;font-size:11px}.person-cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px;margin-top:20px;display:grid}.person-card{background:var(--surface);color:var(--text);animation:card-in .55s var(--ease) backwards;transition:transform .35s var(--ease), box-shadow .35s var(--ease);border-radius:22px;flex-direction:column;gap:16px;padding:24px;display:flex;box-shadow:0 2px 12px #00000014}.person-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 10px 30px #0000001f}.person-card:nth-child(2){animation-delay:40ms}.person-card:nth-child(3){animation-delay:80ms}.person-card:nth-child(4){animation-delay:.12s}.person-card:nth-child(n+5){animation-delay:.16s}.pc-head{align-items:center;gap:14px;min-width:0;display:flex}.pc-who{min-width:0}.pc-who h3{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:21px;font-weight:600;line-height:1.2;overflow:hidden}.pc-rank{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 0;font-size:14px;display:flex}.pc-avatar{letter-spacing:.02em;width:52px;height:52px;color:hsl(var(--hue) 45% 30%);background:linear-gradient(135deg, hsl(var(--hue) 40% 90%), hsl(calc(var(--hue) + 40) 35% 80%));border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:600;display:grid}.pc-avatar.big{width:84px;height:84px;font-size:30px}.pc-badge{color:#06c;background:#0071e31f;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:600}.pc-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 0;display:grid}.pc-stats div{flex-direction:column;gap:2px;display:flex}.pc-stats b{letter-spacing:-.02em;font-size:22px;font-weight:600}.pc-stats span{color:var(--muted);font-size:12px}.pc-now ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pc-now li{align-items:center;gap:10px;min-width:0;display:flex}.pc-now p{margin:0}.pc-thumb{background:linear-gradient(135deg, hsl(var(--hue) 28% 90%), hsl(calc(var(--hue) + 40) 24% 80%));border-radius:9px;flex:none;width:36px;height:36px;position:relative;overflow:hidden}.pc-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pc-skill{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:500;overflow:hidden}.pc-level{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;padding:3px 8px;font-size:11px;font-weight:600}.pc-level.b1{color:#06c;background:#0071e31f}.pc-level.b2{background:var(--accent-soft);color:var(--accent)}.person-hero{align-items:center;gap:20px;margin:8px 0 20px;display:flex}.person-hero h1{margin:0}.topic-cards.small{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:12px 0 8px}.topic-cards.small .tc-text{padding:20px 20px 14px}.topic-cards.small h3{font-size:21px}.topic-cards.small .tc-pic{height:130px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pc-avatar{color:hsl(var(--hue) 50% 85%);background:linear-gradient(135deg, hsl(var(--hue) 30% 30%), hsl(calc(var(--hue) + 40) 25% 22%))}:root:not([data-theme=light]) .pc-badge,:root:not([data-theme=light]) .pc-level.b1{color:#4da3ff}}:root[data-theme=dark] .pc-avatar{color:hsl(var(--hue) 50% 85%);background:linear-gradient(135deg, hsl(var(--hue) 30% 30%), hsl(calc(var(--hue) + 40) 25% 22%))}:root[data-theme=dark] .pc-badge,:root[data-theme=dark] .pc-level.b1{color:#4da3ff}@media (prefers-reduced-motion:reduce){.person-card{transition:none;animation:none}}@media (width<=600px){.person-hero{gap:14px}.pc-avatar.big{width:64px;height:64px;font-size:24px}}.ai-card{background:var(--surface);animation:card-in .5s var(--ease) backwards;transition:transform .35s var(--ease), box-shadow .35s var(--ease);border-radius:20px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 12px #00000014}.ai-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000001f}.ai-main{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;gap:6px;padding:20px 20px 0;display:flex}.ai-main:hover:not(:disabled){filter:none}.ai-main .sc-cat{color:hsl(var(--hue) 55% 40%)}.ai-pic{background:linear-gradient(135deg, hsl(var(--hue) 40% 92%), hsl(calc(var(--hue) + 40) 32% 82%));place-items:center;height:110px;margin:auto -20px 0;display:grid;position:relative}.ai-main .sc-name{margin-bottom:14px}.ai-doc{background:var(--surface);letter-spacing:.06em;color:#d93025;width:54px;height:68px;transition:transform .4s var(--ease);border-radius:6px;place-items:end center;padding-bottom:10px;font-size:12px;font-weight:700;display:grid;box-shadow:0 4px 14px #00000024}.ai-card:hover .ai-doc{transform:translateY(-4px)rotate(-3deg)}.ai-foot{justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:10px 20px 12px;display:flex}.ai-card .error{padding:0 20px 12px}.ai-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ai-tag{color:var(--text);background:hsl(var(--hue) 40% 92%);border:1px solid #0000;border-radius:999px;padding:5px 12px;font-size:14px}.ai-tag.on{border-color:var(--btn);font-weight:600}.ai-own{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.ai-own input{width:100%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ai-pic{background:linear-gradient(135deg, hsl(var(--hue) 28% 26%), hsl(calc(var(--hue) + 40) 22% 18%))}:root:not([data-theme=light]) .ai-main .sc-cat{color:hsl(var(--hue) 60% 70%)}:root:not([data-theme=light]) .ai-tag{background:hsl(var(--hue) 25% 25%)}}:root[data-theme=dark] .ai-pic{background:linear-gradient(135deg, hsl(var(--hue) 28% 26%), hsl(calc(var(--hue) + 40) 22% 18%))}:root[data-theme=dark] .ai-main .sc-cat{color:hsl(var(--hue) 60% 70%)}:root[data-theme=dark] .ai-tag{background:hsl(var(--hue) 25% 25%)}@media (prefers-reduced-motion:reduce){.ai-card{transition:none;animation:none}.ai-doc{transition:none}}.tpl-row{grid-auto-columns:200px;gap:14px}.tpl-card{background:var(--surface);border-top:4px solid hsl(var(--hue) 45% 72%);animation:card-in .5s var(--ease) backwards;transition:transform .35s var(--ease), box-shadow .35s var(--ease);border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 12px #00000014}.tpl-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000001f}.tpl-main{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;gap:6px;min-height:150px;padding:16px 16px 4px;display:flex}.tpl-main:hover:not(:disabled){filter:none}.tpl-main .sc-cat{color:hsl(var(--hue) 55% 40%);font-size:11px}.tpl-name{letter-spacing:-.01em;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:16px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.tpl-desc{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.tpl-card .ai-foot{min-height:36px;padding:8px 16px 10px}.tpl-card .error{padding:0 16px 10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tpl-main .sc-cat{color:hsl(var(--hue) 60% 70%)}:root:not([data-theme=light]) .tpl-card{border-top-color:hsl(var(--hue) 35% 40%)}}:root[data-theme=dark] .tpl-main .sc-cat{color:hsl(var(--hue) 60% 70%)}:root[data-theme=dark] .tpl-card{border-top-color:hsl(var(--hue) 35% 40%)}@media (prefers-reduced-motion:reduce){.tpl-card{transition:none;animation:none}}.group-switch{display:inline-block;position:relative}.group-switch .seg button{align-items:center;gap:6px;display:inline-flex}.seg-chev{opacity:.35;transition:transform .25s var(--ease), opacity .2s}.seg button.on .seg-chev{opacity:.8}.seg-chev.up{transform:rotate(180deg)}.seg-n{background:var(--accent);min-width:18px;color:var(--accent-ink);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.pick-pop{z-index:20;width:320px;max-width:calc(100vw - 32px);animation:pop-in .2s var(--ease);border-radius:16px;padding:12px 6px 8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 40px #00000029}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)}}.pick-head{color:var(--muted);justify-content:space-between;align-items:center;padding:0 10px 8px;font-size:13px;font-weight:600;display:flex}.pick-pop ul{max-height:340px;margin:0;padding:0;list-style:none;overflow-y:auto}.pick-pop li .check-line{cursor:pointer;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;display:flex}.pick-pop li .check-line:hover{background:var(--surface-2)}.pick-pop li .check-line span:first-of-type{flex:1}.pick-pop p{margin:0;padding:0 10px}@media (prefers-reduced-motion:reduce){.pick-pop{animation:none}.seg-chev{transition:none}}.pick-pop li .check-line input{width:16px;min-width:0;height:16px;box-shadow:none;flex:none;margin:0;padding:0}.ai-full{white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;margin:0 0 18px;line-height:1.55;overflow-y:auto}.ai-more{margin-left:auto}.sheet-kicker{margin:0 0 4px}.ai-acts{gap:12px;margin-left:auto;display:inline-flex}.tpl-meta{justify-content:space-between;align-items:center;gap:8px;padding:6px 16px 10px;display:flex}.tpl-meta+.ai-foot{border-top:0;min-height:0;padding-top:0}.tpl-files{flex-direction:column;gap:4px;margin:2px 0 4px;padding:0;list-style:none;display:flex}.tpl-files li{background:var(--surface-2);color:var(--text);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:14px;display:flex}.ai-foot .link{white-space:nowrap}.tpl-meta .muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shelf-dark{color:#f5f5f7;background:#000;border-radius:28px;margin-top:28px;padding:30px 30px 18px}.shelf-dark .shelf-head h2{color:#f5f5f7;letter-spacing:-.02em;font-size:28px}.shelf-dark .shelf-head .link{color:#ff9f0a}.shelf-dark .shelf-scroll>p.muted{color:#a1a1a6}.shelf-dark .skill-card{box-shadow:none}.shelf-dark .skill-card:hover:not(:disabled){box-shadow:0 10px 30px #ffffff14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .shelf-dark{background:#1c1c1e;box-shadow:inset 0 0 0 1px #ffffff14}}:root[data-theme=dark] .shelf-dark{background:#1c1c1e;box-shadow:inset 0 0 0 1px #ffffff14}@media (width<=600px){.shelf-dark{border-radius:22px;padding:22px 16px 12px}}.shelf-dark .shelf-scroll{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:#48484a transparent}.tour-row .c-main.c-narrow{width:72%;margin-left:14%}.tour-row.flip .c-main.c-narrow{margin-left:0}.tour-stage:has(.c-under) .c-main.c-narrow{width:62%}.bubble.blue{color:#06c}@media (width<=860px){.tour-row .c-main.c-narrow,.tour-row.flip .c-main.c-narrow{width:80%;margin-left:10%}}.tour-row .c-main.c-fit{width:100%;margin-left:0}.c-under.low{width:74%;bottom:-110px;left:auto;right:-6%}@media (width<=860px){.c-under.low{width:90%;bottom:-40px;right:0}}.tour-hero h1{max-width:22ch;font-size:clamp(34px,4.6vw,60px)}.tour-hero .tour-lead{max-width:40ch;color:var(--text)}.tour-future{margin-top:14px!important}.tour-hero .tour-lead b{color:var(--accent);font-weight:600}.tour-hint{color:var(--muted);z-index:2;margin:26px 0 0;font-size:14px;animation:.9s cubic-bezier(.2,.7,.2,1) .3s backwards tour-rise;position:relative}@media (width<=860px){.tour-hero .bubble{display:none}}.tour-copy p+p{margin-top:14px!important}.tour-copy p b{color:var(--text);font-weight:600}.tour-copy p b.t-b1{color:#06c}.tour-copy p b.t-b2{color:var(--accent)}.tour-logo-shot{background:var(--surface);border-radius:22px;max-width:min(560px,100%);overflow:hidden;box-shadow:0 18px 50px #0000001f}.tour-logo-shot img{width:100%;height:auto;display:block}.tour-end blockquote{max-width:26ch}
