/* PlayImage: ivory paper, ink, champagne gold. No webfont or animation dependency. */
:root,:root[data-theme=light]{--bg:#f7f4ed;--sur:#fffdf9;--panel:#fffdf9;--line:#ded9ce;--tx:#191816;--mute:#68645b;--on:#79612c;--vio:#aa8a45;--cyan:#8c7035;--pink:#b59a59;--ok:#26724d;--grad:linear-gradient(#191816,#191816);--head:system-ui,-apple-system,'Segoe UI',sans-serif;--body:system-ui,-apple-system,'Segoe UI',sans-serif;color-scheme:light}
:root[data-theme=dark]{--bg:#111110;--sur:#1b1b19;--panel:#1b1b19;--line:#38362f;--tx:#f7f4ed;--mute:#b7b2a7;--on:#d3bc80;--vio:#b59a59;--cyan:#d3bc80;--grad:linear-gradient(#c4aa6c,#c4aa6c);--ok:#7fcea4;color-scheme:dark}
html body{background:var(--bg);color:var(--tx);font-family:var(--body)}html body::before{display:none}
html .brand,html .album-brand,html .word{font-family:Georgia,'Times New Roman',serif;font-size:29px;font-weight:700;letter-spacing:-1.2px;color:var(--tx);text-decoration:none}
html .brand b,html .brand span,html .word span,html .album-brand span{color:inherit;background:none;font-weight:inherit}
html .brand img,html .album-brand img,html .logo{width:42px;height:42px;object-fit:contain;border-radius:0;box-shadow:none;mix-blend-mode:normal}
html h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(30px,4vw,42px);letter-spacing:-1px;line-height:1.15}html h2{letter-spacing:-.4px}
html button,html input,html select{font-family:var(--body)}html button{transition:background-color .15s,border-color .15s}html :focus-visible{outline:2px solid var(--on);outline-offset:4px}
html .btn,html .primary,html .cta{background:var(--grad);color:var(--bg);box-shadow:none;border-radius:12px;font-weight:650;transform:none}
html[data-theme=dark] .btn,html[data-theme=dark] .primary{color:#161511}html .btn:hover,html .btn:active{box-shadow:none;transform:none}
html .card,html .folder-tile,html .album-photo{box-shadow:0 3px 15px #16151104;border-color:var(--line)}html .card{padding:22px;border-radius:18px}
html .folder-tile{background:var(--sur);min-height:175px;border-radius:18px;border-top:3px solid #b59a59}html .folder-new{border:1px dashed var(--line)}
html .folder-action,html .ghost{background:var(--sur);border-color:var(--line);color:var(--tx);border-radius:10px}html .folder-action:hover,html .ghost:hover{border-color:var(--on)}
html .link{color:var(--on)}html .folder-delete,html .err{color:#b63c37}html[data-theme=dark] .folder-delete,html[data-theme=dark] .err{color:#f3978b}
html .folder-dialog{background:var(--bg);box-shadow:0 24px 80px #0004}html .editor-tabs [aria-selected=true],html .editor-tabs [aria-pressed=true]{background:#191816;color:#fffdf9}
html input:not([type=checkbox]):not([type=range]):not([type=file]),html select{background:var(--sur);color:var(--tx);border-color:var(--line)}html input::placeholder{color:#8a8579}html input:focus{border-color:var(--on);box-shadow:0 0 0 3px #b59a5920}
html .av{background:#ede5d2;color:#685026;border:1px solid #d6c7a5}html .plus{background:#191816;color:#fffdf9;box-shadow:none}
html .hero{background:#191816;color:#f7f4ed;border:1px solid #39362e;box-shadow:none;padding:32px;border-radius:20px;min-height:220px}html .hero b{font:500 clamp(28px,4vw,40px)/1.12 Georgia,serif;max-width:480px}html .hero span.s{display:block;color:#c4beb1;max-width:430px;margin-top:16px;line-height:1.7}
html .iso{transform:none;animation:none;background:url('/brand/mark.svg') center/contain no-repeat;width:110px;height:110px}html .iso i{display:none}html .tilt{transform:none!important;will-change:auto;transform-style:flat}html .item img{transform:none;box-shadow:none}
html .steps{gap:16px;margin:24px 0}html .steps .card{padding:22px 12px}html .steps i{background:#efe8d8;color:#79612c;box-shadow:none;transform:none;border-radius:50%}html .steps b{font-size:14px}html .steps span{display:block;margin-top:6px;font-size:12px}
html .dashboard-page .app{max-width:1020px;padding:28px 28px 120px}html .dashboard-page .bar{margin-bottom:36px;padding-bottom:22px;border-bottom:1px solid var(--line)}html .dashboard-page .top{margin-bottom:24px}
html .dashboard-page #nav{background:var(--sur);border:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:0 -4px 24px #00005;backdrop-filter:none}html #nav button.on{color:var(--on);background:#b59a5915}html #nav button{color:var(--mute)}
html .view.on{animation:none}html .toast{background:#191816;color:#f7f4ed;border-color:#534a35}
/* Login: static editorial photography alongside a clear, accessible form. */
html .auth-page{grid-template-columns:1fr 1fr}html .auth{background:var(--bg);padding:48px clamp(24px,5vw,80px);border-color:var(--line)}html .auth>.card{max-width:440px;padding:0;border:0;box-shadow:none}html .auth .brand{margin-bottom:42px}
html .auth-page .show{background:#191816;color:#f7f4ed;padding:64px clamp(30px,5vw,80px) 36px;display:flex;flex-direction:column;justify-content:space-between;gap:36px;perspective:none;min-height:100dvh}
.brand-story{width:100%;max-width:520px;margin:auto}.story-eyebrow{font:600 10px/1.5 system-ui;letter-spacing:.2em;color:#c4aa6c}.brand-story h2{font:400 clamp(40px,4.6vw,68px)/1.04 Georgia,serif;letter-spacing:-2px;margin:24px 0}.brand-story p{font:400 15px/1.8 system-ui;color:#bdb7ac}
html .show .stage{position:relative;transform:none;width:min(100%,420px);height:auto;flex:none;margin:auto}.story-photo{position:relative;padding:12px 12px 46px;border:1px solid #5b5341;background:#f7f4ed;transform:rotate(-3deg)}.story-photo>img{display:block;width:100%;height:clamp(180px,25vh,290px);object-fit:cover}.story-seal{position:absolute;left:22px;bottom:10px;display:flex;align-items:center;gap:10px;color:#655330;font:italic 15px Georgia,serif}
html .show .copy{position:static;text-align:left;width:100%;max-width:520px;margin:auto;padding:0}.show .copy>span{font-size:10px;letter-spacing:.16em;color:#c4aa6c}html .show .copy p{color:#bdb7ac;font-size:13px;line-height:1.8;max-width:none}
html .auth-page label{color:var(--tx)}html .auth-page .sub{line-height:1.7;margin:12px 0 28px}html .tabs{background:#eae5da;border-color:transparent;padding:5px;box-shadow:none}html .tabs .ind{background:#fffdf9;box-shadow:0 2px 5px #00008}html .tabs button[aria-selected=true]{color:#191816}html .auth-page .row a,html .switch a,html .switch button{color:#79612c}html .chk input{accent-color:#8c7035}html .auth-page .ts{background:transparent;border-color:var(--line)}html .auth-page form.is-active{animation:none}html .auth-page .btn{color:#fffdf9;min-height:50px}html .auth-page .google-access .g{border-color:var(--line)}
/* Public album and the pre-camera intro share the same paper palette. */
html .album-header{background:var(--sur);border-color:var(--line)}html .album-brand span{color:inherit}html .album-eyebrow{color:var(--on)}html .album-intro,html .album-note,html #album-status,html .album-pagination span{color:var(--mute)}html .album-photo{background:var(--sur)}html .album-photo>span{color:var(--on)}html .album-photo img{background:#e8e2d6}html .album-photo:hover{border-color:var(--on)}html .album-pagination button,html #album-retry{background:var(--sur);border-color:var(--line);color:var(--tx)}
html .scanner-page{--scan-blue:#c4aa6c;--scan-panel:#181816ed;--scan-line:#b59a5940}html #card-intro{background:var(--bg)}html #intro-header{background:linear-gradient(var(--bg),transparent)}html #intro-header>a{background:var(--sur);color:var(--tx);border-color:var(--line)}html #card-instruction,html .photo-hint,html #card-details{color:var(--mute)}html .intro-tag{color:var(--on)}html .scan-photo{background:#eae5da}html .scan-photo i{border-color:#b59a59}html .photo-loading{color:var(--mute)}html #card-error{background:#b33c3310;border-color:#b33c3340;color:#a33229}html #card-details pre{background:#eae5da;color:#454035}html #ar2-stage{background:#111}
html #ar2-controls .round-control,html .scan-action-dock,html .scan-status-pill,html .photo-cue{background:#181816ed;border-color:#b59a5940;color:#f7f4ed}html #card-share-dialog{background:#191816;color:#f7f4ed;border-color:#5b5341}html #card-share-dialog p{color:#c4beb1}html #share-url{background:#111;color:#fff;border-color:#5b5341}html #share-copy{background:#c4aa6c;color:#191816}html .back-camera,html .player-topbar .round-control{background:#191816;border-color:#5b5341}html .player-watermark span{color:#c4aa6c}
html.boot-pending #page-boot{background:var(--bg);color:var(--tx)}html .boot-mark{border-radius:0}html #page-boot a{color:var(--on)}
@media(min-width:900px){html .dashboard-page .app:has(#v-create.on),html .dashboard-page .app:has(#v-profile.on){max-width:760px}html .dashboard-page #nav{bottom:18px;border-radius:18px;width:440px;padding:8px}}
@media(max-width:900px){html .auth-page{display:block}html .auth-page .show{display:none}html .auth{min-height:100dvh;padding:36px 24px;border:0}html .auth .brand{margin-bottom:32px}}
@media(max-width:600px){html .dashboard-page .app{padding:20px 18px 110px}html .dashboard-page .bar{margin-bottom:28px}html .brand,html .word{font-size:27px}html .hero{padding:24px;grid-template-columns:1fr 70px;gap:18px}html .iso{width:70px;height:70px}html .hero b{font-size:29px}html .card{padding:18px}html .steps{gap:8px}html .steps .card{padding:18px 8px}html .steps span{font-size:11px}}
@media(prefers-reduced-motion:reduce){html *,html *::before,html *::after{animation:none!important;transition:none!important}}

html{background:var(--bg)}html body.camera-active,html body.player-open{background:#111}
