:root{--ink: #0b1018;--ink-lift: #121925;--fog: #d7e0e8;--paper: #f2ebe0;--copper: #c68a4a;--copper-bright: #e2b070;--teal-mist: #1a3d4a;--line: rgba(242, 235, 224, .14);--danger: #e08b7a;--font-display: "Fraunces", "Times New Roman", serif;--font-body: "Outfit", "Segoe UI", sans-serif;color:var(--paper);background:var(--ink);font-family:var(--font-body);font-weight:420;line-height:1.45;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:var(--ink)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}code{font-size:.92em;color:var(--copper-bright)}main{min-height:100vh}.boot{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden}.boot__label{position:relative;z-index:1;margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,8vw,4rem);font-weight:650;letter-spacing:-.03em;animation:brand-breathe 2.4s ease-in-out infinite}.boot__panel{position:relative;z-index:1;max-width:34rem;padding:1.5rem;text-align:center}.hero{position:relative;min-height:100vh;display:grid;place-items:end stretch;overflow:hidden;isolation:isolate}.hero__content{position:relative;z-index:1;width:min(42rem,calc(100% - 2.5rem));margin:0 auto 12vh;padding:0 .25rem}.hero__eyebrow{margin:0 0 .85rem;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fog);opacity:.78}.hero__brand{margin:0;font-family:var(--font-display);font-optical-sizing:auto;font-weight:700;font-size:clamp(4.2rem,16vw,8.5rem);line-height:.9;letter-spacing:-.045em;color:var(--paper);text-shadow:0 .08em .4em rgba(0,0,0,.35)}.hero__lede{margin:1.1rem 0 0;max-width:22rem;font-size:clamp(1.05rem,2.4vw,1.25rem);font-weight:340;color:#f2ebe0d1}.hero__cta{margin-top:1.85rem}.starfield{position:absolute;inset:0;z-index:0;pointer-events:none;color:#f2ebe0e0;background:radial-gradient(1200px 700px at 70% 18%,rgba(26,61,74,.55),transparent 60%),radial-gradient(900px 600px at 18% 80%,rgba(198,138,74,.18),transparent 55%),linear-gradient(165deg,#070b12,#101925 42%,#0b151c)}.starfield__wash{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(242,235,224,.07),transparent 18%),radial-gradient(circle at 78% 22%,rgba(242,235,224,.05),transparent 14%),radial-gradient(circle at 62% 68%,rgba(242,235,224,.04),transparent 12%);animation:wash-drift 18s ease-in-out infinite alternate}.starfield__horizon{position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(to top,rgba(11,16,24,.92) 0%,rgba(11,16,24,.55) 45%,transparent 100%)}.starfield__dust{position:absolute;inset:-10%;opacity:.55;background-image:radial-gradient(1.2px 1.2px at 12% 18%,rgba(242,235,224,.85),transparent),radial-gradient(1px 1px at 28% 62%,rgba(242,235,224,.55),transparent),radial-gradient(1.4px 1.4px at 48% 24%,rgba(242,235,224,.7),transparent),radial-gradient(1px 1px at 66% 44%,rgba(215,224,232,.65),transparent),radial-gradient(1.2px 1.2px at 82% 16%,rgba(242,235,224,.75),transparent),radial-gradient(1px 1px at 90% 72%,rgba(242,235,224,.45),transparent),radial-gradient(1.1px 1.1px at 8% 78%,rgba(226,176,112,.5),transparent),radial-gradient(1px 1px at 38% 88%,rgba(242,235,224,.4),transparent);animation:dust-drift 42s linear infinite}.starfield__dust--b{opacity:.35;animation-duration:64s;animation-direction:reverse;transform:scale(1.15)}.starfield__constellation{position:absolute;width:min(92vw,1100px);margin-inline:auto;inset:8% 0 auto;height:auto;opacity:.55}.starfield__line{opacity:.35;stroke-dasharray:12 10;animation:line-draw 3.2s ease forwards}.starfield__star{transform-origin:center;animation:star-pulse 3.6s ease-in-out infinite}.starfield__star--1{animation-delay:.4s}.starfield__star--2{animation-delay:.9s}.starfield__star--3{animation-delay:1.3s}.starfield__star--4{animation-delay:1.8s}.btn{appearance:none;border:1px solid transparent;border-radius:999px;padding:.85rem 1.45rem;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.btn:disabled{opacity:.55;cursor:wait}.btn--primary{background:linear-gradient(135deg,var(--copper) 0%,var(--copper-bright) 100%);color:#1a120a;font-weight:600;letter-spacing:.02em}.btn--primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.btn--ghost{background:#f2ebe00a;border-color:var(--line);color:var(--paper)}.btn--ghost:hover:not(:disabled){background:#f2ebe017}.auth-panel{display:grid;gap:.95rem;width:min(100%,22rem);padding-top:.25rem;animation:rise .52s cubic-bezier(.2,.8,.2,1) both}.auth-panel__tabs{display:flex;gap:.35rem}.auth-panel__tabs button{background:transparent;border:0;border-bottom:1px solid transparent;padding:.35rem .55rem;color:#f2ebe08c}.auth-panel__tabs button.is-active{color:var(--paper);border-bottom-color:var(--copper)}.auth-panel__divider{display:grid;grid-template-columns:1fr auto 1fr;gap:.7rem;align-items:center;color:#f2ebe073;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.auth-panel__divider:before,.auth-panel__divider:after{content:"";height:1px;background:var(--line)}.auth-form,.upload-form{display:grid;gap:.85rem}.auth-form label,.upload-form label{display:grid;gap:.35rem}.auth-form label span,.upload-form label span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#f2ebe09e}.auth-form input,.upload-form input,.upload-form select{width:100%;border:1px solid var(--line);border-radius:.7rem;background:#121925b8;padding:.75rem .9rem;outline:none}.auth-form input:focus,.upload-form input:focus,.upload-form select:focus{border-color:#c68a4aa6;box-shadow:0 0 0 3px #c68a4a26}.form-error{margin:0;color:var(--danger);font-size:.92rem}.muted{color:#f2ebe08c}.app-shell{position:relative;background:radial-gradient(900px 500px at 85% -10%,rgba(26,61,74,.35),transparent 55%),radial-gradient(700px 420px at 0% 100%,rgba(198,138,74,.12),transparent 50%),var(--ink)}.library{width:min(52rem,calc(100% - 2rem));margin:0 auto;padding:1.75rem 0 4rem}.library__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.library__brand{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:650;letter-spacing:-.03em}.library__user{margin:.25rem 0 0;color:#f2ebe094;font-size:.92rem}.library__section{margin-bottom:2.75rem}.library__section h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.55rem;font-weight:650;letter-spacing:-.02em}.library__hint{margin:0 0 1.1rem;color:#f2ebe094}.upload-form{max-width:28rem}.file-field input{padding:.55rem}.doc-list{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:0}.doc-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1.15rem 0;border-top:1px solid var(--line)}.doc-row:last-child{border-bottom:1px solid var(--line)}.doc-row__meta h3{margin:0;font-size:1.08rem;font-weight:520}.doc-row__meta p{margin:.3rem 0 0;color:#f2ebe094;font-size:.92rem}.doc-row__actions{display:flex;justify-content:flex-end;min-width:min(100%,16rem)}.doc-row__actions audio{width:min(100%,16rem);height:2.4rem}.animate-rise{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}.animate-rise--2{animation-delay:.12s}.animate-rise--3{animation-delay:.22s}.animate-rise--4{animation-delay:.34s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes brand-breathe{0%,to{opacity:.72}50%{opacity:1}}@keyframes wash-drift{0%{transform:translate3d(-1%,-1%,0) scale(1)}to{transform:translate3d(2%,1.5%,0) scale(1.04)}}@keyframes dust-drift{0%{transform:translateZ(0)}to{transform:translate3d(-3%,2%,0)}}@keyframes star-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes line-draw{0%{stroke-dashoffset:80;opacity:0}to{stroke-dashoffset:0;opacity:.35}}@media(max-width:720px){.hero{place-items:center}.hero__content{margin-bottom:0;padding-top:18vh}.doc-row{grid-template-columns:1fr;align-items:start}.doc-row__actions{justify-content:stretch;min-width:0}.doc-row__actions .btn,.doc-row__actions audio{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
