:root{--background:#100c12;--panel:#18121b;--ink:#fff3df;--muted:#b8a99a;--border:#fff3df1f;--amber:#ffb04d;--rose:#ff5c81;--plum:#9b6bff;--focus:#f2d27a;color:var(--ink);background:linear-gradient(135deg, #ffb04d14, transparent 34%), linear-gradient(225deg, #9b6bff14, transparent 32%), var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{background:var(--background)}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea{font-family:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.app-shell{min-height:100svh;padding:22px}.topbar,.tab-bar,.session-grid,.tips-grid{max-width:1460px;margin:0 auto}.topbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.eyebrow{color:var(--amber);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:820;display:block}.topbar h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(38px,6vw,72px);font-weight:880;line-height:.9}.topbar p{color:var(--muted);max-width:640px;margin:12px 0 0;font-size:15px}.tab-bar{background:#fff7e10b;border:1px solid #fff7e114;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;padding:6px;display:grid}.tab-bar button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;min-height:42px;font-size:14px;font-weight:820}.tab-bar button.selected{color:var(--amber);background:#ffb04d24;border-color:#ffb04d47}.session-grid,.tips-grid{gap:14px;display:grid}.session-grid{grid-template-columns:minmax(520px,1.35fr) minmax(360px,.78fr);grid-template-areas:"timer event"}.tips-grid{grid-template-columns:minmax(300px,.88fr) minmax(340px,1fr) minmax(300px,.88fr);grid-template-areas:"technique route history""lab lab history""week week week"}.timer-panel{grid-area:timer}.reinforcement-panel{grid-area:event}.event-panel{align-content:start;display:grid}.route-panel{grid-area:route}.technique-panel{grid-area:technique}.lab-panel{grid-area:lab}.history-panel{grid-area:history}.week-panel{grid-area:week}.panel,.stat-card{background:linear-gradient(180deg, #fff7e111, #fff7e106), var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 22px 70px #00000052}.panel{min-width:0;padding:16px}.panel-heading{color:var(--rose);justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.panel-heading h2{color:var(--ink);letter-spacing:0;margin:0;font-size:18px;font-weight:800;line-height:1.1}.panel-heading p,.small-copy{color:var(--muted);margin:5px 0 0;font-size:13px}.timer-face{text-align:center;background:linear-gradient(135deg,#ffb04d29,#ff5e8114),#0000002e;border:1px solid #ffd68f2e;border-radius:10px;align-items:center;min-height:260px;padding:24px;display:grid}.timer-face strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:clamp(66px,11vw,116px);font-weight:900;line-height:.95}.timer-face span{color:var(--muted);margin-top:-22px;font-size:14px}.mode-switch{background:#fff7e10b;border:1px solid #fff7e114;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px;padding:6px;display:grid}.mode-switch button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;min-height:38px;font-size:13px;font-weight:820}.mode-switch button.selected{color:var(--amber);background:#ffb04d24;border-color:#ffb04d4d}.field-label{color:var(--muted);gap:7px;margin-top:12px;font-size:12px;font-weight:760;display:grid}input,textarea{border:1px solid var(--border);color:var(--ink);font:inherit;letter-spacing:0;background:#0b080cdb;border-radius:9px;outline:none;width:100%;min-height:42px;padding:0 12px;font-size:14px}textarea{resize:vertical;min-height:132px;padding:10px 12px;line-height:1.45}input:focus,textarea:focus{border-color:#ffbe5cc7;box-shadow:0 0 0 3px #ffbe5c24}.timer-controls{background:#00000021;border:1px solid #fff7e114;border-radius:10px;gap:10px;margin:13px 0;padding:10px;display:grid}.duration-grid,.button-row,.custom-duration{gap:9px;display:grid}.duration-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.custom-duration{grid-template-columns:auto minmax(110px,1fr) auto auto;align-items:end}.button-row{grid-template-columns:1fr 1fr}.duration-grid button,.primary-action,.secondary-action,.quiet-button,.stepper-button,.set-time-button,.technique-list button{cursor:pointer;font:inherit;letter-spacing:0;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.duration-grid button,.quiet-button,.stepper-button,.set-time-button{border:1px solid var(--border);color:var(--ink);background:#fff7e111;min-height:38px}.duration-grid button.selected{color:var(--amber);background:#ffb04d29;border-color:#ffb04d6b}.primary-action,.secondary-action{border:0;gap:8px;min-height:46px;padding:0 14px;font-size:14px;font-weight:820}.primary-action{background:var(--amber);color:#160d05}.secondary-action{border:1px solid var(--border);color:var(--ink);background:#fff7e116}.quiet-button{gap:8px;padding:0 12px;font-size:13px;font-weight:740}.stepper-button{min-width:42px;font-size:13px;font-weight:820}.set-time-button{color:var(--amber);padding:0 12px;font-size:13px;font-weight:820}.stat-card{min-height:88px;padding:13px}.stat-card strong{color:var(--ink);font-size:32px;line-height:1;display:block}.stat-card span{color:var(--muted);font-size:12px}.event-actions{margin:18px 0 14px;display:grid}.event-button{min-height:64px;font-size:16px}.event-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.route-image{border:1px solid var(--border);border-radius:9px;width:100%;height:auto;margin-bottom:12px;display:block}.route-list{gap:8px;display:grid}.route-list div{background:#fff7e10b;border:1px solid #fff7e114;border-radius:9px;grid-template-columns:28px minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:8px;display:grid}.route-list span{color:var(--amber);background:#ffb04d24;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:850;display:inline-flex}.route-list strong,.route-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-list strong{color:var(--ink);font-size:13px}.route-list small{color:var(--muted);font-size:12px}.technique-list{gap:8px;display:grid}.technique-list button{color:var(--ink);text-align:left;background:#fff7e10b;border:1px solid #fff7e114;justify-content:start;gap:10px;min-height:66px;padding:10px}.technique-list button>span{color:var(--rose)}.technique-list button>div{flex:1;min-width:0}.technique-list strong,.technique-list small{display:block}.technique-list strong{color:var(--ink);font-size:13px}.technique-list small{color:var(--muted);font-size:12px;line-height:1.35}.technique-list button.selected{background:#ff5c811f;border-color:#ff5c8152}.lab-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.output-card{background:#fff7e10b;border:1px solid #fff7e114;border-radius:9px;margin-top:14px;padding:14px}.output-card strong{color:var(--ink);margin-bottom:8px;font-size:14px;display:block}.output-card p,.output-card small{color:var(--muted);margin:0}.output-card p+p{margin-top:7px}.output-card span{color:var(--amber)}.checklist{gap:8px;display:grid}.checklist span{color:var(--ink);background:#ffb04d17;border:1px solid #ffb04d2e;border-radius:9px;padding:8px 10px}.activity-list{gap:8px;max-height:340px;display:grid;overflow:auto}.activity-list article,.empty-state{background:#fff7e10b;border:1px solid #fff7e114;border-radius:9px;padding:11px}.activity-list article{gap:3px;display:grid}.activity-list span,.activity-list small,.empty-state{color:var(--muted);font-size:12px}.activity-list strong{color:var(--ink);font-size:14px}.bar-chart{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:10px;min-height:180px;display:grid}.bar-chart div{align-items:center;gap:8px;height:100%;display:grid}.bar-chart span{background:linear-gradient(180deg, var(--amber), #ffb04d3d);border-radius:999px 999px 4px 4px;align-self:end;min-height:8px;display:block}.bar-chart small{color:var(--muted);text-align:center;font-size:11px}.reward-overlay{z-index:10;background:radial-gradient(circle at 50% 45%,#ffb04d2e,#0000 30%),#000000b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.reward-card{background:radial-gradient(circle at 50% -10%, #ffb04d3d, transparent 38%), linear-gradient(135deg, #ffb04d29, #ff5c811a), var(--panel);text-align:center;border:1px solid #ffb04d57;border-radius:14px;gap:14px;width:100%;max-width:450px;padding:28px;animation:.38s cubic-bezier(.2,.8,.2,1) reward-pop;display:grid;box-shadow:inset 0 0 0 1px #fff7e114,0 30px 120px #00000094,0 0 90px #ffb04d2e}.reward-burst{color:#160d05;background:linear-gradient(135deg,#ffb04df2,#ff5c81d1);border-radius:999px;justify-content:center;justify-self:center;align-items:center;width:72px;height:72px;display:inline-flex;box-shadow:0 0 40px #ffb04d5c}.reward-kicker{color:var(--amber);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:860}.reward-card h2{color:var(--ink);margin:0;font-size:clamp(28px,5vw,42px);line-height:1}.reward-card p{color:var(--muted);margin:0}.reward-claim{justify-self:stretch;margin-top:4px}@keyframes reward-pop{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1180px){.session-grid{grid-template-columns:1fr;grid-template-areas:"timer""event"}.tips-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"technique route""lab lab""history week"}}@media (width<=760px){.app-shell{padding:14px}.topbar{flex-direction:column;align-items:stretch}.tab-bar,.session-grid,.tips-grid,.lab-grid,.button-row,.event-stats,.custom-duration{grid-template-columns:1fr}.session-grid{grid-template-areas:"timer""event"}.tips-grid{grid-template-areas:"technique""route""lab""history""week"}.duration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
