:root{color:#e5e7eb;background:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(37,99,235,.28),transparent 32rem),linear-gradient(135deg,#0f172a,#111827 45%,#030712)}button,input,select{font:inherit}button{min-height:48px;border:0;border-radius:999px;padding:.85rem 1.1rem;color:#111827;background:#f97316;font-weight:800;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}input,select{width:100%;min-height:48px;border:1px solid rgba(148,163,184,.28);border-radius:16px;padding:.8rem .95rem;color:#f8fafc;background:#0f172ad1}label{display:grid;gap:.45rem;color:#cbd5e1;font-size:.92rem;font-weight:700}.app-shell{width:min(100%,1080px);margin:0 auto;padding:1rem}.hero-card,.panel{border:1px solid rgba(148,163,184,.22);border-radius:28px;background:#0f172ac2;box-shadow:0 24px 80px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card{padding:clamp(1.4rem,5vw,4rem);margin:1rem 0}.panel{padding:clamp(1rem,3vw,2rem);margin:1rem 0}.eyebrow{margin:0 0 .6rem;color:#93c5fd;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:13ch;margin-bottom:1rem;color:#f8fafc;font-size:clamp(2.4rem,13vw,5.6rem);line-height:.92;letter-spacing:-.08em}h2{color:#f8fafc;font-size:clamp(1.45rem,5vw,2.4rem);letter-spacing:-.04em}h3{margin-bottom:1rem;color:#f8fafc;font-size:1.25rem}.hero-copy{max-width:58ch;color:#cbd5e1;font-size:1.12rem;line-height:1.7}.status-row,.tag-row{display:flex;flex-wrap:wrap;gap:.6rem}.status-pill,.tag-row span{border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:.55rem .8rem;color:#e5e7eb;background:#0f172ac2;font-size:.86rem;font-weight:800}.status-pill.ok{border-color:#22c55e73;color:#bbf7d0}.status-pill.warning{border-color:#f9731699;color:#fed7aa}.section-heading{margin-bottom:1.2rem}.inline-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.grid-form{display:grid;gap:1rem}.grid-form button{width:100%}.ghost-button{border:1px solid rgba(148,163,184,.32);color:#e5e7eb;background:transparent}.empty-state{margin:0;color:#cbd5e1;line-height:1.7}.goal-list{display:grid;gap:1rem}.goal-card{border:1px solid rgba(148,163,184,.18);border-radius:24px;padding:1rem;background:#02061761}.goal-position{margin-bottom:.4rem;color:#93c5fd;font-size:.84rem;font-weight:900;text-transform:uppercase}dl{display:grid;gap:.8rem;margin:0 0 1rem}dt{color:#94a3b8;font-size:.78rem;font-weight:900;text-transform:uppercase}dd{margin:.25rem 0 0;color:#f8fafc}.stat-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.stat-badge{border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:.4rem .7rem;color:#e5e7eb;background:#0f172ac2;font-size:.8rem;font-weight:800}.stat-badge.headline{border-color:#60a5fa80;color:#bfdbfe}.stat-badge.good{border-color:#22c55e73;color:#bbf7d0}.stat-badge.bad{border-color:#f8717180;color:#fecaca}.stat-badge.warn{border-color:#f9731699;color:#fed7aa}.log-button{width:100%;margin-top:1rem}.logger{margin-top:1rem;display:grid;gap:.85rem;border:1px solid rgba(96,165,250,.35);border-radius:20px;padding:1rem;background:#0206178c}.logger-q{margin:0;color:#f8fafc;font-size:1.05rem;font-weight:800}.choice-row{display:flex;gap:.6rem}.choice-row.wrap{flex-wrap:wrap}.choice-row button{flex:1 1 auto}.choice-row.wrap button{flex:0 1 auto;text-transform:capitalize}.good-button{background:#22c55e}.bad-button{background:#f87171}.link-button{min-height:44px;padding:.4rem .6rem;color:#93c5fd;background:transparent;font-weight:700;justify-self:start}.summary-block{margin-top:1.2rem}.summary-list{display:grid;gap:1rem}.summary-row{border:1px solid rgba(148,163,184,.18);border-radius:20px;padding:1rem;background:#02061761}.summary-note{margin:.6rem 0 0;color:#cbd5e1;font-size:.9rem}.reflection{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(148,163,184,.16)}.reflection-hint{margin:0 0 .9rem;color:#94a3b8;font-size:.9rem}.process-list{display:grid;gap:.6rem}.process-q{display:flex;align-items:center;gap:.7rem;width:100%;border:1px solid rgba(148,163,184,.28);border-radius:16px;padding:.75rem .9rem;color:#e5e7eb;background:#02061780;font-weight:700;text-align:left}.process-q.on{border-color:#22c55e80;background:#22c55e1f;color:#bbf7d0}.process-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;border-radius:999px;border:1px solid rgba(148,163,184,.4);font-weight:900}.process-q.on .process-mark{border-color:#22c55e;background:#22c55e;color:#052e16}.process-result{margin:.9rem 0 0;color:#cbd5e1;font-weight:700}.process-result.good{color:#bbf7d0}.focus-card{border-color:#60a5fa59}.focus-next{margin:0 0 .8rem;color:#bfdbfe;font-weight:800}.focus-list{margin:0;padding-left:1.1rem;display:grid;gap:.5rem;color:#e5e7eb;line-height:1.5}.day-toggles{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.day-toggle{min-width:56px;border:1px solid rgba(148,163,184,.28);color:#e5e7eb;background:#02061780;font-weight:800}.day-toggle.on{border-color:#60a5fa99;background:#2563eb40;color:#bfdbfe}.time-control{max-width:12rem}.form-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.form-chip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-weight:900}.form-chip.win{color:#052e16;background:#22c55e}.form-chip.loss{color:#450a0a;background:#f87171}.form-note{margin-left:.4rem;color:#94a3b8;font-size:.85rem;font-weight:700}.promotion-list{display:grid;gap:.5rem;margin-top:1rem}.promotion-row{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(148,163,184,.16);border-radius:14px;padding:.55rem .7rem;background:#02061780}.promotion-belt{flex:1 1 auto;color:#f8fafc;font-weight:800;text-transform:capitalize}.promotion-date{color:#94a3b8;font-size:.85rem;font-weight:700}.belt-then{margin:.4rem 0 0;color:#bfdbfe;font-weight:700;text-transform:capitalize}.onboarding{border-color:#60a5fa66}.onboarding-steps{margin:0 0 1rem;padding-left:1.2rem;display:grid;gap:.55rem;color:#e5e7eb;line-height:1.5}.update-toast{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:.7rem;width:min(94%,420px);border:1px solid rgba(96,165,250,.5);border-radius:16px;padding:.7rem .9rem;color:#f8fafc;background:#0f172af5;box-shadow:0 18px 50px #00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:700}.auto-backup-toggle{margin-top:.7rem}.update-toast span{flex:1 1 auto}.update-toast button{min-height:40px;padding:.4rem .9rem}.game-map{width:100%;height:auto;display:block}.map-node{cursor:pointer}.map-node-label{fill:#0b1220;font-size:9px;font-weight:800;pointer-events:none;text-transform:capitalize}.map-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;color:#94a3b8;font-size:.85rem;font-weight:700}.map-legend span{display:inline-flex;align-items:center;gap:.4rem}.map-legend .dot{width:14px;height:4px;border-radius:999px}.map-legend .dot.works{background:#22c55e}.map-legend .dot.fails{background:#fb923c}.card-actions{display:flex;gap:1rem;margin-top:.9rem;padding-top:.6rem;border-top:1px solid rgba(148,163,184,.16)}.goal-card.archived{opacity:.85;border-style:dashed}.log-history{display:grid;gap:.5rem;margin-top:.8rem}.log-row{display:flex;align-items:center;gap:.6rem;border:1px solid rgba(148,163,184,.16);border-radius:14px;padding:.55rem .7rem;background:#02061780}.log-outcome{font-size:.82rem;font-weight:800}.log-outcome.succeeded{color:#bbf7d0}.log-outcome.attempted-failed{color:#fecaca}.log-outcome.not-attempted{color:#cbd5e1}.log-meta{flex:1 1 auto;color:#94a3b8;font-size:.82rem}.log-delete{min-height:44px;min-width:44px;padding:.3rem .6rem;border-radius:12px;color:#fecaca;background:#f8717124;font-weight:900}.log-edit-btn{min-height:44px;padding:.3rem .6rem}.log-edit{display:grid;gap:.7rem;border:1px solid rgba(96,165,250,.35);border-radius:16px;padding:.9rem;background:#0206178c}.chip-toggle{border:1px solid rgba(148,163,184,.28);color:#e5e7eb;background:#02061780;font-weight:800}.chip-toggle.on{border-color:#60a5fa99;background:#2563eb40;color:#bfdbfe}.data-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.visually-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-message{margin:.9rem 0 0;border-radius:14px;padding:.7rem .9rem;font-weight:700}.data-message.ok{border:1px solid rgba(34,197,94,.45);color:#bbf7d0;background:#22c55e1a}.data-message.error{border:1px solid rgba(248,113,113,.5);color:#fecaca;background:#f871711a}.back-button{margin:1rem 0 0;color:#e5e7eb;background:transparent;border:1px solid rgba(148,163,184,.32);font-weight:700}.detail-hero{padding:clamp(1.4rem,5vw,2.6rem)}.detail-move{max-width:none;margin-bottom:1rem;font-size:clamp(1.9rem,9vw,3.4rem);line-height:1}.detail-paths{margin-top:1.2rem}.full-width{width:100%}.detail-actions{display:grid;gap:.7rem}.detail-actions button{width:100%}.belt-list{display:grid;gap:.9rem}.belt-row{display:grid;gap:.45rem}.belt-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.belt-name{color:#f8fafc;font-weight:800;text-transform:capitalize}.belt-name.lowercase-off{text-transform:none}.belt-figure{display:flex;align-items:baseline;gap:.6rem;color:#bfdbfe;font-weight:800}.belt-count{color:#94a3b8;font-size:.8rem;font-weight:700}.belt-low{color:#fed7aa;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.belt-bar{height:10px;border-radius:999px;background:#94a3b82e;overflow:hidden}.belt-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#60a5fa,#22c55e)}.belt-bar-fill.failure{background:linear-gradient(90deg,#fb923c,#f87171)}.behaviour-line{margin:0;color:#e5e7eb;font-size:1.05rem;line-height:1.6}.stat-badge.streak{border-color:#f9731680;color:#fed7aa}.graduation-card{border:1px solid rgba(34,197,94,.5);border-radius:18px;padding:1rem;background:#22c55e1a}.graduation-headline{margin:0 0 .4rem;color:#bbf7d0;font-size:1.25rem;font-weight:900}.graduation-detail{margin:0 0 1rem;color:#e5e7eb;line-height:1.6}.graduation-progress{margin:0;color:#cbd5e1;font-size:1.02rem;line-height:1.6}.threshold-control{margin-top:1rem}.streak-display{display:flex;align-items:center;gap:1rem}.streak-number{color:#fb923c;font-size:clamp(2.6rem,12vw,3.6rem);font-weight:900;line-height:1;letter-spacing:-.04em}.streak-info{display:grid;gap:.25rem}.streak-label{margin:0;color:#f8fafc;font-weight:800}.streak-sub{margin:.6rem 0 0;color:#94a3b8;font-size:.9rem;line-height:1.5}.streak-info .streak-sub{margin:0}.avoidance-callout{margin:1rem 0 0;border:1px solid rgba(249,115,22,.5);border-radius:16px;padding:.9rem 1rem;color:#fed7aa;background:#f973161a;line-height:1.6}@media (min-width: 720px){.app-shell{padding:2rem}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-form button{align-self:end}.goal-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
