[hidden]{display:none!important}
:root{--ink:#17202a;--muted:#697586;--blue:#356ae6;--success:#2e9b63;--line:#dde3ea;--cold:#f1f4f7;--warm:#fff8ed;--orange:#e76f51;--gold:#ffb84d;--mono:"JetBrains Mono","IBM Plex Mono","Cascadia Code",Consolas,monospace;--sans:Inter,Manrope,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{background:var(--cold)}body{margin:0;color:var(--ink);font-family:var(--sans)}button{font:inherit}.app-shell{min-height:100svh;position:relative;overflow:hidden;background:var(--cold);transition:background 750ms ease}.app-shell.phase-greeting{background:var(--warm);overflow:auto}.ambient{position:fixed;border-radius:999px;filter:blur(2px);opacity:.5;pointer-events:none;transition:800ms ease}.ambient-one{width:340px;height:340px;top:-170px;right:-100px;background:radial-gradient(circle,rgba(53,106,230,.14),transparent 70%)}.ambient-two{width:420px;height:420px;bottom:-260px;left:-140px;background:radial-gradient(circle,rgba(46,155,99,.09),transparent 70%)}.phase-greeting .ambient-one{background:radial-gradient(circle,rgba(255,184,77,.24),transparent 70%);transform:scale(1.4)}.phase-greeting .ambient-two{background:radial-gradient(circle,rgba(231,111,81,.11),transparent 70%);transform:translate(15vw,-5vh)}
.screen{min-height:100svh;position:relative;z-index:1}.system-screen{display:grid;grid-template-rows:auto 1fr auto;padding:26px clamp(20px,4vw,64px) 18px}.topbar{display:flex;align-items:center;justify-content:space-between;color:#526071;font:700 11px/1 var(--mono);letter-spacing:.09em}.system-mark,.top-status{display:flex;align-items:center;gap:11px}.mark-grid{width:24px;height:24px;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border:1px solid #b9c3cf;border-radius:7px}.mark-grid i{background:var(--blue);border-radius:1px}.top-status i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(46,155,99,.12)}
.system-card{width:min(680px,100%);min-height:420px;align-self:center;justify-self:center;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 55px rgba(20,30,50,.09);overflow:hidden;animation:card-in 520ms cubic-bezier(.2,.8,.2,1) both}.card-head{min-height:58px;display:flex;align-items:center;gap:10px;padding:0 28px;background:#f9fafb;border-bottom:1px solid var(--line)}.status-dot{width:8px;height:8px;border-radius:50%;background:#e99c32;box-shadow:0 0 0 4px rgba(233,156,50,.13)}.eyebrow{margin:0;color:#647183;font:700 11px/1.2 var(--mono);letter-spacing:.09em}.case-id{margin-left:auto;color:#98a3b1;font:600 10px var(--mono)}.card-body{padding:clamp(34px,6vh,55px) clamp(26px,6vw,58px)}.system-card h1{margin:0;max-width:560px;font-size:clamp(34px,4.4vw,48px);line-height:1.06;letter-spacing:-.042em;font-weight:710}.system-lead{margin:22px 0 30px;color:var(--muted);font-size:17px;line-height:1.65}.system-lead strong{color:var(--ink)}
.primary-button,.warm-button{border:0;cursor:pointer;font-weight:750;letter-spacing:.02em;transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease}.primary-button{min-width:178px;padding:15px 20px;border-radius:12px;color:#fff;background:var(--blue);box-shadow:0 8px 20px rgba(53,106,230,.2)}.primary-button span{margin-left:24px}.primary-button:hover{transform:translateY(-2px);background:#2c5fd7;box-shadow:0 11px 25px rgba(53,106,230,.25)}.primary-button:focus-visible,.warm-button:focus-visible{outline:3px solid rgba(53,106,230,.3);outline-offset:3px}
.check-console{margin-top:-8px;min-height:228px;font-family:var(--mono)}.console-title{display:flex;gap:10px;align-items:center;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.08em}.spinner{width:13px;height:13px;display:inline-block;border:2px solid rgba(53,106,230,.2);border-top-color:var(--blue);border-radius:50%;animation:spin .75s linear infinite}.check-lines{margin:15px 0}.check-lines p{margin:8px 0;color:#667386;font-size:12px;opacity:0;transform:translateY(4px);transition:300ms ease}.check-lines p.shown{opacity:1;transform:none}.source-card{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:12px;opacity:0;transform:translateY(5px);transition:320ms ease}.source-card.shown{opacity:1;transform:none}.source-card div:first-child{display:grid;gap:3px}.source-card small{color:#8994a2;font:700 9px var(--mono);letter-spacing:.1em}.source-card strong{font:700 15px var(--sans)}.source-card span{color:var(--muted);font-size:11px}.source-badge{color:var(--success);font:700 10px var(--mono);text-align:right;cursor:help}.date-check{display:flex;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:11px;opacity:0;transition:300ms ease}.date-check.shown{opacity:1}.date-check strong{color:var(--success)}
.verified-view{min-height:420px;padding:50px 40px 36px;display:flex;align-items:center;flex-direction:column;text-align:center;justify-content:center}.success-seal{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:var(--success);border-radius:50%;margin-bottom:18px;box-shadow:0 0 0 9px rgba(46,155,99,.1);animation:soft-pulse 850ms ease 1}.success-text{color:var(--success);margin-bottom:18px}.verified-view h1{max-width:520px}.verified-view .system-lead{margin:16px 0 25px}.confidence{margin:22px 0 0;color:#9aa4b0;font:10px var(--mono)}.system-footer{text-align:center;color:#9aa4b0;font:9px var(--mono);letter-spacing:.04em}
.greeting-screen{display:grid;align-items:center;padding:clamp(30px,5vh,64px) clamp(22px,6vw,90px);animation:warm-reveal 750ms ease both}.greeting-layout{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(44px,7vw,92px);align-items:center}.message-column{max-width:700px}.warm-kicker{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--blue);font:700 11px var(--mono);letter-spacing:.09em}.warm-kicker span{width:22px;height:22px;display:grid;place-items:center;color:#fff;background:var(--success);border-radius:50%}.message-column h1{margin:0 0 25px;color:#1d242c;font-size:clamp(43px,6vw,68px);line-height:.97;letter-spacing:-.055em;font-weight:760}.greeting-copy{max-width:690px;color:#42474d;font-size:clamp(16px,1.35vw,18px);line-height:1.53}.greeting-copy p{margin:0 0 13px}.greeting-copy strong{color:#22272d}.greeting-copy .wish-line{margin-top:2px;color:#25292d;font-size:1.06em;font-weight:750}.afterthought{color:var(--orange);font-weight:700}
.final-panel{min-height:460px;padding:28px;border:1px solid rgba(219,184,141,.55);border-radius:20px;background:rgba(255,255,255,.67);box-shadow:0 18px 50px rgba(96,68,35,.08);backdrop-filter:blur(8px);display:flex;flex-direction:column}.panel-label{color:#817261;font:700 10px var(--mono);letter-spacing:.11em}.status-list{margin:25px 0 30px;display:grid;gap:18px}.status-list div{display:flex;align-items:baseline;gap:8px}.status-list span{color:#34383d;font-size:14px}.status-list i{flex:1;border-bottom:1px dotted #c8bba9}.status-list strong{color:var(--success);font:700 11px var(--mono);white-space:nowrap}.warm-button{width:100%;margin-top:auto;min-height:68px;padding:14px 17px;border-radius:13px;color:#27231e;background:var(--gold);font-size:12px;line-height:1.45;text-align:left}.warm-button span{float:right;font-size:18px}.warm-button:hover{transform:translateY(-2px);background:#ffae31;box-shadow:0 10px 24px rgba(219,143,38,.19)}.final-process{margin:auto 0;font:11px/1.5 var(--mono);color:#7b6d5d}.final-process p{opacity:0;animation:line-in 300ms ease forwards}.final-process p:nth-child(2){animation-delay:600ms}.final-process p:nth-child(3){animation-delay:1200ms}.spinner.dark{border-color:rgba(62,67,73,.18);border-top-color:#535a61;vertical-align:-2px;margin-right:6px}.final-result{margin:auto 0;animation:line-in 400ms ease both}.final-result small{color:#8a7d6d;font:700 9px var(--mono);letter-spacing:.1em}.final-result h2{margin:12px 0;color:#24282c;font-size:29px;line-height:1.08;letter-spacing:-.035em}.final-result p{color:#746858;font-size:14px}.birthday-signoff{margin-top:26px;padding-top:18px;border-top:1px solid #e5d8c7;color:var(--orange);font-size:17px;font-weight:760;animation:line-in 420ms 520ms ease both}.birthday-signoff span{margin-left:5px}
@keyframes card-in{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes soft-pulse{50%{box-shadow:0 0 0 16px rgba(46,155,99,.06)}}@keyframes warm-reveal{from{opacity:0;transform:scale(.995)}to{opacity:1;transform:none}}@keyframes line-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:840px){.app-shell{overflow:auto}.greeting-layout{grid-template-columns:1fr;gap:34px}.message-column{max-width:720px}.final-panel{min-height:0}.final-process,.final-result{margin:26px 0 6px}.warm-button{margin-top:12px}}
@media(max-width:560px){.system-screen{padding:18px 16px 14px}.topbar{font-size:9px}.top-status{display:none}.system-card{min-height:0;align-self:center}.card-head{padding:0 20px}.card-body{padding:30px 22px}.system-card h1{font-size:35px}.system-lead{font-size:16px}.primary-button{width:100%}.source-card{align-items:flex-start;flex-direction:column;gap:10px}.source-badge{text-align:left}.date-check{flex-direction:column;gap:5px}.verified-view{min-height:430px;padding:42px 22px 30px}.system-footer{display:none}.greeting-screen{align-items:start;padding:30px 18px 42px}.message-column h1{font-size:44px}.greeting-copy{font-size:17px;line-height:1.55}.final-panel{padding:23px 20px}.status-list div{gap:6px}}
@media(max-height:760px) and (min-width:841px){.greeting-screen{align-items:start;padding-top:28px;padding-bottom:28px}.message-column h1{font-size:49px;margin-bottom:18px}.greeting-copy{font-size:15px;line-height:1.42}.greeting-copy p{margin-bottom:9px}.final-panel{min-height:410px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Sequential investigation */
.system-card.wide-card{width:min(1040px,100%);margin:34px 0;overflow:visible}.intro-body{min-height:360px}.investigation-body{padding:32px clamp(22px,4vw,44px) 38px}.investigation-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.investigation-head h1{margin-top:8px;font-size:clamp(29px,3.4vw,40px)}.total-progress{min-width:118px;text-align:right}.total-progress strong{display:block;color:var(--blue);font:750 28px/1 var(--mono)}.total-progress span{display:block;margin-top:6px;color:#8792a0;font:9px var(--mono);letter-spacing:.05em}.step-list{display:flex;align-items:stretch;gap:14px}.check-step{flex:1;min-width:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fbfcfd;animation:line-in 360ms ease both;transition:border-color 220ms,box-shadow 220ms}.check-step.status-ready{border-color:rgba(53,106,230,.42);box-shadow:0 9px 28px rgba(53,106,230,.08)}.check-step.status-running{border-color:rgba(53,106,230,.5)}.check-step.status-done{border-color:rgba(46,155,99,.28);background:#fbfefc}.check-step.status-locked{display:none}.step-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:18px;border-radius:13px;color:var(--blue);background:#edf3ff}.status-done .step-icon{color:var(--success);background:#eaf7f0}.step-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.step-heading small{color:#8a96a5;font:700 9px var(--mono);letter-spacing:.1em}.step-heading h2{min-height:47px;margin:7px 0 8px;color:#26303a;font-size:17px;line-height:1.3;letter-spacing:-.02em}.step-content>p{min-height:52px;margin:0 0 18px;color:#75808e;font-size:12px;line-height:1.45}.progress-row{display:flex;align-items:center;gap:9px}.progress-track{height:7px;flex:1;overflow:hidden;border-radius:99px;background:#e7ebf0}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--blue);transition:width 60ms linear}.status-done .progress-track span{background:var(--success)}.progress-row>strong{width:34px;color:#667386;font:700 10px var(--mono);text-align:right}.step-button{width:100%;margin-top:17px;padding:11px 12px;border:1px solid rgba(53,106,230,.35);border-radius:10px;color:var(--blue);background:#fff;cursor:pointer;font:700 10px var(--mono);letter-spacing:.06em;text-align:left;transition:180ms}.step-button span{float:right}.step-button:hover{color:#fff;background:var(--blue);transform:translateY(-1px)}.running-label,.locked-label{margin-top:18px;color:var(--blue);font:700 9px var(--mono);letter-spacing:.06em}.locked-label{color:#9aa4b0}.step-result{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:7px;margin-top:15px;color:var(--success)}.step-result>span{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--success);font-size:10px}.step-result strong{font-size:11px;line-height:1.4}.step-result em{grid-column:2;color:var(--success);font:700 8px var(--mono);letter-spacing:.06em;font-style:normal;cursor:help}.result-action{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line);animation:line-in 350ms ease both}.result-action p{display:flex;align-items:center;gap:9px;margin:0;color:var(--success);font:700 11px var(--mono)}.result-action p span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--success)}.text-button{margin-top:18px;padding:8px;border:0;color:#778392;background:transparent;cursor:pointer;font:650 11px var(--mono)}.text-button:hover{color:var(--blue)}.restart-top{position:absolute;z-index:2;top:24px;right:clamp(22px,6vw,90px);padding:9px 12px;border:1px solid rgba(90,78,64,.18);border-radius:10px;color:#756a5d;background:rgba(255,255,255,.52);cursor:pointer;font:650 10px var(--mono);transition:180ms}.restart-top:hover{background:#fff;transform:translateY(-1px)}.final-restart{display:block;margin:18px 0 0;padding-left:0}

@media(max-width:840px){.system-card.wide-card{margin:24px 0}.investigation-head{align-items:flex-start}.step-list{flex-direction:column}.check-step{width:100%}.step-heading h2,.step-content>p{min-height:0}.restart-top{position:relative;top:auto;right:auto;justify-self:end;margin:0 0 24px}.greeting-screen{display:block}.greeting-layout{margin-top:0}}
@media(max-width:560px){.investigation-body{padding:25px 18px 28px}.investigation-head{align-items:flex-start}.investigation-head h1{font-size:29px}.total-progress{min-width:78px}.total-progress strong{font-size:23px}.result-action{align-items:stretch;flex-direction:column}.result-action .primary-button{width:100%}.restart-top{margin-bottom:20px}.system-card.wide-card{align-self:start}}

/* Final editorial pass */
.fireworks-canvas{position:fixed;inset:0;z-index:20;pointer-events:none}
.alert-head{min-height:70px;background:#fff8e9;border-bottom-color:#f1d39f}
.alert-symbol{font-size:23px;filter:saturate(1.2);animation:warning-pulse 1.55s ease-in-out infinite}
.alert-label{margin:0;color:#c95d16;font:800 15px/1.2 var(--mono);letter-spacing:.055em}
.case-id{font-size:11px}
.step-icon{width:82px;height:82px;margin:0 0 12px;background:transparent;border-radius:0;overflow:visible}
.step-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 9px rgba(44,63,85,.12))}
.step-heading small{color:#5e6d80;font:800 16px/1 var(--mono);letter-spacing:.025em}
.step-heading h2{margin-top:10px}
.final-panel{min-height:500px}
.final-story{margin:auto 0;animation:line-in 340ms ease both}
.warning-result{padding:15px;border:1px solid rgba(214,113,35,.3);border-radius:12px;background:#fff7e8;animation:line-in 360ms ease both}
.warning-title{display:flex;align-items:center;gap:8px;color:#c85816;font:850 13px var(--mono);letter-spacing:.06em}
.warning-title span{font-size:22px;animation:warning-pulse .8s ease-in-out infinite}
.warning-result p{margin:10px 0 0;color:#5d5145;font-size:13px;line-height:1.45}
.punchline{margin-top:17px;animation:line-in 360ms ease both}
.punchline h2{margin:0;color:#22272d;font-size:24px;line-height:1.08;letter-spacing:-.035em}
.punchline p{margin:7px 0 0;color:#7b6b5b;font:700 10px/1.4 var(--mono)}
.positive-wish{margin:17px 0 0;padding-top:15px;border-top:1px solid #eadbc7;color:#34383c;font-size:14px;line-height:1.45;font-weight:650;animation:line-in 360ms ease both}
.birthday-signoff{margin-top:17px;padding-top:15px;font-size:18px}
@keyframes warning-pulse{50%{transform:scale(1.12);filter:saturate(1.3) drop-shadow(0 0 7px rgba(231,111,81,.35))}}

@media(max-width:840px){.final-panel{min-height:0}.step-icon{width:74px;height:74px}.final-story{margin:24px 0 4px}}
@media(max-width:560px){.alert-head{padding:12px 18px;flex-wrap:wrap}.alert-label{font-size:13px}.case-id{width:100%;margin-left:32px}.step-heading small{font-size:15px}.step-icon{width:68px;height:68px}.final-panel{padding-top:25px}.punchline h2{font-size:22px}}
