:root{--charcoal:#0f1b2a;--ink:#0f1b2a;--ice:#f4f5f3;--paper:#0f1b2a;--muted:#afc8d6;--line:#afc8d661;--teal:#afc8d6;--orange:#c97a43}*{box-sizing:border-box}html{background:var(--charcoal);-webkit-text-size-adjust:100%}body{background:var(--charcoal);min-height:100vh;color:var(--ink);margin:0;font-family:Figtree,Avenir Next,Avenir,Segoe UI,sans-serif}button,textarea,input{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #c97a4385}.welcome-screen{min-height:100dvh;padding:32px 24px max(32px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 15%, #f4f5f317, transparent 36%), var(--charcoal);color:var(--ice);place-items:center;display:grid}.welcome-panel{text-align:center;width:min(100%,430px)}.welcome-panel>img{width:min(78%,315px);height:auto;margin:0 auto 18px}.welcome-kicker,.eyebrow{letter-spacing:.19em;text-transform:uppercase;margin:0;font-size:.69rem;font-weight:800}.welcome-kicker{color:#f4f5f3a8}.welcome-panel h1{letter-spacing:-.045em;text-wrap:balance;margin:38px 0 16px;font-size:clamp(2rem,8vw,3.2rem);line-height:1.05}.welcome-copy{color:#f4f5f3b8;max-width:360px;margin:0 auto;font-size:1rem;line-height:1.6}.welcome-button{background:var(--ice);width:100%;color:var(--charcoal);border-radius:999px;margin-top:36px;padding:15px 20px;font-weight:800;text-decoration:none;display:block;box-shadow:0 14px 34px #0f1b2a33}.welcome-privacy{color:#f4f5f394;justify-content:center;align-items:center;gap:8px;margin-top:16px;font-size:.78rem;display:flex}.welcome-privacy svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:15px}.app-shell{background:var(--paper);width:min(100%,520px);min-height:100dvh;margin:0 auto;box-shadow:0 0 70px #0f1b2a59}.topbar{z-index:20;min-height:66px;padding:max(12px, env(safe-area-inset-top)) 18px 12px;color:var(--ice);background:#0f1b2afa;border-bottom:1px solid #f4f5f314;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand-mark{width:136px;height:auto}.topbar-actions{align-items:center;gap:9px;display:flex}.view-toggle{width:38px;height:38px;color:var(--ice);cursor:pointer;background:#f4f5f30f;border:1px solid #f4f5f340;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.view-toggle b{background:var(--orange);min-width:17px;height:17px;color:var(--charcoal);border-radius:999px;place-items:center;font-size:.57rem;display:grid;position:absolute;top:-4px;right:-4px}.account-menu{position:relative}.account-menu summary{width:38px;height:38px;color:var(--ice);cursor:pointer;background:#f4f5f314;border:1px solid #f4f5f35c;border-radius:50%;place-items:center;font-size:.85rem;font-weight:800;list-style:none;display:grid}.account-menu summary::-webkit-details-marker{display:none}.account-menu>div{background:var(--ice);width:270px;color:var(--ink);border-radius:16px;gap:12px;padding:18px;display:grid;position:absolute;top:48px;right:0;box-shadow:0 18px 45px #0f1b2a38}.account-menu strong{text-overflow:ellipsis;font-size:.87rem;overflow:hidden}.account-menu span{color:var(--muted);align-items:center;gap:7px;font-size:.75rem;display:flex}.account-menu a,.account-menu button{color:var(--teal);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.signed-out-indicator{width:38px;height:38px;color:var(--ice);cursor:pointer;background:#f4f5f314;border:1px solid #f4f5f35c;border-radius:50%;place-items:center;padding:0;display:grid}.app-shell main{min-height:calc(100dvh - 66px);padding-bottom:calc(118px + env(safe-area-inset-bottom))}.draw-view,.history-view{padding:22px 18px 36px}.intro-copy{text-align:center}.intro-copy h1{letter-spacing:-.04em;text-wrap:balance;max-width:420px;margin:7px auto 8px;font-size:clamp(1.68rem,7vw,2.05rem);line-height:1.05}.intro-copy>p:last-child{max-width:360px;color:var(--muted);margin:0 auto;font-size:.9rem;line-height:1.5}.intro-copy.compact{text-align:left}.intro-copy.compact h1,.intro-copy.compact>p:last-child{margin-left:0}.filter-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:19px 0 0;display:grid}.filter-strip button{border:1px solid var(--line);width:100%;min-width:0;color:var(--ice);white-space:nowrap;cursor:pointer;background:#f4f5f3b3;border-radius:999px;padding:9px 4px;font-size:clamp(.68rem,2.7vw,.76rem);font-weight:750}.card-stage{place-items:center;min-height:388px;padding:20px 0 10px;display:grid}.reflection-card{aspect-ratio:65/90;cursor:pointer;background:0 0;border:0;border-radius:21px;width:min(68vw,270px);padding:0}.card-inner{width:100%;height:100%;display:block;position:relative}.card-face{border-radius:21px;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.card-back{background:radial-gradient(circle at 50% 27%, #f4f5f317, transparent 36%), var(--charcoal);color:var(--ice);justify-content:center;align-items:center;padding:30px 26px;box-shadow:0 24px 45px #0f1b2a47}.card-back:before{content:"";border:1px solid #f4f5f333;border-radius:13px;position:absolute;inset:11px}.card-back img{z-index:1;width:88%;height:auto}.card-back>span{z-index:1;letter-spacing:.22em;margin-top:15px;font-size:.69rem;font-weight:800}.card-back small{color:#f4f5f38c;font-size:.72rem;position:absolute;bottom:30px}.card-front{background:var(--ice);color:var(--ink);text-align:left;border:1px solid #0f1b2a12;justify-content:space-between;padding:23px 22px 21px;display:none;box-shadow:0 24px 45px #0f1b2a33}.reflection-card.is-revealed .card-back{display:none}.reflection-card.is-revealed .card-front{animation:.32s cubic-bezier(.2,.75,.25,1) both card-reveal;display:flex}@keyframes card-reveal{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.card-front:after{content:"";pointer-events:none;border:1px solid #0f1b2a1c;border-radius:13px;position:absolute;inset:10px}.card-meta{z-index:1;color:var(--teal);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font-size:.66rem;font-weight:850;display:flex}.section-prompt{z-index:1;color:var(--muted);margin-top:auto;font-size:.74rem;font-weight:650}.card-front strong{z-index:1;letter-spacing:-.035em;text-wrap:balance;margin:12px 0 auto;font-size:clamp(1.45rem,6vw,2rem);line-height:1.08;display:block}.card-rule{z-index:1;background:var(--orange);width:32px;height:2px;margin-bottom:13px}.card-signoff{z-index:1;color:#0f1b2aa8;letter-spacing:.17em;font-size:.59rem;font-weight:850}.card-actions{justify-items:center;gap:4px;display:grid}.primary-button,.save-button,.empty-history button{background:var(--charcoal);color:var(--ice);cursor:pointer;border:0;border-radius:999px;font-weight:800}.primary-button{justify-content:center;align-items:center;gap:9px;min-width:205px;padding:13px 22px;display:inline-flex}.text-button{color:var(--teal);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:10px 16px;font-size:.81rem;font-weight:800;display:inline-flex}.reflection-form{background:var(--ice);scroll-margin-top:calc(78px + env(safe-area-inset-top));border:1px solid #0f1b2a14;border-radius:20px;margin-top:24px;padding:20px;animation:.36s cubic-bezier(.2,.75,.25,1) both reflection-panel-in;box-shadow:0 12px 30px #0f1b2a14}@keyframes reflection-panel-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.reflection-context{background:var(--charcoal);color:var(--ice);border-radius:20px 20px 0 0;margin:-20px -20px 18px;padding:20px}.reflection-context>span{color:var(--teal);letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px;font-size:.68rem;font-weight:850;display:block}.reflection-context h2{color:#f4f5f3ad;margin:0;font-size:.82rem;font-weight:700}.reflection-context p{letter-spacing:-.025em;margin:8px 0 0;font-size:clamp(1.2rem,5.2vw,1.55rem);font-weight:800;line-height:1.16}.private-label{color:var(--teal);align-items:center;gap:7px;margin-bottom:20px;font-size:.73rem;font-weight:800;display:flex}.reflection-form label{margin:15px 0 7px;font-size:.82rem;font-weight:800;display:block}.reflection-form label span{color:#0f1b2a80;margin-left:4px;font-size:.7rem;font-weight:600}.reflection-form textarea{resize:vertical;background:var(--ice);width:100%;color:var(--ink);border:1px solid #0f1b2a3d;border-radius:12px;padding:13px 14px;font-size:.9rem;line-height:1.5}.reflection-form textarea::placeholder{color:#0f1b2a7a}.save-button{justify-content:center;align-items:center;gap:9px;width:100%;margin-top:18px;padding:13px 20px;display:flex}.save-button:disabled{opacity:.62}.form-error,.history-error{color:var(--charcoal);background:#c97a432e;border-radius:10px;padding:10px 12px;font-size:.78rem}.saved-message{color:var(--charcoal);background:#afc8d66b;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:13px;font-size:.82rem;font-weight:800;display:flex}.history-view{min-height:calc(100dvh - 170px)}.standalone-access-panel,.invite-form{background:var(--ice);border:1px solid #0f1b2a14;border-radius:18px;margin-top:26px;padding:20px;box-shadow:0 12px 30px #0f1b2a12}.magic-link-form h2,.access-message h2{color:var(--ink);margin:7px 0 8px;font-size:1.18rem;line-height:1.2}.magic-link-form>p,.access-message p{color:var(--muted);margin:0 0 18px;font-size:.84rem;line-height:1.55}.magic-link-form label,.invite-form label{color:var(--ink);margin:0 0 7px;font-size:.8rem;font-weight:800;display:block}.magic-link-form input,.invite-form input{background:var(--ice);width:100%;min-width:0;color:var(--ink);border:1px solid #0f1b2a3d;border-radius:11px;padding:12px 13px;font-size:.88rem}.magic-link-form>small{color:#0f1b2a9e;text-align:center;margin-top:12px;font-size:.69rem;line-height:1.45;display:block}.access-message{color:var(--teal);text-align:center;padding:12px 0 2px}.access-message>svg{margin:0 auto}.access-message button{color:var(--teal);cursor:pointer;background:0 0;border:0;padding:0;font-size:.77rem;font-weight:800}.access-message.link-sent{color:var(--charcoal)}.admin-view{min-height:calc(100dvh - 170px);padding:22px 18px 36px}.invite-form>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.invite-form button{background:var(--charcoal);color:var(--ice);white-space:nowrap;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:11px 14px;font-size:.75rem;font-weight:800;display:inline-flex}.invite-form button:disabled,.client-list button:disabled{opacity:.58;cursor:default}.admin-message{color:var(--charcoal);align-items:center;gap:7px;margin:14px 0 0;font-size:.78rem;font-weight:800;display:flex}.client-list{gap:10px;margin-top:20px;display:grid}.client-list article{background:var(--ice);border:1px solid #0f1b2a17;border-radius:15px;padding:16px}.client-list article>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.client-list strong{overflow-wrap:anywhere;min-width:0;font-size:.87rem}.status-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;flex:none;padding:4px 7px;font-size:.58rem;font-weight:850}.status-pill.active{color:var(--charcoal);background:#afc8d66b}.client-list small{color:#0f1b2a99;margin:7px 0 12px;font-size:.68rem;display:block}.client-list button{color:var(--teal);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:.72rem;font-weight:800;display:inline-flex}.loading-panel .welcome-copy{margin-top:28px}.history-list{gap:11px;margin-top:26px;display:grid}.history-card{background:var(--ice);border:1px solid #0f1b2a17;border-radius:17px;overflow:hidden}.history-summary{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:17px;display:flex}.history-summary>span{gap:5px;display:grid}.history-summary small{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:850}.history-summary strong{font-size:.93rem;line-height:1.28}.history-summary time{color:#0f1b2a99;font-size:.68rem}.history-summary svg{flex:none;transition:transform .18s}.history-summary svg.rotated{transform:rotate(180deg)}.history-detail{border-top:1px solid #0f1b2a14;gap:15px;padding:0 17px 17px;display:grid}.history-detail>div{padding-top:15px}.history-detail span{color:#0f1b2a9e;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.history-detail p{white-space:pre-wrap;margin:5px 0 0;font-size:.88rem;line-height:1.55}.history-detail .next-step-block{background:#afc8d647;border-radius:12px;padding:13px}.history-detail>button{color:var(--orange);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:7px;padding:0;font-size:.73rem;font-weight:750;display:inline-flex}.history-loading,.empty-history{color:var(--muted);text-align:center;background:#f4f5f3bf;border-radius:18px;margin-top:28px;padding:32px 22px}.empty-history svg{color:var(--teal)}.empty-history h2{color:var(--ink);margin:14px 0 7px;font-size:1.18rem;line-height:1.2}.empty-history p{margin:0;font-size:.82rem}.empty-history button{margin-top:18px;padding:11px 18px}.app-shell{background:var(--charcoal);border-inline:1px solid #afc8d61f}.topbar{background:#0f1b2afa;border-bottom-color:#afc8d62e}.view-toggle,.signed-out-indicator,.account-menu summary{color:var(--ice);background:#afc8d614;border-color:#afc8d680}.view-toggle b{color:var(--charcoal)}.app-shell main{color:var(--ice)}.intro-copy .eyebrow{color:var(--orange)}.intro-copy h1{color:var(--teal)}.intro-copy>p:last-child{color:#f4f5f3c7}.filter-strip button{color:var(--ice);background:#afc8d60f;border-color:#afc8d675}.filter-strip button.active{border-color:var(--teal);background:var(--teal);color:var(--charcoal)}.card-back{background:radial-gradient(circle at 50% 27%, #afc8d621, transparent 38%), var(--charcoal);color:var(--ice);box-shadow:0 24px 45px #0f1b2a8c}.card-back:before{border-color:#afc8d657}.card-back small{color:#f4f5f3ad}.card-front{background:var(--ice);color:var(--ink);border-color:#0f1b2a17;box-shadow:0 24px 45px #0f1b2a70}.card-front:after{border-color:#0f1b2a29}.card-meta{color:var(--orange)}.section-prompt,.card-signoff{color:#0f1b2aa8}.primary-button,.save-button,.empty-history button,.invite-form button{background:var(--orange);color:var(--charcoal)}.text-button{color:var(--teal)}.reflection-form,.standalone-access-panel,.invite-form,.client-list article,.history-card,.account-menu>div,.password-setup-panel{background:var(--ice);color:var(--ink);border-color:#afc8d65c;box-shadow:0 16px 34px #0f1b2a52}.reflection-context{background:var(--charcoal);color:var(--ice)}.reflection-context>span{color:var(--orange)}.reflection-context h2{color:#f4f5f3bf}.private-label{color:var(--orange)}.reflection-form textarea,.magic-link-form input,.invite-form input,.password-setup-panel input{background:var(--ice);color:var(--ink);border-color:#0f1b2a3d}.reflection-form textarea::placeholder,.magic-link-form input::placeholder,.invite-form input::placeholder,.password-setup-panel input::placeholder{color:#0f1b2a75}.form-error,.history-error{color:var(--charcoal);background:#c97a432e;border:1px solid #c97a436b}.saved-message,.status-pill.active{color:var(--charcoal);background:#afc8d66b}.status-pill.revoked{color:var(--charcoal);background:#c97a4338}.magic-link-form>p,.access-message p,.magic-link-form>small,.client-list small,.history-summary time{color:#0f1b2aa3}.access-message,.access-message.link-sent,.access-message button,.client-list button,.account-menu button,.account-menu a{color:var(--charcoal)}.account-menu span{color:#0f1b2a9e}.access-message>svg,.client-list button svg,.account-menu button svg,.account-menu a svg{color:var(--orange)}.admin-message{color:var(--charcoal)}.history-summary small{color:var(--orange)}.history-detail .next-step-block{background:#afc8d647}.history-detail>button{color:var(--orange)}.history-loading,.empty-history{color:#f4f5f3b8;background:#afc8d614;border:1px solid #afc8d638}.empty-history svg,.empty-history h2{color:var(--teal)}.password-setup-view{min-height:calc(100dvh - 170px);padding:22px 18px 36px}.password-setup-panel{border:1px solid #afc8d65c;border-radius:20px;margin-top:26px;padding:22px}.password-setup-panel label{color:var(--ink);margin:16px 0 7px;font-size:.8rem;font-weight:800;display:block}.password-setup-panel input{border:1px solid #0f1b2a3d;border-radius:11px;width:100%;padding:12px 13px;font-size:.9rem}.password-setup-panel form>small{color:#0f1b2a9e;margin-top:7px;font-size:.7rem;line-height:1.45;display:block}.password-success{color:var(--charcoal);text-align:center;padding:8px 0 2px}.password-success>svg{color:var(--orange)}.password-success h2{color:var(--charcoal);margin:12px 0 7px;font-size:1.2rem}.password-success p{color:#0f1b2aad;margin:0;font-size:.84rem;line-height:1.5}.auth-mode-switch{background:#afc8d647;border-radius:12px;grid-template-columns:1fr 1fr;gap:5px;margin:18px 0;padding:4px;display:grid}.auth-mode-switch button{min-width:0;color:var(--charcoal);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 8px;font-size:.72rem;font-weight:800}.auth-mode-switch button.active{background:var(--charcoal);color:var(--ice)}.first-visit-hint{background:#afc8d63d;border-radius:10px;padding:10px 12px;color:#0f1b2ac2!important;margin:-4px 0 18px!important;font-size:.75rem!important;line-height:1.45!important}.first-visit-hint button{color:var(--charcoal);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.magic-link-form label+input,.password-setup-panel label+input{margin-bottom:2px}.magic-link-form label:not(:first-of-type){margin-top:14px}.secondary-text-button{width:100%;color:var(--charcoal);text-align:center;cursor:pointer;background:0 0;border:0;margin-top:13px;padding:4px 8px;font-size:.75rem;font-weight:800;display:block}.secondary-text-button:disabled{opacity:.48;cursor:default}.access-message-actions{justify-items:center;gap:12px;display:grid}@media (min-width:700px){.app-shell{border-radius:24px;min-height:calc(100dvh - 32px);margin-block:16px;overflow:clip}}@media (max-width:360px){.draw-view,.history-view{padding-inline:15px}.reflection-card{width:min(70vw,250px)}.card-stage{min-height:360px}.card-front strong{font-size:1.35rem}.invite-form>div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
