:root{--cream: #F2EEE4;--cream-2: #EAE4D6;--paper: #FBF9F3;--paper-2: #FFFFFF;--ink: #211F1A;--ink-soft: #4F4A40;--muted: #8B857859;--muted-text: #8C8576;--line: rgba(33,31,26,.1);--line-2: rgba(33,31,26,.16);--terra: #BD5230;--terra-ink: #98401F;--terra-soft: #F4E2D6;--terra-tint: #FAEDE4;--color-primary: #BD5230;--green: #2C5647;--green-ink: #1E3E33;--green-soft: #DBE6DF;--green-tint: #E9F0EB;--gold: #A9802F;--gold-soft: #EFE3CB;--amber: #B8772A;--serif: "Newsreader", Georgia, serif;--sans: "Hanken Grotesque", -apple-system, system-ui, sans-serif;--mono: "Space Mono", ui-monospace, monospace;--r-sm: 12px;--r: 18px;--r-lg: 26px;--r-xl: 32px;--shadow-sm: 0 1px 2px rgba(33,31,26,.05), 0 2px 8px rgba(33,31,26,.04);--shadow: 0 2px 6px rgba(33,31,26,.06), 0 10px 28px rgba(33,31,26,.07);--shadow-lg: 0 8px 20px rgba(33,31,26,.1), 0 24px 60px rgba(33,31,26,.14);--top-inset: max(env(safe-area-inset-top, 0px), 22px);--bottom-inset: max(env(safe-area-inset-bottom, 0px), 16px)}*{box-sizing:border-box}.jdh{height:100%;position:relative;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;letter-spacing:-.01em;display:flex;flex-direction:column;overflow:hidden}.jdh-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-top:var(--top-inset)}.jdh-scroll::-webkit-scrollbar{width:0}.pad{padding-left:20px;padding-right:20px}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.between{justify-content:space-between}.grow{flex:1}.wrap{flex-wrap:wrap}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-text);font-weight:700}.display{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.02em;color:var(--ink)}.serif{font-family:var(--serif)}.mono{font-family:var(--mono)}.h1{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.04;letter-spacing:-.02em}.h2{font-family:var(--serif);font-weight:500;font-size:25px;line-height:1.08;letter-spacing:-.015em}.h3{font-size:18px;font-weight:650;letter-spacing:-.015em}.body{font-size:15px;line-height:1.5;color:var(--ink-soft)}.small{font-size:13px;line-height:1.45;color:var(--muted-text)}.tabular{font-variant-numeric:tabular-nums}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-flat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}.btn{font-family:var(--sans);font-weight:650;font-size:15px;letter-spacing:-.01em;border:none;border-radius:999px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .12s ease,filter .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn-primary{background:var(--terra);color:#fff;box-shadow:0 2px 10px #bd523047}.btn-primary:active{filter:brightness(.96)}.btn-green{background:var(--green);color:#fff;box-shadow:0 2px 10px #2c56473d}.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line-2)}.btn-soft{background:var(--terra-tint);color:var(--terra-ink)}.btn-block{width:100%}.btn-lg{padding:16px 22px;font-size:16px}.btn-sm{padding:9px 14px;font-size:13px}.chip{font-size:13px;font-weight:600;padding:7px 13px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--ink-soft);white-space:nowrap;cursor:pointer;transition:all .14s ease;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;gap:6px}.chip:active{transform:scale(.96)}.chip.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}.tag{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:4px 8px;border-radius:7px;background:var(--cream-2);color:var(--ink-soft);white-space:nowrap}.tag.green{background:var(--green-tint);color:var(--green-ink)}.tag.terra{background:var(--terra-tint);color:var(--terra-ink)}.tag.gold{background:var(--gold-soft);color:var(--gold)}.tag.amber{background:#f6e8d4;color:var(--amber)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:650;padding:5px 11px 5px 9px;border-radius:999px}.pill .dot{width:7px;height:7px;border-radius:999px}.pill.live{background:var(--green-tint);color:var(--green-ink)}.pill.live .dot{background:var(--green);animation:pulse 2s infinite}.pill.break{background:var(--terra-tint);color:var(--terra-ink)}.pill.break .dot{background:var(--terra)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.av{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:13px;color:#fff;flex-shrink:0;border:2px solid var(--paper)}.av-stack{display:flex}.av-stack .av:not(:first-child){margin-left:-10px}.tabbar{position:relative;display:flex;padding:8px 14px var(--bottom-inset);background:#fbf9f3db;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-top:1px solid var(--line)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 4px;color:var(--muted-text);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.tab .tab-ico{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.tab:active .tab-ico{transform:scale(.85)}.tab.on{color:var(--terra)}.tab-label{font-size:10.5px;font-weight:650;letter-spacing:.01em}.screen-head{padding:6px 20px 14px}.glist{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.grow-row{display:flex;align-items:center;gap:13px;padding:15px 16px;cursor:pointer;border-bottom:1px solid var(--line);-webkit-tap-highlight-color:transparent}.grow-row:last-child{border-bottom:none}.grow-row:active{background:var(--cream)}.ph{background-color:var(--cream-2);background-image:repeating-linear-gradient(-45deg,rgba(33,31,26,.045) 0 8px,transparent 8px 16px);display:flex;align-items:flex-end;justify-content:flex-start;color:var(--muted-text);position:relative;overflow:hidden}.ph .ph-label{font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:6px 8px;opacity:.75}.hr{height:1px;background:var(--line);border:0;margin:0}.overlay{position:absolute;inset:0;z-index:90;background:#211f1a57;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;justify-content:flex-end;animation:fade .2s ease}.overlay.full{justify-content:stretch;background:var(--cream);-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{background:var(--paper);border-radius:28px 28px 0 0;max-height:92%;display:flex;flex-direction:column;animation:slideup .32s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-lg)}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grab{width:38px;height:5px;border-radius:99px;background:var(--line-2);margin:10px auto 4px}.panel{position:absolute;inset:0;z-index:95;background:var(--cream);display:flex;flex-direction:column;animation:slideleft .3s cubic-bezier(.2,.8,.2,1)}@keyframes slideleft{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-head{display:flex;align-items:center;gap:12px;padding:calc(var(--top-inset) + 4px) 16px 12px}.icon-btn{width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.icon-btn:active{transform:scale(.94)}.rise{animation:rise .55s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{0%{transform:translateY(18px)}to{transform:none}}@media(prefers-reduced-motion:reduce){.rise,.qfade,.spark,.dot,.panel,.sheet{animation:none!important}*{transition-duration:.01ms!important}}.r1{animation-delay:.04s}.r2{animation-delay:.1s}.r3{animation-delay:.16s}.r4{animation-delay:.22s}.r5{animation-delay:.28s}.r6{animation-delay:.34s}.ring-wrap{position:relative;display:inline-flex}.ring-wrap svg{transform:rotate(-90deg)}.seg{display:flex;background:var(--cream-2);border-radius:999px;padding:3px;gap:2px}.seg button{flex:1;border:none;background:transparent;cursor:pointer;font-family:var(--sans);font-weight:650;font-size:13px;color:var(--ink-soft);padding:8px 10px;border-radius:999px;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.seg button.on{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}.wgrid{display:grid;grid-template-rows:repeat(6,1fr);gap:7px}.wrow{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.wtile{aspect-ratio:1;border-radius:10px;border:2px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:26px;text-transform:uppercase;background:var(--paper);color:var(--ink)}.wtile.filled{border-color:var(--ink-soft);animation:pop .12s ease}.wtile.correct{background:var(--green);border-color:var(--green);color:#fff}.wtile.present{background:var(--gold);border-color:var(--gold);color:#fff}.wtile.absent{background:#b8b1a2;border-color:#b8b1a2;color:#fff}@keyframes pop{0%{transform:scale(.9)}to{transform:scale(1)}}.kbd{display:flex;flex-direction:column;gap:7px}.kbd-row{display:flex;gap:5px;justify-content:center}.key{flex:1;min-width:0;height:50px;border-radius:8px;border:none;background:var(--cream-2);color:var(--ink);font-family:var(--sans);font-weight:650;font-size:15px;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}.key:active{transform:scale(.94)}.key.wide{flex:1.5;font-size:11px}.key.correct{background:var(--green);color:#fff}.key.present{background:var(--gold);color:#fff}.key.absent{background:#b8b1a2;color:#fff}.bar{height:8px;border-radius:99px;background:var(--cream-2);overflow:hidden}.bar>div{height:100%;border-radius:99px;transition:width .5s cubic-bezier(.2,.8,.2,1)}.ans{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px;border-radius:var(--r);background:var(--paper);border:1.5px solid var(--line-2);font-family:var(--sans);font-size:15.5px;font-weight:600;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .15s ease}.ans .key-badge{width:26px;height:26px;border-radius:8px;flex-shrink:0;background:var(--cream-2);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:13px;color:var(--ink-soft)}.ans:active{transform:scale(.99)}.ans.correct{background:var(--green-tint);border-color:var(--green);color:var(--green-ink)}.ans.correct .key-badge{background:var(--green);color:#fff}.ans.wrong{background:var(--terra-tint);border-color:var(--terra);color:var(--terra-ink)}.ans.wrong .key-badge{background:var(--terra);color:#fff}.ans.dim{opacity:.5}.wyr-opt{flex:1;border-radius:var(--r-lg);border:2px solid var(--line-2);background:var(--paper);padding:22px 18px;cursor:pointer;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:all .18s ease;text-align:left}.wyr-opt:active{transform:scale(.98)}.wyr-fill{position:absolute;inset:0;z-index:0;transition:width .7s cubic-bezier(.2,.8,.2,1)}.wyr-opt>*{position:relative;z-index:1}.qfade{animation:qfade .35s ease both}@keyframes qfade{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.spark{position:absolute;width:8px;height:8px;border-radius:2px}.numkey{height:58px;border-radius:16px;border:none;background:var(--paper);border:1px solid var(--line);font-family:var(--mono);font-weight:700;font-size:23px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;transition:transform .1s ease,background .12s ease}.numkey:active{transform:scale(.95);background:var(--cream)}.pin-dots{display:flex;gap:14px;justify-content:center}.pin-dot{width:16px;height:16px;border-radius:99px;border:2px solid var(--line-2);transition:all .15s ease}.pin-dot.on{background:var(--terra);border-color:var(--terra);transform:scale(1.05)}.stepper{display:flex;align-items:center;gap:0;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;background:var(--paper)}.stepper button{width:42px;height:42px;border:none;background:transparent;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.stepper button:active{background:var(--cream)}.stepper button:disabled{opacity:.3;cursor:default}.stepper .val{min-width:58px;text-align:center;font-family:var(--mono);font-weight:700;font-size:17px}.day-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.day-card.done{opacity:.62}.mini-row{display:flex;align-items:center;gap:11px;padding:11px 13px}.mini-ico{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.code-chip{font-family:var(--mono);font-weight:700;letter-spacing:.12em;font-size:30px;color:var(--ink);background:var(--cream);border:1.5px dashed var(--line-2);border-radius:var(--r);padding:18px;text-align:center}.japp-root{min-height:100dvh}.japp-landing{min-height:100dvh;display:grid;place-items:center;padding:clamp(20px,5vw,64px);background:radial-gradient(120% 90% at 50% 0%,#efe9dc,#e4decf 60%,#ddd6c5)}:root{--blue: #3E6B8C;--blue-tint: #E4ECF2;--side-w: 248px;--dock-w: 392px}.field{width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:var(--paper);font-family:var(--sans);font-size:15px;color:var(--ink);outline:none}.field:focus{border-color:var(--terra)}.label{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-text);display:block;margin-bottom:6px}.select-wrap{position:relative}.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer}.select-wrap .chev{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted-text);display:inline-flex}.console{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr) var(--dock-w);height:100%;background:var(--cream)}.side{background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.side::-webkit-scrollbar{width:0}.side-brand{display:flex;align-items:center;gap:10px;padding:20px 18px 14px}.side-mark{width:34px;height:34px;border-radius:10px;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.side-nav{display:flex;flex-direction:column;gap:2px;padding:8px 12px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:12px;cursor:pointer;color:var(--ink-soft);font-weight:600;font-size:14.5px;border:none;background:none;font-family:var(--sans);text-align:left;width:100%;-webkit-tap-highlight-color:transparent;transition:background .14s ease}.nav-item:hover{background:var(--cream)}.nav-item.on{background:var(--ink);color:var(--cream)}.nav-badge{margin-left:auto;font-family:var(--mono);font-size:11px;font-weight:700;background:var(--terra);color:#fff;border-radius:99px;padding:1px 7px}.nav-item.on .nav-badge{background:var(--cream);color:var(--ink)}.console-main{overflow-y:auto;padding:26px 30px 60px}.console-main::-webkit-scrollbar{width:8px}.console-main::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}.main-wrap{max-width:760px;margin:0 auto}.dock{background:linear-gradient(180deg,#e7e1d3,#ded7c6);border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;overflow:hidden;position:relative}.dock-label{position:absolute;top:16px;left:0;right:0;text-align:center}.dock-phone{width:340px;height:740px;max-height:calc(100% - 56px);background:var(--cream);border-radius:40px;overflow:hidden;position:relative;box-shadow:0 0 0 9px #1b1916,0 0 0 11px #2c2925,var(--shadow-lg)}.dock-phone .jdh-scroll{padding-top:30px}.dock-phone:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:104px;height:24px;background:#1b1916;border-radius:0 0 15px 15px;z-index:60}.section{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:18px}.section-title{font-family:var(--serif);font-size:20px;color:var(--ink)}.section-hint{font-size:13px;color:var(--muted-text);margin-top:5px;line-height:1.5}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px;position:relative;overflow:hidden}.stat-ico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.stat-num{font-family:var(--serif);font-size:34px;line-height:1;color:var(--ink)}.stat-lab{font-size:12.5px;color:var(--muted-text);margin-top:5px;font-weight:600}.roster-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--paper);margin-bottom:8px}.roster-row.open{border-color:var(--green);background:var(--green-tint)}.qa-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.qa{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:16px;border:1px solid var(--line);background:var(--paper);cursor:pointer;font-family:var(--sans);text-align:left;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,box-shadow .15s ease}.qa:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.qa-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.log-row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.log-row:last-child{border-bottom:none}.log-dot{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:99px;font-size:13.5px;font-weight:600;max-width:90%;text-align:center;z-index:200;box-shadow:var(--shadow-lg);animation:toastin .3s cubic-bezier(.2,.8,.2,1)}@keyframes toastin{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.console-topbar,.console-tabbar{display:none}@media(max-width:1180px){.console{grid-template-columns:var(--side-w) minmax(0,1fr)}.dock{display:none}}@media(max-width:760px){.console{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto}.side{display:none}.console-topbar{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.console-main{padding:18px 16px 92px}.main-wrap{max-width:560px}.console-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fbf9f3f0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:50}.console-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0;color:var(--muted-text);background:none;border:none;cursor:pointer;font-family:var(--sans);-webkit-tap-highlight-color:transparent}.console-tab.on{color:var(--terra)}.console-tab .ctab-label{font-size:10px;font-weight:650}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.qa-grid{grid-template-columns:1fr}.section{padding:16px}}.japp{position:relative;height:100dvh;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;letter-spacing:-.01em;display:flex;flex-direction:column;overflow:hidden}.japp-topbar{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;background:#fbf9f3eb;-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid var(--line)}.japp-side,.japp-head{display:none}.japp-main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.japp-main::-webkit-scrollbar{width:0}.japp-body{width:100%}.japp-tabbar{flex-shrink:0}.japp .jdh-scroll{overflow:visible;height:auto;flex:none;padding-top:0}.japp-status-mini{margin:6px 14px 12px;border-radius:16px;padding:14px;color:var(--cream);position:relative;overflow:hidden}.japp-status-mini.break{background:linear-gradient(150deg,#34604f,#2c5647 60%,#234a3c)}.japp-status-mini.session{background:linear-gradient(150deg,#2a2823,#211f1a)}.japp-acct{margin-top:auto;padding:12px 14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:11px}.japp-ch{display:flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);cursor:pointer;font-family:var(--sans);font-weight:600;font-size:13.5px;color:var(--ink);white-space:nowrap}.japp-ch:hover{background:var(--cream)}.japp-bell{position:relative;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);flex-shrink:0}.japp-bell .nb{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--terra);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--cream)}@media(min-width:900px){.japp{display:grid;grid-template-columns:250px minmax(0,1fr)}.japp-topbar,.japp-tabbar{display:none}.japp-side{display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--line);overflow-y:auto}.japp-side::-webkit-scrollbar{width:0}.japp-main{display:flex;flex-direction:column}.japp-main::-webkit-scrollbar{width:10px}.japp-main::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px}.japp-head{display:flex;align-items:center;gap:18px;position:sticky;top:0;z-index:15;padding:16px 28px;background:#f2eee4cc;-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--line)}.japp-head .japp-title{font-family:var(--serif);font-size:26px;line-height:1;letter-spacing:-.015em}.japp-body{max-width:1240px;margin:0 auto;padding:6px 10px 56px}}.bento{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.bento .b-span2,.bento .b-span3{grid-column:1 / -1}@media(min-width:900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bento .b-span2{grid-column:span 2}}@media(min-width:1200px){.bento{grid-template-columns:repeat(3,minmax(0,1fr))}.bento .b-span2{grid-column:span 2}.bento .b-span3{grid-column:span 3}}.bento-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.jhero{border-radius:var(--r-lg);padding:clamp(22px,4vw,32px);color:var(--cream);position:relative;overflow:hidden;box-shadow:var(--shadow);height:100%}.jhero.break{background:linear-gradient(150deg,#34604f,#2c5647 55%,#234a3c)}.jhero.session{background:linear-gradient(150deg,#2a2823,#211f1a 60%,#1a1814)}.qlink{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--paper);cursor:pointer;font-family:var(--sans);text-align:left;width:100%;transition:transform .12s ease,box-shadow .15s ease}.qlink:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.card-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.eat-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}@media(min-width:1200px){.eat-layout{grid-template-columns:240px minmax(0,1fr);gap:24px}}.filter-card{padding:0}@media(min-width:1200px){.filter-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;position:sticky;top:14px}}.filter-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.filter-chips::-webkit-scrollbar{height:0}@media(min-width:1200px){.filter-chips{flex-wrap:wrap;overflow-x:visible}}.filter-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;cursor:pointer}.plan-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}@media(min-width:1200px){.plan-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:24px}}.play-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}@media(min-width:1200px){.play-layout{grid-template-columns:minmax(0,1fr) 312px;gap:24px}.lounge-rail{order:2;position:sticky;top:14px;align-self:start}}.plan-detail-empty{display:none}@media(min-width:1200px){.plan-detail-col{position:sticky;top:14px;align-self:start;max-height:calc(100dvh - 28px)}.plan-detail-empty{display:flex}.japp .plan-detail-col .panel{position:static;inset:auto;transform:none;width:100%;height:auto;max-height:calc(100dvh - 28px);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);animation:none;overflow:hidden;display:flex;flex-direction:column}.plan-detail-col .panel-head{padding:16px 18px 12px}}.eat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .14s ease,box-shadow .18s ease}.eat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.play-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;cursor:pointer;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm);transition:transform .14s ease,box-shadow .18s ease;font-family:var(--sans);text-align:left}.play-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.plan-pick{text-align:left;cursor:pointer;font-family:var(--sans);padding:16px;border-radius:var(--r-lg);border:1.5px solid var(--line);background:var(--paper);display:flex;gap:13px;align-items:center;transition:all .14s ease;width:100%}.plan-pick:hover{border-color:var(--line-2)}.plan-pick.on{border-color:var(--terra);background:var(--terra-tint)}@media(min-width:900px){.japp .overlay{justify-content:center;align-items:center;padding:24px}.japp .sheet{border-radius:24px;max-width:560px;width:100%;max-height:84%;animation:modalin .28s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-lg)}.japp .sheet-grab{display:none}.japp .panel{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:460px;max-width:92%;height:80%;max-height:780px;border-radius:28px;box-shadow:var(--shadow-lg);animation:modalin .3s cubic-bezier(.2,.8,.2,1);overflow:hidden}.japp .panel-head{padding:18px 18px 12px}}@keyframes modalin{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}.bento>*,.card-grid>*{animation:cardin .42s cubic-bezier(.2,.8,.2,1) both}@keyframes cardin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.bento>*:nth-child(2),.card-grid>*:nth-child(2){animation-delay:.04s}.bento>*:nth-child(3),.card-grid>*:nth-child(3){animation-delay:.08s}.bento>*:nth-child(4),.card-grid>*:nth-child(4){animation-delay:.12s}.bento>*:nth-child(5),.card-grid>*:nth-child(5){animation-delay:.16s}.bento>*:nth-child(6),.card-grid>*:nth-child(6){animation-delay:.2s}.bento>*:nth-child(n+7),.card-grid>*:nth-child(n+7){animation-delay:.24s}.japp-bell{transition:background .15s ease,transform .12s ease}.japp-bell:hover{background:var(--cream)}.japp-bell:active{transform:scale(.93)}.japp-ch:active{transform:scale(.97)}.nav-item:active{transform:scale(.985)}.gavel-bang{animation:gavelbang .45s cubic-bezier(.34,1.56,.64,1)}@keyframes gavelbang{0%{transform:rotate(0)}28%{transform:rotate(-20deg) scale(1.1)}55%{transform:rotate(7deg)}to{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.bento>*,.card-grid>*,.gavel-bang{animation:none!important}}@media print{.console-tabbar,.console-topbar,.dock,.side{display:none!important}}
