:root{--paper:#fbf4e6;--paper-2:#f4e9d3;--paper-3:#ecdec2;--ink:#3b2c1d;--ink-2:#6a5541;--ink-3:#8a735c;--line:#dcc9a6;--stitch:#c9b48c;--koi:#cf3f2b;--koi-deep:#a93020;--moss:#5d7f39;--lake:#2a7f9f;--gold:#d99a24;--fs-xs:.88rem;--fs-sm:.94rem;--fs-base:1rem;--fs-md:1.1rem;--fs-lg:1.32rem;--fs-xl:1.62rem;--fs-2xl:2.02rem;--r-sm:7px;--r-md:13px;--r-lg:20px;--shadow-rest:0 1px 0 #fff8 inset, 0 2px 5px #46301621;--shadow-float:0 1px 0 #fff9 inset, 0 16px 34px -12px #32200c6b, 0 3px 8px #32200c21;--font-display:"LXGW WenKai TC", "Noto Serif TC", "PingFang TC", "Microsoft JhengHei", serif;--font-body:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .3 0 0 0 0 .16 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");--safe-b:env(safe-area-inset-bottom,0px)}html{font-size:16px}@media (min-width:768px){html{font-size:16.5px}}@media (min-width:1400px){html{font-size:17.5px}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;background:#8fc6ea;margin:0;overflow:hidden}#world{width:100vw;height:100vh;touch-action:none;outline:none;height:100dvh;display:block;position:fixed;top:0;bottom:0;left:0;right:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:var(--koi-deep)}h1,h2,h3,h4,p{margin:0}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--koi);outline-offset:2px;border-radius:6px}small{font-size:.92em}.card{background-color:var(--paper);background-image:var(--grain);border-radius:var(--r-md);box-shadow:var(--shadow-float);position:relative}.card:after{content:"";border:1.3px dashed var(--stitch);border-radius:calc(var(--r-md) - 4px);pointer-events:none;opacity:.75;position:absolute;top:5px;bottom:5px;left:5px;right:5px}.topbar{z-index:20;pointer-events:none;align-items:stretch;gap:12px;display:flex;position:fixed;top:14px;left:14px;right:14px}.topbar>*{pointer-events:auto}.brand{text-align:left;flex:0 auto;align-items:center;gap:12px;min-width:0;padding:10px 18px 10px 12px;display:flex}.brand img{flex:none;width:50px;height:50px}.brand h1{font-family:var(--font-display);font-size:var(--fs-lg);white-space:nowrap;letter-spacing:.02em;font-weight:700;line-height:1.2}.brand p{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.quote{flex:260px;align-items:center;gap:12px;min-width:0;padding:10px 14px 10px 16px;display:flex}.quote .tagline{font-size:var(--fs-xs);color:#fff;background:var(--gold);border-radius:99px;flex:none;padding:3px 11px;font-weight:700}.quote blockquote{min-width:0;font-family:var(--font-display);font-size:var(--fs-base);margin:0;line-height:1.35}.quote cite{font-style:normal;font-family:var(--font-body);font-size:var(--fs-xs);color:var(--ink-3);display:block}.quote .again{background:var(--paper-3);width:34px;height:34px;color:var(--ink-2);border-radius:50%;flex:none;font-size:1rem}.quote .again:hover{background:var(--line)}.liveinfo{text-align:left;flex:none;align-items:center;gap:14px;padding:10px 16px;display:flex}.liveinfo .date strong{font-family:var(--font-display);font-size:var(--fs-md);white-space:nowrap;display:block}.liveinfo .date span{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.liveinfo .sep{background:var(--line);align-self:stretch;width:1px;margin:2px 0}.liveinfo .wx{align-items:center;gap:8px;display:flex}.liveinfo .wx i{font-size:1.5rem;font-style:normal;line-height:1}.liveinfo .wx strong{font-size:var(--fs-sm);white-space:nowrap;display:block}.liveinfo .wx span{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap}.labels{z-index:8;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.plate{will-change:transform;pointer-events:auto;background:var(--paper);background-image:var(--grain);border:2px solid var(--c,var(--line));font-family:var(--font-display);font-weight:700;font-size:var(--fs-sm);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:4px 13px 4px 10px;transition:opacity .25s,box-shadow .2s,background-color .2s;display:inline-flex;position:absolute;top:0;left:0;box-shadow:0 5px 12px -4px #281a0a80}.plate .dot{background:var(--c);border-radius:50%;flex:none;width:9px;height:9px}.plate em{font-family:var(--font-body);color:var(--ink-3);font-size:.8em;font-style:normal;font-weight:500}.plate.hot{box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 30%, transparent), 0 8px 16px -4px #281a0a80;background-color:#fff}.plate.off,.labels.hidden .plate{opacity:0;pointer-events:none}.pin{will-change:transform;pointer-events:auto;font-size:var(--fs-xs);white-space:nowrap;background:#fff;border-radius:99px;align-items:center;gap:6px;padding:3px 11px 3px 4px;font-weight:500;display:inline-flex;position:absolute;top:0;left:0;box-shadow:0 4px 10px -3px #281a0a8c}.pin b{background:var(--c);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;display:grid}.pin:hover,.pin.on{background:var(--c);color:#fff}.pin:hover b,.pin.on b{color:var(--c);background:#fff}.dock{z-index:20;left:14px;right:14px;bottom:calc(14px + var(--safe-b));pointer-events:none;justify-content:center;align-items:flex-end;gap:10px;display:flex;position:fixed}.dock>*{pointer-events:auto}.cta{color:#fff;box-shadow:var(--shadow-float);white-space:nowrap;border-radius:99px;align-items:center;gap:7px;padding:10px 17px;font-weight:700;transition:transform .15s;display:inline-flex}.cta:hover{transform:translateY(-2px)}.cta.koi{background:linear-gradient(#e0553d, var(--koi))}.cta.lake{background:linear-gradient(#3a93b4, var(--lake))}.cta.moss{background:linear-gradient(#6f9346, var(--moss))}.cta.sun{background:linear-gradient(#c28420,#a8680f)}.seg{background:var(--paper);background-image:var(--grain);box-shadow:var(--shadow-float);border-radius:99px;padding:4px;display:inline-flex}.seg button{font-size:var(--fs-sm);white-space:nowrap;color:var(--ink-2);border-radius:99px;padding:7px 14px;font-weight:500}.seg button:hover{background:var(--paper-3)}.seg button.on{background:var(--ink);color:var(--paper)}.hintcard{z-index:19;left:14px;bottom:calc(72px + var(--safe-b));text-align:left;align-items:center;gap:10px;max-width:320px;padding:9px 16px 9px 12px;display:flex;position:fixed}.hintcard img{flex:none;width:44px;height:44px}.hintcard strong{font-family:var(--font-display);font-size:var(--fs-base);display:block}.hintcard span{font-size:var(--fs-xs);color:var(--ink-2)}.hintcard .visit-line{margin-top:1px;display:block}.hintcard .visit-line[hidden]{display:none}.visit-line b{color:var(--koi-deep);font-variant-numeric:tabular-nums}.credit{z-index:19;right:16px;bottom:calc(74px + var(--safe-b));font-size:var(--fs-xs);color:#fff;text-shadow:0 1px 3px #0000008c;position:fixed}.credit a{color:inherit}.site-credit__heart{margin:0 2px;display:inline-block}.site-credit__author{color:inherit;border-bottom:1px dotted;padding-bottom:1px;text-decoration:none}.watch{z-index:15;flex-direction:column;width:clamp(290px,23vw,370px);max-height:calc(100dvh - 176px);transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s;display:flex;position:fixed;top:92px;right:14px;overflow:hidden}.watch.away{opacity:0;pointer-events:none;transform:translate(calc(100% + 24px))}.watch-head{z-index:1;align-items:center;gap:8px;padding:13px 16px 8px;display:flex;position:relative}.watch-head h2{font-family:var(--font-display);font-size:var(--fs-md);flex:1}.watch-head .pulse{background:#e0452f;border-radius:50%;width:9px;height:9px;animation:2s infinite pulse;box-shadow:0 0 #e0452f99}@keyframes pulse{70%{box-shadow:0 0 0 9px #e0452f00}to{box-shadow:0 0 #e0452f00}}.watch-body{z-index:1;scrollbar-width:thin;gap:10px;padding:0 14px 14px;display:grid;position:relative;overflow-y:auto}.tile{text-align:left;background:var(--paper-2);border-radius:var(--r-sm);width:100%;padding:10px 12px;display:block}button.tile:hover{background:var(--paper-3)}.tile h3{font-size:var(--fs-xs);color:var(--ink-3);letter-spacing:.03em;margin-bottom:4px;font-weight:700}.res-row{align-items:center;gap:12px;display:flex}.gauge{width:26px;height:58px;box-shadow:inset 0 0 0 1.5px var(--lake);background:#dcebf0;border-radius:7px;flex:none;position:relative;overflow:hidden}.gauge i{background:linear-gradient(#4db0d4, var(--lake));transition:height .9s;position:absolute;bottom:0;left:0;right:0}.res-num strong{font-family:var(--font-display);font-size:var(--fs-lg);line-height:1.1}.res-num strong small{font-size:.62em;font-family:var(--font-body);color:var(--ink-2);font-weight:500}.res-num p{font-size:var(--fs-xs);color:var(--ink-2);line-height:1.4}.ticker{min-height:2.9em}.ticker .tick{animation:.5s rise;display:block}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.tick b{color:#fff;background:var(--koi);vertical-align:1px;border-radius:4px;margin-right:5px;padding:1px 7px;font-size:.78rem;display:inline-block}.tick strong{font-size:var(--fs-sm);font-weight:700;line-height:1.4}.tick span{font-size:var(--fs-xs);color:var(--ink-2);display:block}.watch-link{font-size:var(--fs-xs);color:var(--koi-deep);margin-top:3px;font-weight:700;display:inline-block}.status-line{font-size:var(--fs-xs);color:var(--ink-2);padding:0 2px}.panel{z-index:30;background-color:var(--paper);background-image:var(--grain);border-radius:var(--r-lg);width:clamp(390px,40vw,600px);box-shadow:var(--shadow-float);flex-direction:column;transition:transform .45s cubic-bezier(.2,.85,.2,1);display:flex;position:fixed;top:92px;bottom:14px;right:14px;overflow:hidden;transform:translate(calc(100% + 24px))}.panel.open{transform:none}.panel-head{background:linear-gradient(color-mix(in srgb, var(--c) 18%, var(--paper)), var(--paper));border-top:5px solid var(--c);padding:14px 20px 0;position:relative}.handle,.peek-name{display:none}.ph-row{align-items:center;gap:6px;display:flex}.ph-row .kicker{text-align:center;font-size:var(--fs-xs);color:color-mix(in srgb, var(--c) 72%, var(--ink));flex:1;font-weight:700}.round{width:34px;height:34px;color:var(--ink-2);box-shadow:0 0 0 1px var(--line);background:#fff9;border-radius:50%;flex:none;place-items:center;font-size:1.1rem;display:grid}.round:hover{background:#fff}.panel-head h2{font-family:var(--font-display);font-size:var(--fs-2xl);margin-top:6px;line-height:1.2}.panel-head .motto{font-size:var(--fs-sm);color:var(--ink-2);margin-top:2px}.tabs{scrollbar-width:none;gap:2px;margin:10px -6px 0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{font-weight:500;font-size:var(--fs-sm);color:var(--ink-2);border-bottom:3px solid #0000;flex:none;padding:8px 12px}.tabs button.on{color:var(--ink);border-color:var(--c);font-weight:700}.panel-body{scroll-behavior:smooth;overscroll-behavior:contain;flex:1;padding:16px 20px 22px;line-height:1.8;overflow-y:auto}.panel-body>*+*{margin-top:14px}.panel-foot{border-top:1px solid var(--line);background:var(--paper-2);justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.panel-foot button{font-size:var(--fs-sm);color:var(--ink-2);border-radius:8px;padding:5px 8px;font-weight:700}.panel-foot button:hover{background:var(--paper-3)}.lead{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--koi-deep);line-height:1.5}.block-h{font-family:var(--font-display);font-size:var(--fs-md);border-left:4px solid var(--c,var(--koi));padding-left:12px;font-weight:700;line-height:1.4;margin-top:22px!important}.block-h:first-child{margin-top:0!important}.bullets{gap:7px;margin:0;padding:0;list-style:none;display:grid}.bullets li{padding-left:21px;position:relative}.bullets li:before{content:"";background:var(--c,var(--koi));opacity:.75;border-radius:3px;width:9px;height:9px;position:absolute;top:.72em;left:3px;transform:rotate(45deg)}.stats{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;display:grid}.stat{background:var(--paper-2);border-radius:var(--r-sm);padding:10px 12px;line-height:1.3}.stat b{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--ink)}.stat b small{font-size:.55em;font-family:var(--font-body);color:var(--ink-2);margin-left:2px;font-weight:500}.stat span{font-size:var(--fs-xs);color:var(--ink-2);margin-top:2px;display:block}.timeline{gap:0;display:grid}.tl{border-left:3px solid var(--k);margin-left:7px;padding:0 0 14px 22px;position:relative}.tl:last-child{border-left-color:#0000;padding-bottom:0}.tl:before{content:"";background:var(--k);width:15px;height:15px;box-shadow:0 0 0 3px var(--paper);border-radius:50%;position:absolute;top:4px;left:-9px}.tl h4{font-family:var(--font-display);font-size:var(--fs-md)}.tl h4 small{font-family:var(--font-body);font-weight:500;font-size:var(--fs-xs);color:var(--ink-3);margin-left:6px}.tl .goal{font-size:var(--fs-xs);color:var(--k);font-weight:700}.tl ul{font-size:var(--fs-sm);margin:3px 0 0;padding-left:1.1em;line-height:1.6}.goal-card{border-radius:var(--r-sm);background:var(--paper-2);border-left:5px solid var(--k);padding:10px 14px}.goal-card b{font-family:var(--font-display);font-size:var(--fs-md)}.goal-card small{color:var(--ink-3);display:block}.goal-card p{font-size:var(--fs-sm);line-height:1.65}.goals{gap:8px;display:grid}.themes{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}.theme{text-align:left;border-radius:var(--r-sm);background:var(--paper-2);border-top:4px solid var(--k);padding:10px 13px;line-height:1.5}.theme:hover{background:var(--paper-3)}.theme b{font-family:var(--font-display);font-size:var(--fs-md);display:block}.theme em{font-style:normal;font-size:var(--fs-xs);color:var(--ink-3);font-weight:700}.theme span{font-size:var(--fs-xs);color:var(--ink-2);display:block}.acts{gap:8px;display:grid}.act{background:var(--paper-2);border-radius:var(--r-sm);overflow:hidden}.act>button{text-align:left;align-items:center;gap:10px;width:100%;padding:9px 12px;display:flex}.act>button b{background:var(--c);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.84rem;display:grid}.act>button span{font-family:var(--font-display);font-weight:700;font-size:var(--fs-md);flex:1;line-height:1.3}.act>button i{color:var(--ink-3);font-style:normal;transition:transform .2s}.act.open>button i{transform:rotate(90deg)}.act-body{font-size:var(--fs-sm);padding:0 13px 13px;line-height:1.75;display:none}.act.open .act-body{display:block}.act-body dt{color:var(--ink-2);font-weight:700;font-size:var(--fs-xs);margin-top:7px}.act-body dd{white-space:pre-line;margin:0}.act.flash{animation:1.1s flash}@keyframes flash{30%{box-shadow:0 0 0 3px var(--c)}}.grid-photos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.ph{text-align:left;box-shadow:var(--shadow-rest);background:#fff;border-radius:4px;width:100%;padding:5px 5px 6px;transition:transform .15s;display:block}.ph:hover{transform:translateY(-2px)rotate(-.4deg)}.ph img{aspect-ratio:4/3;object-fit:cover;background:var(--paper-3);border-radius:2px;width:100%}.ph span{font-size:var(--fs-xs);color:var(--ink-2);margin-top:5px;line-height:1.4;display:block}.act-photos{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-top:9px;display:grid}.act-photos .ph span{display:none}.fig{box-shadow:var(--shadow-rest);text-align:left;background:#fff;border-radius:6px;width:100%;padding:8px;display:block}.fig img{width:100%;height:auto;margin:0 auto;display:block}.fig span{font-size:var(--fs-xs);color:var(--ink-3);margin-top:5px;display:block}.steps{counter-reset:st;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.steps div{background:var(--paper-2);border-radius:var(--r-sm);line-height:1.5;font-size:var(--fs-sm);padding:9px 12px}.steps b{font-family:var(--font-display);color:var(--c);filter:brightness(.8);display:block}.routes{gap:9px;display:grid}.route-head{align-items:center;gap:10px;display:flex}.route .grade{font-family:var(--font-display);color:#fff;background:var(--c);font-weight:700;font-size:var(--fs-sm);border-radius:6px;flex:none;padding:2px 10px}.route small.face{font-size:var(--fs-xs);color:var(--ink-3);font-weight:500;font-family:var(--font-body);display:block}.strat{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.chip{background:var(--paper);border:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-2);border-radius:99px;padding:2px 9px;display:inline-block}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips-label{font-size:var(--fs-xs);color:var(--ink-3);margin-bottom:4px;font-weight:700}.tbl-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:var(--fs-sm);line-height:1.55}table.t th{background:var(--paper-3);text-align:left;white-space:nowrap;padding:6px 9px;font-weight:700}table.t td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 9px}table.t td.num,table.t th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.t tr.total td{background:var(--paper-2);font-weight:700}.ilr-grades{flex-wrap:wrap;gap:4px;display:flex}.ilr-grades button{background:var(--paper-2);font-size:var(--fs-sm);border-radius:99px;padding:5px 11px}.ilr-grades button.on{background:var(--c);color:#fff;font-weight:700}.ilr-row{border-bottom:1px dashed var(--line);font-size:var(--fs-sm);grid-template-columns:96px 1fr;gap:3px 10px;padding:7px 0;line-height:1.5;display:grid}.ilr-row b{font-weight:700}.ilr-row small{color:var(--ink-3);font-size:var(--fs-xs);display:block}.domains,.cards{gap:8px;display:grid}.cardlet{background:var(--paper-2);border-radius:var(--r-sm);font-size:var(--fs-sm);padding:10px 13px;line-height:1.7}.cardlet b{font-family:var(--font-display);font-size:var(--fs-md);margin-bottom:1px;display:block}.cols{gap:10px;display:grid}.chart{background:var(--paper-2);border-radius:var(--r-sm);padding:10px 12px}.chart h4{font-size:var(--fs-sm);font-weight:700}.chart svg{width:100%;height:auto;margin-top:4px;display:block;overflow:visible}.chart .note{font-size:var(--fs-xs);color:var(--ink-3)}.legend{font-size:var(--fs-xs);color:var(--ink-2);flex-wrap:wrap;gap:12px;margin-top:3px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:11px;height:11px;margin-right:4px;display:inline-block}.bar-hit:hover+.bar-val,.bar-group:hover .bar-val{font-weight:700}.badges{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.badges button{border-radius:var(--r-md);width:clamp(136px,30%,176px);box-shadow:var(--shadow-rest);text-align:center;background:#fff;padding:10px 10px 9px;transition:transform .18s}.badges button:hover{transform:translateY(-3px)rotate(-1deg)}.badges img{aspect-ratio:1;object-fit:contain;width:100%;display:block}.badges span{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--ink);margin-top:6px;font-weight:700;line-height:1.3;display:block}.live-res{background:linear-gradient(170deg, #e4f1f5, var(--paper-2));border-radius:var(--r-sm);padding:14px}.live-res .big{align-items:center;gap:16px;display:flex}.live-res .gauge{border-radius:10px;width:42px;height:110px}.live-res .res-num strong{font-size:var(--fs-2xl)}.live-res dl{font-size:var(--fs-sm);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:12px 0 0;display:grid}.live-res dt{font-size:var(--fs-xs);color:var(--ink-3)}.live-res dd{margin:0;font-weight:700}.say{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.say-box{background:var(--paper);border-radius:var(--r-sm);width:max-content;max-width:min(240px,66vw);box-shadow:var(--shadow-float);pointer-events:auto;text-align:center;padding:8px 12px 9px;position:absolute;bottom:8px;left:0;transform:translate(-50%)}.say-box:after{content:"";background:var(--paper);width:14px;height:14px;margin-left:-7px;position:absolute;bottom:-7px;left:50%;transform:rotate(45deg)}.say-box strong{font-size:var(--fs-xs);color:var(--ink-3);display:block}.say-box p{font-family:var(--font-display);font-size:var(--fs-base);line-height:1.4}.say-box button{z-index:1;background:var(--ink);color:var(--paper);font-size:var(--fs-xs);border-radius:99px;margin-top:5px;padding:4px 14px;font-weight:700;position:relative}.walkbar{z-index:28;left:50%;bottom:calc(78px + var(--safe-b));align-items:center;gap:12px;width:min(620px,100vw - 28px);padding:10px 14px 10px 18px;display:flex;position:fixed;transform:translate(-50%)}.walkbar .txt{z-index:1;flex:1;min-width:0;position:relative}.walkbar strong{font-family:var(--font-display);font-size:var(--fs-md);display:block}.walkbar span{font-size:var(--fs-sm);color:var(--ink-2);display:block}.walkbar .ctl{z-index:1;flex:none;gap:6px;display:flex;position:relative}.walkbar .ctl button{background:var(--paper-3);font-size:var(--fs-sm);white-space:nowrap;border-radius:99px;padding:6px 12px;font-weight:500}.walkbar .ctl button.main{background:var(--ink);color:var(--paper);font-weight:700}.tourbar{z-index:28;left:50%;bottom:calc(78px + var(--safe-b));width:min(720px,100vw - 28px);padding:13px 18px;position:fixed;transform:translate(-50%)}.tourbar .inner{z-index:1;position:relative}.tourbar .tt{align-items:baseline;gap:8px;display:flex}.tourbar h3{font-family:var(--font-display);font-size:var(--fs-lg)}.tourbar .prog{font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto}.tourbar p{line-height:1.65;font-size:var(--fs-base);margin:2px 0 8px}.tourbar .t-hippo{font-size:var(--fs-sm);color:var(--koi);margin-top:-6px;font-weight:700}.tourbar .ctl{flex-wrap:wrap;gap:6px;display:flex}.tourbar .ctl button{background:var(--paper-3);font-size:var(--fs-sm);border-radius:99px;padding:5px 13px;font-weight:500}.tourbar .ctl button.main{background:var(--ink);color:var(--paper);font-weight:700}.tourbar .bar{background:var(--line);border-radius:3px;height:3px;margin-top:9px;overflow:hidden}.tourbar .bar i{background:var(--koi);width:0;height:100%;display:block}.listview{z-index:17;background:#fbf4e6f7;background-image:var(--grain);opacity:0;pointer-events:none;padding:104px 0 0;transition:opacity .3s;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.listview.open{opacity:1;pointer-events:auto}.wrap{width:min(1360px,94vw);margin:0 auto}.list-head{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.list-head h2{font-family:var(--font-display);font-size:var(--fs-2xl)}.search{flex:280px;max-width:480px}.search input{width:100%;font:inherit;border:2px solid var(--line);color:var(--ink);background:#fff;border-radius:99px;padding:10px 16px}.search input:focus{border-color:var(--koi);outline:none}.island-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-top:16px;display:grid}.icard{text-align:left;border-radius:var(--r-md);box-shadow:var(--shadow-rest);border-top:5px solid var(--c);background:#fffaf0;padding:14px 18px 16px;transition:transform .15s,box-shadow .15s}.icard:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.icard small{font-size:var(--fs-xs);color:var(--ink-3);font-weight:700}.icard h3{font-family:var(--font-display);font-size:var(--fs-lg);line-height:1.3}.icard p{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.55}.icard .sect{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.results{gap:8px;margin-top:16px;display:grid}.result{text-align:left;border-radius:var(--r-sm);box-shadow:var(--shadow-rest);background:#fffaf0;padding:10px 14px;line-height:1.6}.result b{font-family:var(--font-display)}.result small{color:var(--ink-3)}.result mark{background:#ffe39a}.result p{font-size:var(--fs-sm);color:var(--ink-2)}.site-footer{border-top:1px solid var(--line);padding-bottom:calc(84px + var(--safe-b));background:linear-gradient(#f1e7d2,#e8dbbf);margin-top:44px;position:relative}.site-footer:before{content:"";background:linear-gradient(90deg, var(--koi), var(--gold), var(--moss), var(--lake));height:4px;position:absolute;top:-1px;left:0;right:0}.footer-inner{grid-template-columns:1.1fr 1.7fr .8fr;gap:26px;padding:30px 0 22px;display:grid}.footer-brand{align-items:center;gap:12px;display:flex}.footer-brand img{width:56px;height:56px}.footer-brand strong{font-family:var(--font-display);font-size:var(--fs-lg);display:block}.footer-brand span{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5;display:block}.footer-points{grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.footer-points li{gap:9px;display:flex}.footer-points .fp{background:var(--paper);width:34px;height:34px;color:var(--koi-deep);font-weight:700;font-family:var(--font-display);box-shadow:var(--shadow-rest);border-radius:9px;flex:none;place-items:center;display:grid}.footer-points strong{font-size:var(--fs-sm);display:block}.footer-points small{font-size:var(--fs-xs);color:var(--ink-2);line-height:1.45;display:block}.footer-links{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.footer-links a,.footer-links button{font-size:var(--fs-sm);color:var(--ink);font-weight:500;text-decoration:none}.footer-links a:hover,.footer-links button:hover{color:var(--koi-deep)}.footer-bottom{border-top:1px solid var(--line);font-size:var(--fs-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding-top:12px;display:flex}.footer-bottom p{color:var(--ink-2)}.version-tag{border:1px solid var(--line);font-size:var(--fs-xs);background:#fff8;border-radius:99px;padding:2px 11px}.modal{z-index:50;opacity:0;pointer-events:none;background:#261c1075;place-items:center;padding:14px;transition:opacity .2s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal.open{opacity:1;pointer-events:auto}.dialog{background-color:var(--paper);background-image:var(--grain);border-radius:var(--r-lg);width:min(640px,100%);max-height:calc(100dvh - 28px);box-shadow:var(--shadow-float);flex-direction:column;display:flex;position:relative;overflow:hidden}.dialog.wide{width:min(980px,100%)}.dialog-head{align-items:center;gap:10px;padding:14px 18px 10px;display:flex}.dialog-head h2{font-family:var(--font-display);font-size:var(--fs-xl);flex:1}.dialog-body{padding:0 18px 18px;line-height:1.7;overflow-y:auto}.quiz-opt{text-align:left;background:var(--paper-2);border-radius:var(--r-sm);width:100%;margin-top:8px;padding:11px 15px;font-weight:500;display:block}.quiz-opt:hover{background:var(--paper-3)}.quiz-q{font-family:var(--font-display);font-size:var(--fs-lg)}.quiz-progress{font-size:var(--fs-xs);color:var(--ink-3)}.quiz-result{text-align:center}.quiz-result h3{font-family:var(--font-display);font-size:var(--fs-2xl);color:var(--koi-deep)}.btn-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.btn{background:var(--paper-3);border-radius:99px;padding:9px 18px;font-weight:700}.btn.main{background:var(--koi);color:#fff}.note{font-size:var(--fs-xs);color:var(--ink-3)}.stamps{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;margin-top:10px;display:grid}.stamp{aspect-ratio:1;text-align:center;font-family:var(--font-display);font-size:var(--fs-sm);border:2px dashed var(--line);color:var(--ink-3);border-radius:50%;place-items:center;width:100%;padding:10px;line-height:1.3;display:grid}.stamp.on{border:3px double var(--c);color:var(--c);background:color-mix(in srgb, var(--c) 9%, #fff);font-weight:700;transform:rotate(-6deg)}.news-item{border-bottom:1px dashed var(--line);color:var(--ink);padding:9px 2px;text-decoration:none;display:block}.news-item:hover strong{color:var(--koi-deep)}.news-item small{color:var(--ink-3);font-size:var(--fs-xs);display:block}.news-item strong{font-weight:500}.news-item .tag{color:#fff;background:var(--moss);border-radius:4px;margin-right:5px;padding:0 7px;font-size:.78rem;font-weight:700;display:inline-block}.lb{z-index:60;background:#18110ae6;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.lb.open{display:grid}.lb figure{flex-direction:column;align-items:center;gap:8px;max-width:min(1200px,100%);max-height:100%;margin:0;display:flex}.lb-view{display:contents}.lb img{max-width:min(100%, var(--lb-max,100%));object-fit:contain;cursor:zoom-in;background:#fff;border-radius:4px;max-height:calc(100dvh - 110px);transition:opacity .15s}.lb img.wait{opacity:.45}.lb.native img{cursor:default}.lb.native figcaption small{display:none}.lb.zoom figure{width:100%}.lb.zoom .lb-view{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;width:100%;height:calc(100dvh - 110px);display:block;overflow:auto}.lb.zoom img{cursor:grab;max-width:none;max-height:none}.lb.zoom .p,.lb.zoom .n{display:none}.lb figcaption{color:#fff;font-size:var(--fs-base);text-align:center}.lb figcaption a{color:#fff;margin-left:10px;font-weight:700;text-decoration:underline}.lb figcaption small{font-size:var(--fs-xs);opacity:.72;display:block}.lb.zoom figcaption small{display:none}.lb .round{background:#fffc;position:fixed}.lb .x{top:14px;right:14px}.lb .p{top:50%;left:14px}.lb .n{top:50%;right:14px}.toast{z-index:70;background:var(--ink);color:var(--paper);opacity:0;pointer-events:none;text-align:center;max-width:calc(100vw - 28px);box-shadow:var(--shadow-float);border-radius:99px;padding:10px 20px;font-weight:500;transition:all .3s;position:fixed;top:96px;left:50%;transform:translate(-50%,-14px)}.toast.on{opacity:1;transform:translate(-50%)}.loader{z-index:90;background:linear-gradient(#2f8fd8,#7cc0ea 56%,#e6f4f7);place-items:center;padding:16px;transition:opacity .7s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.loader.done{opacity:0;pointer-events:none}.loader-card{text-align:center;color:#fff;text-shadow:0 2px 6px #143c6473}.loader-card img{filter:drop-shadow(0 8px 12px #143c6459);margin:0 auto 6px;animation:2.6s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-9px)rotate(2deg)}}.loader-card h1{font-family:var(--font-display);font-size:clamp(1.7rem,5vw,2.6rem);font-weight:700}.loader-sub{font-family:var(--font-display);font-size:var(--fs-lg);margin-top:2px}.loader-bar{background:#fff5;border-radius:9px;width:min(340px,78vw);height:9px;margin:18px auto 8px;overflow:hidden}.loader-bar span{background:#fff;border-radius:9px;width:0;height:100%;transition:width .2s;display:block}.loader-text{font-size:var(--fs-base)}.loader-skip{color:var(--lake);text-shadow:none;background:#fff;border-radius:99px;margin-top:12px;padding:7px 16px;font-weight:700}@media (min-width:861px){body.reading .dock{justify-content:flex-start;right:calc(clamp(390px,40vw,600px) + 28px)}body.reading .dock .seg:last-child,body.reading .credit{display:none}}body.listing .watch,body.listing .hintcard,body.listing .credit,body.listing .tourbar,body.listing .labels,body.touring .watch,body.touring .hintcard,body.walking .watch,body.walking .hintcard,body.listing .walkbar{display:none}.dock{overscroll-behavior-x:contain;scrollbar-width:none;pointer-events:auto;touch-action:pan-x;justify-content:flex-start;padding:8px 4px;overflow-x:auto}.dock *{touch-action:pan-x}.dock::-webkit-scrollbar{display:none}.dock>:first-child{margin-left:auto}.dock>:last-child{margin-right:auto}.dock.can-drag{cursor:grab}.dock.dragging,.dock.dragging *{cursor:grabbing;-webkit-user-select:none;user-select:none}.dock-nav{z-index:21;bottom:calc(20px + var(--safe-b));background:var(--paper);width:38px;height:38px;color:var(--ink);box-shadow:var(--shadow-float);border-radius:50%;place-items:center;font-size:1.5rem;line-height:1;display:grid;position:fixed}.dock-nav.prev{left:6px}.dock-nav.next{right:6px}.dock-nav[hidden]{display:none}@media (max-width:1180px){.quote{display:none}.topbar{justify-content:space-between}.watch{width:300px}}@media (max-width:860px){.topbar{gap:7px;top:8px;left:8px;right:8px}.brand{flex:auto;gap:7px;padding:6px 12px 6px 7px}.brand img{width:34px;height:34px}.brand h1{letter-spacing:0;font-size:.96rem}.brand>span{min-width:0}.brand p{display:none}.liveinfo{gap:8px;padding:6px 11px}.liveinfo .date,.liveinfo .sep{display:none}.liveinfo .wx i{font-size:1.2rem}.liveinfo .wx span{display:none}.card:after{top:3px;bottom:3px;left:3px;right:3px}.plate{border-width:1.5px;padding:1px 8px 1px 6px;font-size:.88rem}.plate em{display:none}.plate .dot{width:7px;height:7px}.dock{padding:7px 8px calc(7px + var(--safe-b));overscroll-behavior-x:contain;scrollbar-width:none;pointer-events:auto;touch-action:pan-x;justify-content:flex-start;align-items:center;gap:7px;bottom:0;left:0;right:0;overflow-x:auto}.dock *{touch-action:pan-x}.dock-nav{z-index:21;bottom:calc(9px + var(--safe-b));background:var(--paper);width:38px;height:38px;color:var(--ink);box-shadow:var(--shadow-float);border-radius:50%;place-items:center;font-size:1.5rem;line-height:1;display:grid;position:fixed}.dock-nav.prev{left:6px}.dock-nav.next{right:6px}.dock-nav[hidden]{display:none}.dock::-webkit-scrollbar{display:none}.cta{font-size:var(--fs-sm);flex:none;padding:8px 13px}.seg{flex:none}.seg button{padding:8px 12px}.hintcard{left:8px;bottom:calc(60px + var(--safe-b));max-width:260px;padding:6px 12px 6px 8px}.hintcard img{width:34px;height:34px}.hintcard strong{font-size:var(--fs-sm)}.credit{display:none}.watch{top:auto;left:8px;right:8px;bottom:calc(60px + var(--safe-b));width:auto;max-height:46dvh}.watch:not(.opened){opacity:0;pointer-events:none;transform:translateY(calc(100% + 70px))}.panel{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;height:60dvh;transition:transform .4s cubic-bezier(.2,.85,.2,1),height .3s;top:auto;bottom:0;left:0;right:0;transform:translateY(102%)}.panel.tall{height:91dvh}.panel.peek{height:calc(74px + var(--safe-b))}.panel.dragging{transition:transform .4s cubic-bezier(.2,.85,.2,1)}.panel{overflow:clip}.panel-head,.panel-foot{touch-action:none}.panel-head .tabs{touch-action:pan-x}.panel.peek .panel-head{cursor:pointer}.panel.peek .kicker{display:none}.panel.peek .panel-head h2,.panel.peek .motto,.panel.peek .tabs{visibility:hidden}.panel.peek .peek-name{text-align:center;min-width:0;font-family:var(--font-display);font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;flex:1;display:block;overflow:hidden}.panel-head{padding:7px 14px 0}.handle{width:100%;height:16px;margin-bottom:2px;display:block;position:relative}.handle:after{content:"";background:var(--line);border-radius:5px;width:44px;height:5px;margin-left:-22px;position:absolute;top:5px;left:50%}.panel-head h2{font-size:var(--fs-xl);margin-top:2px}.panel-head .motto{font-size:var(--fs-xs)}.panel-body{padding:13px 14px calc(16px + var(--safe-b))}.grid-photos{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr;gap:18px}.footer-points{grid-template-columns:1fr}.footer-links{flex-flow:wrap;gap:8px}.footer-links a,.footer-links button{background:var(--paper);box-shadow:var(--shadow-rest);border-radius:99px;padding:6px 13px}.footer-bottom{text-align:center;flex-direction:column}.footer-dot{display:none}.footer-school{display:block}.listview{padding-top:68px}.tourbar{bottom:calc(58px + var(--safe-b));padding:10px 14px}.walkbar{bottom:calc(58px + var(--safe-b));flex-wrap:wrap;gap:6px;padding:8px 12px}.walkbar .txt{flex:100%}.tourbar p{font-size:var(--fs-sm)}.toast{font-size:var(--fs-sm);top:64px}}@media (min-width:861px){.mob-only{display:none!important}.watch.shut{opacity:0;pointer-events:none;transform:translate(calc(100% + 24px))}}@media (max-width:860px){.desk-only{display:none!important}}@media (prefers-reduced-motion:reduce){.loader-card img,.watch-head .pulse{animation:none}.panel,.watch{transition:none}}.update-card{z-index:60;left:50%;bottom:calc(78px + var(--safe-b));grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:min(520px,100vw - 28px);padding:14px 16px;animation:.35s cubic-bezier(.2,.85,.2,1) update-in;display:grid;position:fixed;transform:translate(-50%)}.update-card img{border-radius:50%}.update-card strong{font-family:var(--font-display);font-size:var(--fs-md);display:block}.update-card p{font-size:var(--fs-xs);color:var(--ink-2);line-height:1.45}.update-ctl{z-index:1;flex-direction:column;align-items:stretch;gap:4px;display:flex;position:relative}.update-ctl .cta{justify-content:center;padding:8px 15px}.update-ctl .cta:disabled{opacity:.7;cursor:wait}.update-ctl [data-update=later]{font-size:var(--fs-xs);color:var(--ink-2);padding:3px 8px}@keyframes update-in{0%{opacity:0;transform:translate(-50%,14px)}}@media (prefers-reduced-motion:reduce){.update-card{animation:none}}@media (max-width:560px){.update-card{bottom:calc(66px + var(--safe-b));grid-template-columns:auto 1fr}.update-ctl{flex-direction:row-reverse;grid-column:1/-1;justify-content:flex-start;align-items:center}.update-ctl .cta{flex:1}}.hippo-card{z-index:66;cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:12px;width:min(430px,100vw - 24px);padding:13px 16px;animation:.55s cubic-bezier(.2,1.5,.4,1) hippo-in;display:grid;position:fixed;top:96px;left:50%;transform:translate(-50%)}.hippo-card .hippo-icon{width:74px;height:74px;animation:.9s ease-in-out .3s 2 hippo-wiggle}.hippo-text{z-index:1;min-width:0;position:relative}.hippo-text small{font-size:var(--fs-xs);color:var(--koi-deep);font-weight:700;display:block}.hippo-text strong{font-family:var(--font-display);font-size:var(--fs-lg);line-height:1.25;display:block}.hippo-text p{font-size:var(--fs-sm);color:var(--ink-2);margin-top:1px;line-height:1.45}.hippo-text span{font-size:var(--fs-xs);color:var(--ink-3);margin-top:3px;display:block}.pips{gap:4px;margin-top:6px;display:flex}.pips i{background:var(--paper-3);border-radius:4px;flex:1;max-width:22px;height:7px}.pips i.on{background:var(--gold)}.pips i.new{animation:.6s cubic-bezier(.2,1.7,.4,1) .35s backwards pip-pop}.hippo-fly{z-index:67;font-family:var(--font-display);color:var(--gold);-webkit-text-stroke:1px #fff;text-shadow:0 2px 6px #3c230a73;pointer-events:none;font-size:1.7rem;position:fixed;top:0;left:0}.hintcard.bump{animation:.6s cubic-bezier(.2,1.6,.4,1) hint-bump}.hippo-finale{z-index:80;background:#281a0a47;place-items:center;padding:16px;animation:.4s fade-in;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.finale-card{text-align:center;width:min(430px,100%);padding:26px 20px 20px;animation:.7s cubic-bezier(.2,1.4,.4,1) hippo-in;overflow:hidden}.finale-card h2{font-family:var(--font-display);font-size:var(--fs-xl);margin-top:10px;position:relative}.finale-card p{color:var(--ink-2);margin-top:4px;line-height:1.6;position:relative}.finale-card .btn-row{z-index:1;position:relative}.finale-rays{background:repeating-conic-gradient(#d99a2421 0 12deg, transparent 12deg 24deg);border-radius:50%;width:640px;height:640px;margin:-320px 0 0 -320px;animation:18s linear infinite rays;position:absolute;top:122px;left:50%}.finale-ring{width:200px;height:200px;margin:0 auto;position:relative}.finale-ring span{width:40px;height:40px;transform:rotate(calc(var(--i) * 30deg)) translateY(-80px) rotate(calc(var(--i) * -30deg));margin:-20px;position:absolute;top:50%;left:50%}.finale-ring .hippo-icon{width:40px;height:40px;animation:hippo-in .5s cubic-bezier(.2, 1.7, .4, 1) calc(var(--i) * 70ms + .3s) backwards}.finale-badge{background:linear-gradient(145deg, #f5c542, var(--gold));color:#fff;width:92px;height:92px;font-family:var(--font-display);font-size:var(--fs-md);border-radius:50%;place-items:center;margin:-46px;animation:2.4s ease-in-out infinite badge;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 0 0 5px #fff8,0 8px 18px -6px #5a370a99}.finale-badge.m{background:linear-gradient(145deg,#a46bc0,#6a3480)}.hippo-title{font-family:var(--font-display);font-size:var(--fs-md);margin-top:16px}.hippo-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:8px;display:grid}.hippo-chip{border-radius:var(--r-sm);background:var(--paper-2);font-size:var(--fs-xs);color:var(--ink-3);justify-items:center;gap:2px;padding:8px 4px;line-height:1.3;display:grid}.hippo-chip strong{font-weight:500}.hippo-chip .hippo-icon{width:44px;height:44px}.hippo-chip i{background:var(--paper-3);border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.3rem;font-style:normal;font-weight:700;display:grid}.hippo-chip.on{background:color-mix(in srgb, var(--gold) 16%, #fff);color:var(--ink)}@keyframes hippo-in{0%{opacity:0;scale:.5}}@keyframes hippo-wiggle{25%{rotate:-9deg}75%{rotate:9deg}}@keyframes pip-pop{0%{scale:0}}@keyframes hint-bump{40%{scale:1.1}}@keyframes fade-in{0%{opacity:0}}@keyframes rays{to{rotate:360deg}}@keyframes badge{50%{scale:1.07}}@media (max-width:860px){.hippo-card{top:66px}.hippo-card .hippo-icon{width:60px;height:60px}.badges button{width:calc(50% - 7px);max-width:190px}}@media (prefers-reduced-motion:reduce){.badges button{transition:none}.hippo-card,.hippo-card .hippo-icon,.pips i.new,.hintcard.bump,.hippo-finale,.finale-card,.finale-rays,.finale-ring .hippo-icon,.finale-badge,.cert-tier.go{animation:none}}.cert-tiers{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.cert-tier{background:var(--paper-3);color:var(--ink-3);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;display:flex}.cert-tier strong{font-family:var(--font-display);font-size:var(--fs-lg)}.cert-tier span{font-size:var(--fs-xs)}.cert-tier b{font-size:var(--fs-sm);margin-top:4px}.cert-tier.on{background:var(--c);color:#fff;box-shadow:var(--shadow-rest);cursor:pointer}.cert-tier.on:hover{transform:translateY(-2px)}.cert-tier small{opacity:.85;font-size:.75rem;font-weight:700}.cert-tier.lock{cursor:pointer;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--c) 45%, transparent)}.cert-tier.go{animation:2s ease-in-out infinite tier-glow}.cert-tier.soon{color:#3e5b7a;background:repeating-linear-gradient(135deg,#e6eef7 0 12px,#dbe6f2 12px 24px);box-shadow:inset 0 0 0 2px #b9cbe0}@keyframes tier-glow{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 35%, transparent), var(--shadow-rest)}}.cert-form label{margin-top:10px;font-weight:700;display:block}.cert-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cert-form input,.cert-form select{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line,#cdbfa7);background:#fff;border-radius:8px;margin-top:4px;padding:10px 12px;font-size:16px;font-weight:400;display:block}.cert-err{color:#b23a2a;margin-top:8px;font-weight:700}.cert-who{font-family:var(--font-display);font-size:var(--fs-xl);text-align:center;margin:6px 0}.cert-view{place-items:center;min-height:200px;display:grid}.cert-view img{width:auto;max-width:100%;height:auto;max-height:max(240px,100dvh - 260px);box-shadow:var(--shadow-rest);border-radius:6px}.cert-tip{text-align:center;font-size:var(--fs-sm);color:var(--ink-2);margin-top:10px}.cta[hidden]{display:none}.handover{background:color-mix(in srgb, var(--koi) 12%, #fff);border:2px solid var(--koi);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.handover p{margin:0;font-weight:700;line-height:1.5}.handover .cta{flex:none}.handover.quiet{background:#f6f1e8;border:1px dashed #c9b89c;padding:10px 14px}.handover.quiet p{font-weight:600;font-size:var(--fs-sm);color:#6b5a44}.cta.plain{color:var(--koi);box-shadow:none;background:#fff;border:2px solid;padding:7px 14px}.cta.go-on{font-size:1.04em}#certPrint{display:none}@media print{@page{size:A4 landscape;margin:0}html,body{background:#fff;height:auto;overflow:visible}body>:not(#certPrint){display:none!important}#certPrint{width:100%;height:auto;display:block}}.mission{counter-reset:step;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.mission li{counter-increment:step;background:#fff8;border-radius:10px;padding:9px 12px 9px 50px;line-height:1.55;position:relative}.mission li:before{content:counter(step);background:var(--koi);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:700;display:grid;position:absolute;top:10px;left:12px}.mission strong{font-family:var(--font-display);font-size:var(--fs-lg);display:block}.mission span{font-size:var(--fs-sm);color:var(--ink-2);display:block}.mission-now{text-align:center;margin-top:12px;font-weight:700}.mission-now b{color:var(--koi);font-size:var(--fs-lg)}.stage3{background:#f2ecf4;border:2px solid #7a3f8f;border-radius:12px;align-items:center;gap:12px;margin-top:10px;padding:11px 14px;line-height:1.55;display:flex}.stage3 strong{font-family:var(--font-display);font-size:var(--fs-lg);color:#6a3480;display:block}.stage3 span{font-size:var(--fs-sm);color:var(--ink-2);display:block}.stage3 b{color:#6a3480}.stage3 .cta{flex:none}.stage4{color:#3e5b7a;font-size:var(--fs-sm);text-align:center;background:#e9f0f8;border-radius:10px;margin-top:8px;padding:7px 12px;font-weight:700}.modal.peek{background:#261c101f}@media (min-width:861px){.modal.peek{place-items:start end;padding:92px 14px 14px}.modal.peek .dialog{width:min(500px,42vw);max-height:calc(100dvh - 106px)}}@media (max-width:860px){.modal.peek{align-items:end;padding:8px}.modal.peek .dialog{max-height:66dvh}}.ch-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.ch-lv{background:var(--c);color:#fff;font-size:var(--fs-sm);border-radius:99px;padding:3px 11px;font-weight:700}.ch-life{color:#d8cbb6;gap:3px;font-size:1.15rem;display:flex}.ch-life i{font-style:normal}.ch-life i.on{color:var(--koi)}.ch-hippo{background:#fff8;border-radius:12px;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;display:flex}.ch-hippo .hippo-icon{flex:none;width:52px;height:52px}.ch-hippo p{margin:0;line-height:1.5}.ch-hippo b{color:#b95b76;display:block}.ch-ctx{border-left:4px solid var(--gold);background:#fff6;margin-top:10px;padding:8px 12px}.dialog-body.ch .quiz-q{margin-top:10px}.ch-opt.right{background:#dcefd5;font-weight:700;box-shadow:inset 0 0 0 2px #4f8f3a}.ch-opt.wrong{background:#f8dcd6;box-shadow:inset 0 0 0 2px #b23a2a}.ch-opt.dim{opacity:.55}.ch-opt:disabled{cursor:default;color:inherit}.ch-fb{border-radius:12px;margin-top:12px;padding:12px 14px}.ch-fb.ok{background:#e6f3df}.ch-fb.no{background:#fbe7e2}.ch-fb strong{font-family:var(--font-display);font-size:var(--fs-lg);display:block}.ch-fb.ok strong{color:#3e7a2c}.ch-fb.no strong{color:#a5321f}.ch-fb p{color:var(--ink-2);margin:4px 0 10px}.ch-fb .cta{margin-top:4px}.ch-pips{gap:4px;margin-top:14px;display:flex}.ch-pips i{background:color-mix(in srgb, var(--c) 22%, #e9e0d0);border-radius:4px;flex:1;height:8px}.ch-pips i.ok{background:var(--c)}.ch-pips i.no{background:repeating-linear-gradient(135deg,#b23a2a 0 3px,#f2cfc7 3px 6px)}.ch-rules{margin:10px 0 0;padding-left:1.3em;line-height:1.7}.ch-band{text-align:center;margin-top:12px;font-weight:700}.ch-band b{color:#6a3480}.ch-grades{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.ch-grades .cta{justify-content:center}.ch-need{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.ch-need li{background:#fff8;border-radius:10px;justify-content:space-between;gap:10px;padding:9px 12px 9px 40px;display:flex;position:relative}.ch-need li:before{content:"";border-radius:50%;width:18px;height:18px;margin-top:-9px;position:absolute;top:50%;left:12px;box-shadow:inset 0 0 0 2px #b9a98e}.ch-need li.ok:before{content:"✓";background:var(--moss);color:#fff;box-shadow:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.ch-need span{color:var(--ink-3);font-weight:700}.ch-end{text-align:center}@media (max-width:480px){.handover,.stage3{text-align:center;flex-direction:column;align-items:stretch}.handover .cta,.stage3 .cta{justify-content:center}}.storm-chip{z-index:21;left:50%;top:calc(84px + var(--safe-t,0px));color:#fff;box-shadow:var(--shadow-float);white-space:nowrap;background:#1e2a3a;border:2px solid #ffc94d;border-radius:99px;align-items:center;gap:10px;padding:8px 16px;animation:2s ease-in-out infinite storm-pulse;display:flex;position:fixed;transform:translate(-50%)}.storm-chip[hidden]{display:none}.storm-chip b{font-family:var(--font-display);font-size:var(--fs-base);color:#ffd76a}.storm-chip span{font-size:var(--fs-xs);opacity:.85}@keyframes storm-pulse{50%{box-shadow:0 0 0 6px #ffc94d47}}.storm-now{color:#fff;background:#1e2a3a;border-radius:10px;padding:10px 12px;font-weight:700}.storm-tips{margin:12px 0 0;padding-left:22px;line-height:1.8}@media (prefers-reduced-motion:reduce){.storm-chip{animation:none}}.qr-box{text-align:center}.qr-box img{width:min(320px,100%,100dvh - 330px);min-width:200px;height:auto;box-shadow:var(--shadow-rest);background:#fff;border-radius:12px;margin:0 auto;display:block}.qr-name{font-family:var(--font-display);font-size:var(--fs-xl);margin-top:10px;font-weight:700}.qr-tip{color:var(--ink-2);font-size:var(--fs-sm)}.qr-pick{align-items:center;gap:8px;margin-top:10px;font-weight:700;display:inline-flex}.qr-pick select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:16px}.dialog.qr-big{width:min(960px,100%)}.dialog.qr-big .qr-box img{width:min(100%,100dvh - 210px);max-width:760px}.dialog.qr-big .qr-tip,.dialog.qr-big .qr-pick{display:none}
