.tu-page{padding-top:14px}.tu-crumbs{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;display:flex}.tu-crumbs a{color:var(--ink-soft)}.tu-crumbs a:hover{color:var(--accent-text)}.tu-grid{flex-direction:column;gap:12px;display:flex}.tu-head{flex-direction:column;gap:10px;min-width:0;display:flex}.tu-boardcol{--sg-vh-offset:190px;min-width:0}.tu-panel{flex-direction:column;gap:12px;min-width:0;display:flex}@media (min-width:960px){.tu-grid{grid-template:"board head""board panel"1fr/minmax(0,1fr) 372px;align-items:start;gap:14px 28px;display:grid}.tu-head{grid-area:head}.tu-boardcol{--sg-vh-offset:96px;grid-area:board;position:sticky;top:12px}.tu-panel{grid-area:panel}}.tu-head__row{align-items:center;gap:12px;display:flex}.tu-head__icon{border-radius:var(--radius-sm);background:var(--accent);width:46px;height:46px;color:var(--accent-ink);flex:none;justify-content:center;align-items:center;font-size:1.45rem;font-weight:800;line-height:1;display:inline-flex}.tu-head__text{flex-direction:column;min-width:0;display:flex}.tu-head__eyebrow{color:var(--ink-faint);align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.tu-head__title{margin:0;font-size:clamp(1.35rem,3.2vw,1.85rem);font-weight:800;line-height:1.25}.tu-best{color:var(--gold-text);letter-spacing:1px}.tu-pills{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tu-pill{border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--paper-2);min-width:32px;height:32px;color:var(--ink-soft);cursor:pointer;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.tu-pill:hover{border-color:var(--accent);color:var(--accent-text)}.tu-pill.is-current{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.tu-pill.is-done{color:var(--gold-text);border-color:var(--line-strong)}.tu-pill.is-done.is-s3{background:var(--paper-3)}.tu-pill:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tu-board{position:relative}.tu-marks{pointer-events:none;z-index:3;--tu-star:#f5b301;--tu-star-edge:#7a4d00;--tu-drop:#2f6fd6;position:absolute}.tu-mark{justify-content:center;align-items:center;width:11.1111%;height:11.1111%;display:flex;position:absolute}.tu-mark svg{width:62%;height:62%;fill:var(--tu-star);stroke:var(--tu-star-edge);stroke-width:1.1px;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #00000040);animation:2.4s ease-in-out infinite tu-float}.tu-mark.is-small{justify-content:flex-end;align-items:flex-start}.tu-mark.is-small svg{width:36%;height:36%;margin:2% 2% 0 0}.tu-mark--drop svg{fill:var(--tu-drop);stroke:#00143c80}.tu-mark__badge{background:var(--tu-drop);color:#fff;white-space:nowrap;border-radius:4px;padding:0 4px;font-size:clamp(8px,1.3vw,11px);font-weight:700;line-height:1.5;position:absolute;bottom:6%;left:50%;transform:translate(-50%)}.tu-mark.is-got svg{animation:.45s ease-out forwards tu-got}.tu-mark.is-got .tu-mark__badge{display:none}.tu-mark--ghost{padding:6%}.tu-mark__ghost{color:#3c280ab3;background:#ffffff47;border:2px dashed #3c280a8c;border-radius:6px;justify-content:center;align-items:center;width:100%;height:100%;font-size:clamp(11px,2.4vw,22px);font-weight:800;display:flex}@keyframes tu-float{50%{transform:translateY(-5%)scale(1.04)}}@keyframes tu-got{0%{opacity:1;transform:scale(1)}60%{opacity:.9;transform:scale(1.5)}to{opacity:0;transform:scale(1.8)}}@media (prefers-reduced-motion:reduce){.tu-mark svg{animation:none}.tu-mark.is-got svg{opacity:0;animation:none}}.tu-noboard{display:none}@media (min-width:960px){.tu-noboard{aspect-ratio:1;border-radius:var(--radius);background:var(--paper-2);border:1px solid var(--line);max-height:calc(100vh - 140px);color:var(--line-strong);justify-content:center;align-items:center;display:flex}}.tu-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);padding:16px 18px}.tu-intro__title{margin:0 0 8px;font-size:1.15rem;font-weight:800}.tu-intro__line{color:var(--ink-body);margin:0 0 6px;font-size:1.02rem;line-height:1.7}.tu-intro__meta{color:var(--ink-faint);margin:8px 0 12px;font-size:13px}.tu-task{border-left:4px solid var(--accent)}.tu-task.is-done{border-left-color:var(--ok)}.tu-task__head{flex-wrap:wrap;justify-content:space-between;gap:4px 10px;margin-bottom:6px;font-size:12.5px;display:flex}.tu-task__label{color:var(--accent-text);font-weight:800}.tu-task.is-done .tu-task__label{color:var(--ok)}.tu-task__counter{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:600}.tu-task__text{color:var(--ink);margin:0;font-size:1.12rem;font-weight:700;line-height:1.55}.tu-task__move{flex-wrap:wrap;align-items:baseline;gap:8px;margin:10px 0 0;display:flex}.tu-move-ja{font-size:1.45rem}.tu-move-w{font-family:var(--font-mono);color:var(--ink-soft)}.tu-task__points{margin:8px 0 0;font-weight:700}.tu-kifu{color:var(--ink-soft);flex-wrap:wrap;gap:2px 10px;margin:8px 0 0;padding:0;font-size:13.5px;list-style:none;display:flex}.tu-live:empty{display:none}.tu-msg{border-radius:var(--radius-sm);background:var(--paper-3);color:var(--ink-body);margin:10px 0 0;padding:9px 12px;font-size:14.5px;line-height:1.6}.tu-msg--ok{color:var(--ok);background:color-mix(in srgb, var(--ok) 9%, var(--paper-2));font-weight:700}.tu-msg--bad{color:var(--accent-text);background:var(--accent-soft);font-weight:700;animation:.3s tu-shake}.tu-msg--info{color:var(--ink-body)}.tu-msg__stars{color:var(--gold-text);letter-spacing:1px;margin-right:8px}.tu-msg__off{color:var(--ink-faint)}@keyframes tu-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.tu-msg--bad{animation:none}}.tu-actions{flex-wrap:wrap;gap:8px;display:flex}.tu-actions .btn svg{vertical-align:-3px}.tu-quiz{margin-top:12px}.tu-quiz__q{margin:0 0 8px;font-weight:700}.tu-quiz__opts{gap:6px;display:grid}.tu-quiz__opt{text-align:left;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper-2);width:100%;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.tu-quiz__opt:hover:not(:disabled){border-color:var(--accent)}.tu-quiz__opt:disabled{cursor:default}.tu-quiz__key{background:var(--paper-3);width:24px;height:24px;color:var(--ink-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.tu-quiz__opt.is-right{border-color:var(--ok);color:var(--ok)}.tu-quiz__opt.is-right .tu-quiz__key{background:var(--ok);color:var(--paper-2)}.tu-quiz__opt.is-wrong{border-color:var(--accent);color:var(--accent-text)}.tu-links{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.tu-link{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);padding:10px 12px;display:block}.tu-link:hover{border-color:var(--line-strong);color:var(--ink);box-shadow:var(--shadow-sm)}.tu-link strong{font-size:15px;display:block}.tu-link small{color:var(--ink-soft);font-size:13px}.tu-complete{text-align:center;border-color:color-mix(in srgb, var(--gold) 50%, var(--line));padding:22px 18px 18px;position:relative;overflow:hidden}.tu-complete .tu-actions{justify-content:center}.tu-complete__title{margin:6px 0 4px;font-size:1.4rem;font-weight:800}.tu-complete__text{color:var(--ink-soft);margin:0 0 12px}.tu-complete__levels{gap:2px;max-width:260px;margin:0 auto 14px;padding:0;font-size:13.5px;list-style:none;display:grid}.tu-complete__levels li{justify-content:space-between;gap:10px;display:flex}.tu-complete__s{color:var(--gold-text);letter-spacing:1px}.tu-stars{color:var(--ink-faint);z-index:1;gap:6px;font-size:2.6rem;line-height:1;display:inline-flex;position:relative}.tu-stars .is-on{color:var(--gold-text);animation:.45s cubic-bezier(.2,1.4,.4,1) both tu-pop}.tu-stars .is-on:nth-child(2){animation-delay:.15s}.tu-stars .is-on:nth-child(3){animation-delay:.3s}@keyframes tu-pop{0%{opacity:0;transform:scale(.2)rotate(-25deg)}to{opacity:1;transform:none}}.tu-complete__burst{width:0;height:0;position:absolute;top:46px;left:50%}.tu-complete__burst i{background:var(--gold);opacity:0;width:4px;height:14px;transform:rotate(var(--a)) translateY(-26px);border-radius:2px;animation:.9s ease-out .35s both tu-burst;position:absolute;top:-2px;left:-2px}.tu-complete__burst i:nth-child(odd){background:var(--accent)}@keyframes tu-burst{0%{opacity:0;transform:rotate(var(--a)) translateY(-18px) scaleY(.4)}30%{opacity:.9}to{opacity:0;transform:rotate(var(--a)) translateY(-70px) scaleY(1)}}@media (prefers-reduced-motion:reduce){.tu-stars .is-on,.tu-complete__burst i{animation:none}.tu-complete__burst{display:none}}.tu-details{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2)}.tu-details summary{cursor:pointer;color:var(--ink-soft);padding:11px 16px;font-size:14px;font-weight:700}.tu-details summary:hover{color:var(--ink)}.tu-details__body{padding:0 16px 12px}.tu-details__body p{color:var(--ink-body);margin:0 0 .7em;font-size:14.5px}.tu-keys{color:var(--ink-faint);margin:0;font-size:12px}@media (pointer:coarse){.tu-keys{display:none}}.tu-nav{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:10px;font-size:13.5px;display:flex}.tu-nav a{color:var(--ink-soft)}.tu-nav a:hover{color:var(--accent-text)}@media (max-width:959px){.tu-panel{display:contents}.tu-grid{gap:10px}.tu-head{order:1}.tu-panel>.tu-intro,.tu-panel>.tu-task,.tu-panel>.tu-complete{order:2}.tu-boardcol{order:3}.tu-panel>.tu-actions{order:4}.tu-panel>.tu-details{order:5}.tu-panel>.tu-keys{order:6}.tu-panel>.tu-nav{order:7}.tu-card{padding:12px 14px}.tu-task__text{font-size:1.04rem}.tu-head__icon{width:40px;height:40px;font-size:1.25rem}}@media (max-width:640px){.tu-boardcol{margin:0 -6px}.tu-stage--complete .tu-boardcol{display:none}}.tu-map{gap:16px;display:grid}.tu-map__summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 18px;display:flex}.tu-map__bar{flex-direction:column;flex:220px;gap:6px;min-width:0;display:flex}.tu-map__stats{color:var(--ink-soft);flex-wrap:wrap;gap:4px 14px;font-size:13.5px;font-weight:600;display:flex}.tu-map__stats .tu-best{font-size:13.5px}.tu-progress{background:var(--paper-3);border-radius:999px;height:8px;position:relative;overflow:hidden}.tu-progress>span{background:var(--ok);border-radius:inherit;transition:width .3s;position:absolute;inset:0 auto 0 0}.tu-chapters{grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.tu-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.tu-map:not(.tu-map--compact) .tu-chapters{grid-template-columns:repeat(3,minmax(0,1fr))}}.tu-chapter{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);padding:14px 14px 12px}.tu-chapter.is-done{border-color:color-mix(in srgb, var(--ok) 40%, var(--line))}.tu-chapter__head{align-items:baseline;gap:8px;margin:0 0 2px;display:flex}.tu-chapter__num{color:var(--accent-text);flex:none;font-size:12px;font-weight:800}.tu-chapter__title{margin:0;font-size:1rem;font-weight:800}.tu-chapter__count{color:var(--ink-faint);white-space:nowrap;margin-left:auto;font-size:12px}.tu-chapter__text{color:var(--ink-soft);margin:0 0 10px;font-size:13px;line-height:1.55}.tu-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.tu-tile{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);height:100%;color:var(--ink);align-items:center;gap:9px;padding:7px 9px;display:flex}.tu-tile:hover{color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.tu-tile__icon{border:1px solid var(--line-strong);background:var(--paper-2);width:32px;height:32px;color:var(--ink-soft);border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:800;line-height:1;display:inline-flex}.tu-tile.is-done .tu-tile__icon{background:var(--ok);border-color:var(--ok);color:var(--paper-2)}.tu-tile.is-next{border-color:var(--accent)}.tu-tile.is-next .tu-tile__icon{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tu-tile__text{flex-direction:column;min-width:0;display:flex}.tu-tile__title{font-size:13.5px;font-weight:700;line-height:1.35}.tu-tile__stars{letter-spacing:1px;color:var(--gold-text);font-size:11px;line-height:1.2}.tu-tile__stars .tu-msg__off{color:var(--ink-faint)}.tu-tile__next{color:var(--accent-text);font-size:11px;font-weight:700}.tu-map--compact .tu-chapter__text{display:none}.tu-map--compact .tu-chapters{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}.tu-map--compact .tu-chapter{padding:12px}.tu-map--compact .tu-tiles{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tu-map--compact .tu-tile{box-shadow:none;background:0 0;border:0;gap:8px;padding:0}.tu-map--compact .tu-tile:hover .tu-tile__icon{border-color:var(--accent)}.tu-map--compact .tu-tile__text{display:none}.tu-map--compact .tu-tile.is-next{border:1px solid var(--accent);border-radius:8px;padding-right:10px}.tu-map--compact .tu-tile.is-next .tu-tile__text{display:flex}@media (pointer:coarse){.tu-crumbs a,.tu-nav a{align-items:center;min-height:44px;display:inline-flex}.tu-nav{padding-top:2px}.tu-map--compact .tu-tile{min-width:44px;min-height:44px}.tu-map--compact .tu-tile__icon{width:44px;height:44px}}.tu-tasks{margin-top:20px}.tu-tasks h2{margin:0 0 10px;font-size:1.15rem}.tu-tasks__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tu-tasks__list li{border-top:1px solid var(--line);grid-template-columns:5.5em minmax(0,1fr);gap:2px 10px;padding:8px 0;display:grid}.tu-tasks__list li:first-child{border-top:0}.tu-tasks__list strong{color:var(--ink-soft);grid-row:span 2;font-size:.88rem}.tu-tasks__done{color:var(--ink-soft);font-size:.88rem}.tu-mm{margin-top:10px;padding:0 4px}
