:root{--navy:#0b2447;--navy-2:#142b5c;--navy-3:#1b3a6e;--navy-4:#243f73;--cream:#faf7f2;--cream-2:#f2ebdd;--cream-3:#eae3d2;--gold:#f4b860;--gold-2:#e5a14a;--gold-3:#d08e32;--teal:#4cb5ae;--teal-2:#0e807a;--rose:#e76f51;--rose-2:#b84427;--ink:#0b2447;--muted:#5b6a85;--muted-2:#8290a8;--line:#0b24471a;--line-strong:#0b24472e;--chip-bg:#0b24470f;--white:#fff;--glass:#ffffffc7;--glass-strong:#ffffffeb;--shadow-xs:0 2px 6px #0b24470f;--shadow-sm:0 6px 14px #0b24471a;--shadow-md:0 18px 36px #0b244724;--shadow-lg:0 32px 70px #0b244733;--shadow-glow:0 0 0 6px #f4b8602e, 0 12px 36px #0b24472e;--grad-navy:linear-gradient(135deg, #0b2447 0%, #1b3a6e 60%, #142b5c 100%);--grad-gold:linear-gradient(135deg, #f4b860 0%, #e5a14a 100%);--grad-warm-bg:radial-gradient(900px 600px at 12% -10%, #f4b86033, transparent 60%), radial-gradient(700px 500px at 110% 110%, #4cb5ae29, transparent 60%), linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2,h3,h4{letter-spacing:-.012em;color:var(--ink);margin:0;font-family:Fraunces,Georgia,serif;font-weight:600}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}.app-shell{background:var(--grad-warm-bg);max-width:480px;min-height:100vh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow-x:hidden}.app-shell>*{animation:.28s cubic-bezier(.2,.7,.2,1) both routeFadeIn}@keyframes routeFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.logo{color:var(--ink);align-items:center;gap:10px;font-family:Fraunces,serif;font-size:22px;font-weight:700;display:inline-flex}.logo-mark{background:var(--grad-navy);width:40px;height:40px;color:var(--gold);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff14;border-radius:12px;place-items:center;font-family:Fraunces,serif;font-size:18px;font-weight:700;display:grid;position:relative}.logo-mark:after{content:"";pointer-events:none;background:radial-gradient(circle at 30% 20%,#f4b8604d,#0000 70%);border-radius:12px;position:absolute;inset:0}.btn{letter-spacing:-.005em;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px 22px;font-size:15px;font-weight:600;transition:transform .12s,box-shadow .18s,background .18s,color .18s;display:inline-flex}.btn-primary{background:var(--grad-navy);color:var(--cream);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff14}.btn-primary:hover{box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff1a;transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{background:var(--glass-strong);color:var(--ink);border-color:var(--line-strong);-webkit-backdrop-filter:blur(10px)}.btn-ghost:hover{background:var(--white);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-ghost:active{transform:translateY(0)}.btn-text{color:var(--navy-3);background:0 0;border:none;width:auto;padding:10px;font-weight:500}.btn-text:hover{color:var(--navy)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--white);color:var(--ink);box-shadow:var(--shadow-xs);border-radius:12px;outline:none;padding:14px;font-size:15px;transition:border .15s,box-shadow .15s,transform .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);box-shadow:0 0 0 4px #0b24471a}.banner{color:var(--rose-2);background:#e76f511f;border:1px solid #e76f5147;border-radius:12px;margin-bottom:14px;padding:13px 14px;font-size:13.5px}.banner.info{color:var(--teal-2);background:#4cb5ae1f;border-color:#4cb5ae4d}.divider{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:12px;margin:18px 0;font-size:11.5px;font-weight:700;display:flex}.divider:before,.divider:after{content:"";background:linear-gradient(to var(--from,right), transparent, var(--line) 50%, transparent);flex:1;height:1px}.scr-header{justify-content:space-between;align-items:flex-end;gap:12px;padding:18px 22px 6px;display:flex}.scr-header h1{font-size:28px;line-height:1.05}.scr-header h1 em{color:var(--navy-3);font-style:italic;font-weight:500}.scr-sub{color:var(--muted);margin-top:4px;font-size:13px}.avatar{background:var(--grad-gold);width:42px;height:42px;color:var(--navy);border:2px solid var(--white);box-shadow:var(--shadow-md), 0 0 0 4px #f4b86029;cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s;display:grid}.avatar:hover{box-shadow:var(--shadow-lg), 0 0 0 6px #f4b8602e;transform:scale(1.04)}.cover-card{min-height:200px;box-shadow:var(--shadow-lg);background:var(--navy);border-radius:24px;margin:14px 22px 16px;position:relative;overflow:hidden}.cover-card .cover-img{opacity:.78;background-position:50%;background-size:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;transform:scale(1.02)}.cover-card:hover .cover-img{transform:scale(1.06)}.cover-card:before{content:"";z-index:1;background:linear-gradient(135deg,#0b24478c 0%,#142b5c66 60%,#0b2447a6 100%);position:absolute;inset:0}.cover-card .cover-content{z-index:2;color:var(--cream);flex-direction:column;justify-content:flex-end;gap:6px;min-height:200px;padding:22px 22px 20px;display:flex;position:relative}.cover-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--gold);align-items:center;gap:8px;font-size:10.5px;font-weight:700;display:inline-flex}.cover-eyebrow:before{content:"";background:var(--gold);width:6px;height:6px;box-shadow:0 0 12px var(--gold);border-radius:50%}.cover-h{color:var(--cream);font-family:Fraunces,serif;font-size:26px;font-weight:600;line-height:1.1}.cover-h em{color:var(--gold);font-style:italic;font-weight:500}.cover-sub{color:#faf7f2d1;max-width:320px;font-size:13px;line-height:1.5}.stat-strip{gap:10px;margin-top:4px;padding:0 22px;display:flex}.stat-card{background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--shadow-xs);border-radius:16px;flex:1;padding:14px 12px;transition:transform .18s,box-shadow .18s}.stat-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stat-num{color:var(--navy);letter-spacing:-.02em;font-family:Fraunces,serif;font-size:26px;font-weight:600;line-height:1;animation:.4s cubic-bezier(.2,.7,.2,1) both numberPop}@keyframes numberPop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stat-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-size:10px;font-weight:700}.mic-card{background:var(--grad-navy);color:var(--cream);cursor:pointer;text-align:left;width:calc(100% - 44px);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff14;border:none;border-radius:22px;margin:14px 22px 8px;padding:18px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.mic-card:hover{box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff1a;transform:translateY(-2px)}.mic-card:active{transform:translateY(0)}.mic-card:after{content:"";background:radial-gradient(circle,#f4b86052,#0000 70%);border-radius:50%;width:220px;height:220px;animation:8s ease-in-out infinite drift;position:absolute;top:-50px;right:-50px}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(-10px,6px)}}.mic-row{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.mic-btn{background:var(--grad-gold);width:56px;height:56px;color:var(--navy);border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;box-shadow:0 0 0 6px #f4b86038,0 0 0 14px #f4b8601a}.mic-btn:before{content:"";border:2px solid #f4b86080;border-radius:50%;animation:2.4s ease-out infinite ring;position:absolute;inset:-6px}@keyframes ring{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}.mic-copy{flex-direction:column;gap:2px;display:flex}.mic-copy strong{font-family:Fraunces,serif;font-size:16px;font-weight:600}.mic-copy span{opacity:.82;font-size:12px}.action-row{background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);text-align:left;cursor:pointer;width:calc(100% - 44px);box-shadow:var(--shadow-xs);border-radius:16px;align-items:center;gap:12px;margin:8px 22px 0;padding:14px;transition:transform .18s,box-shadow .18s,background .18s;display:flex}.action-row:hover{box-shadow:var(--shadow-sm);background:var(--white);transform:translateY(-1px)}.action-row:active{transform:translateY(0)}.action-icn{width:42px;height:42px;color:var(--teal-2);background:#4cb5ae29;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.action-icn.gold{color:#8c5a12;background:#f4b86038}.action-icn.rose{color:var(--rose-2);background:#e76f5129}.recent-list{flex-direction:column;gap:8px;padding:0 22px;display:flex}.recent-row{background:var(--glass-strong);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;transition:transform .15s,box-shadow .15s;display:flex}.recent-row:hover{box-shadow:var(--shadow-xs);transform:translate(2px)}.recent-row .dot{width:38px;height:38px;color:var(--navy);background:#0b24470f;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.tabbar{padding:10px 12px max(18px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);z-index:10;justify-content:space-around;margin-top:auto;display:flex;position:sticky;bottom:0}.tab{color:var(--muted);background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:6px 12px;font-size:10px;font-weight:600;transition:color .15s,background .15s;display:flex}.tab:hover{color:var(--navy-3)}.tab.active{color:var(--navy);background:#0b24470f}.tab svg{width:20px;height:20px}.signin-shell{min-height:100vh;margin:calc(-1 * env(safe-area-inset-top)) 0 0;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.signin-shell .signin-bg{inset:0}.signin-bg{z-index:0;background:url(/images/hero-voice-memo.jpg) 50%/cover no-repeat;position:absolute;inset:0}.signin-bg:after{content:"";background:linear-gradient(#0b244752 0%,#0b24479e 55%,#0b2447eb 100%);position:absolute;inset:0}.signin-content{z-index:1;padding:calc(24px + env(safe-area-inset-top)) 22px 28px;flex-direction:column;flex:1;display:flex;position:relative}.signin-content .logo{color:var(--cream)}.signin-content .logo-mark{color:var(--gold);background:linear-gradient(135deg,#ffffff1a,#ffffff0a);border:1px solid #f4b8608c}.signin-hero{color:var(--cream);margin-top:8vh;margin-bottom:22px}.signin-hero h1{color:var(--cream);margin-top:22px;margin-bottom:14px;font-size:38px;line-height:1.02}.signin-hero h1 em{color:var(--gold);font-style:italic;font-weight:500}.signin-hero p{color:#faf7f2d1;max-width:380px;font-size:15px;line-height:1.55}.signin-form{background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-lg);border:1px solid #ffffff80;border-radius:22px;flex-direction:column;gap:10px;margin-top:auto;padding:22px;display:flex}.signin-form .small-print{color:var(--muted);text-align:center;margin-top:10px;font-size:11.5px;line-height:1.5}.skeleton{background:linear-gradient(90deg,#0b24470f 25%,#0b24471a 50%,#0b24470f 75%) 0 0/200% 100%;border-radius:12px;animation:1.6s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-row{background:var(--white);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;margin:8px 0;padding:14px;display:flex}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 22px;display:flex}.empty-art{width:100%;max-width:280px;height:160px;box-shadow:var(--shadow-sm);background-position:50%;background-size:cover;border-radius:18px;margin-bottom:8px;position:relative}.empty-art:after{content:"";background:linear-gradient(#0000 50%,#0b244733 100%);border-radius:18px;position:absolute;inset:0}.empty-state h3{color:var(--ink);font-family:Fraunces,serif;font-size:24px;font-weight:600}.empty-state p{color:var(--muted);max-width:320px;margin:0;font-size:14px;line-height:1.6}.toast-wrap{z-index:100;pointer-events:none;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{background:var(--navy);color:var(--cream);box-shadow:var(--shadow-lg);pointer-events:auto;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-size:13.5px;font-weight:600;animation:.24s cubic-bezier(.2,.7,.2,1) toastIn,.24s cubic-bezier(.4,0,1,1) 2.4s forwards toastOut;display:inline-flex}.toast .ok{background:var(--teal);width:22px;height:22px;color:var(--white);border-radius:50%;place-items:center;animation:.36s cubic-bezier(.2,.7,.2,1) .18s both checkDraw;display:grid}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-16px)}}@keyframes checkDraw{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.binder-card{text-align:left;background:var(--white);border:1px solid var(--line);cursor:pointer;width:100%;box-shadow:var(--shadow-xs);border-radius:16px;margin:10px 0;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:block;position:relative;overflow:hidden}.binder-card:before{content:"";background:var(--gold);opacity:0;border-radius:0 4px 4px 0;width:4px;transition:opacity .18s;position:absolute;top:14px;bottom:14px;left:0}.binder-card:hover{box-shadow:var(--shadow-sm);border-color:var(--line-strong);transform:translateY(-2px)}.binder-card:hover:before{opacity:1}.binder-card.formal:before{background:var(--rose);opacity:1}.binder-card.coaching:before{background:var(--teal);opacity:1}.tess-chip{color:var(--teal-2);letter-spacing:.02em;background:#4cb5ae2e;border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:700}.tess-chip.gold{color:#8c5a12;background:#f4b86038}.tess-chip.rose{color:var(--rose-2);background:#e76f512e}.tess-chip.navy{color:var(--navy);background:#0b24471a}.detail-cover{background:var(--grad-navy);color:var(--cream);min-height:140px;box-shadow:var(--shadow-md);border-radius:22px;margin:8px 22px 14px;padding:22px;position:relative;overflow:hidden}.detail-cover:after{content:"";pointer-events:none;background:radial-gradient(circle,#f4b8604d,#0000 70%);border-radius:50%;width:240px;height:240px;position:absolute;top:-80px;right:-60px}.detail-cover .eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--gold);z-index:1;align-items:center;gap:8px;font-size:10.5px;font-weight:700;display:inline-flex;position:relative}.detail-cover h1{color:var(--cream);z-index:1;margin-top:8px;font-family:Fraunces,serif;font-size:28px;line-height:1.05;position:relative}.detail-cover .meta{color:#faf7f2d1;z-index:1;margin-top:10px;font-size:13px;position:relative}.detail-card{background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:var(--shadow-xs);border-radius:16px;margin:0 22px 12px;padding:16px}.detail-card .card-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:10.5px;font-weight:700}.detail-row{border-top:1px solid var(--line);justify-content:space-between;padding:8px 0;font-size:13.5px;display:flex}.detail-row:first-child{border-top:none;padding-top:0}.detail-row .lbl{color:var(--muted)}.detail-row .val{color:var(--ink);font-weight:500}.strive-card{background:linear-gradient(135deg, var(--white) 0%, #f4b8601a 100%);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);border-radius:18px;margin:4px 22px 12px;padding:18px}.filename-pill{background:var(--navy);color:var(--gold);word-break:break-all;letter-spacing:-.01em;border-radius:10px;margin:8px 0 14px;padding:10px 12px;font-family:SF Mono,Menlo,monospace;font-size:11px}.tess-cloud{flex-wrap:wrap;gap:6px;display:flex}.tess-cloud button{border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;border-radius:999px;padding:7px 11px;font-size:11.5px;font-weight:600;transition:all .15s}.tess-cloud button:hover{border-color:var(--navy);transform:translateY(-1px)}.tess-cloud button.on{border-color:var(--navy);background:var(--grad-navy);color:var(--cream);box-shadow:var(--shadow-xs)}.fab{right:calc(50vw - min(240px,50vw) + 22px);bottom:calc(96px + env(safe-area-inset-bottom));background:var(--grad-navy);width:60px;height:60px;color:var(--cream);box-shadow:var(--shadow-lg), 0 0 0 6px #0b24470f;cursor:pointer;z-index:9;border:none;border-radius:50%;place-items:center;transition:transform .18s,box-shadow .18s;display:grid;position:fixed}.fab:hover{box-shadow:var(--shadow-lg), 0 0 0 8px #0b244714;transform:translateY(-2px)scale(1.04)}.fab:active{transform:translateY(0)}.subtabs{gap:8px;padding:4px 22px 10px;display:flex}.subtab{border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;border-radius:999px;flex:1;padding:10px 12px;font-size:13px;font-weight:600;transition:all .15s}.subtab.active{background:var(--grad-navy);color:var(--cream);border-color:var(--navy);box-shadow:var(--shadow-xs)}
