:root{--ground: #FBF6EE;--card: #FFFFFF;--ink: #2B2420;--muted: #6E625A;--line: #E3D6C6;--line-soft: #EADFD2;--band: #F1E8DC;--ghost: #F3ECE2;--good: #2E7D4F;--danger: #B4321F;--kid: #2B2420;--peach: #F7A15A;--serif: Fraunces, Georgia, serif;--sans: Manrope, system-ui, -apple-system, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans)}body{min-height:100dvh}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid #2F80ED;outline-offset:2px}.screen{max-width:480px;margin:0 auto;min-height:100dvh;padding:calc(20px + var(--safe-top)) 20px calc(24px + var(--safe-bottom));display:flex;flex-direction:column}.screen.dark{background:var(--kid);color:var(--ground);max-width:none}.screen.dark>*{width:100%;max-width:440px;margin-left:auto;margin-right:auto}.grow{flex-grow:1}.title{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:34px;line-height:1.08}.title.big{font-size:40px}.lead{margin:8px 0 0;font-size:16px;line-height:1.45;color:var(--muted)}.label{font-size:14px;font-weight:700;color:var(--muted)}.eyebrow{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.small{font-size:13px;color:var(--muted)}.serif-note{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.4}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack{display:flex;flex-direction:column;gap:10px}.btn{min-height:56px;width:100%;border:none;border-radius:18px;background:var(--ink);color:#fff;font-size:18px;font-weight:700}.btn:disabled{background:var(--line-soft);color:var(--muted);cursor:default}.btn.secondary{background:var(--card);color:var(--ink);border:1.5px solid var(--line);font-size:16px;min-height:48px}.btn.text{background:none;color:var(--ink);min-height:44px;font-size:16px}.btn.danger{background:none;color:var(--danger);min-height:48px;font-size:16px}.btn.small{min-height:44px;font-size:15px;border-radius:14px;width:auto;padding:0 16px}.back{align-self:flex-start;min-height:44px;margin-left:-10px;padding:0 8px;border:none;background:none;font-size:16px;font-weight:700;display:flex;align-items:center;gap:2px}.icon-btn{width:44px;height:44px;border:none;background:none;display:flex;align-items:center;justify-content:center;border-radius:22px}.input{min-height:54px;width:100%;padding:0 16px;border:1.5px solid var(--line);border-radius:16px;background:var(--card);font-size:18px;font-weight:600}textarea.input{padding:14px 16px;min-height:0;resize:none;font-family:var(--serif);font-style:italic;font-size:17px;font-weight:400;line-height:1.35}.chip{min-height:44px;padding:0 16px;border-radius:22px;border:1.5px solid var(--line);background:var(--card);font-size:15px;font-weight:700}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.card{background:var(--card);border-radius:18px;padding:16px}.choice{width:100%;text-align:left;padding:16px 18px;border-radius:20px;background:var(--card);border:2px solid var(--line-soft);display:flex;flex-direction:column;gap:6px}.choice[aria-pressed=true]{border-color:var(--ink)}.age-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.age{height:44px;padding:0;border-radius:12px;border:1.5px solid var(--line-soft);background:var(--ground);font-size:16px;font-weight:800}.age[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.swatch{width:44px;height:44px;border-radius:22px;padding:0;border:3px solid var(--ground);box-shadow:0 0 0 1px var(--line)}.swatch[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--ink)}.shelf{position:relative;width:100%;aspect-ratio:1000 / 1464;container-type:inline-size}.shelf>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.shelf-grid{position:absolute;inset:9.5cqw;display:grid;grid-template-columns:minmax(0,88fr) minmax(0,88fr) minmax(0,100fr);grid-template-rows:repeat(6,minmax(0,1fr));gap:2.3cqw}.tile{position:relative;min-width:0;min-height:0;overflow:hidden;border:none;border-radius:3.4cqw;padding:2.4cqw;text-align:left;display:flex;flex-direction:column;justify-content:space-between;background:var(--band);color:var(--ink)}.tile.movie{grid-row:span 2}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tile .t{position:relative;font-size:max(11px,3.5cqw);font-weight:800;line-height:1.15;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:4}.tile.show .t{-webkit-line-clamp:2}.tile .s{position:relative;font-size:max(9px,2.7cqw);font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile.empty{background:transparent;border:2px dashed #DCCDBB;color:var(--muted);align-items:center;justify-content:center;gap:4px;font-size:13px;font-weight:700}.tile .flag{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:5px;background:#fff;box-shadow:0 0 0 2px var(--ink)}.shelf.dark .tile.empty{border-color:#fbf6ee1f}.scrim{position:fixed;inset:0;background:#2b242061;display:flex;flex-direction:column;justify-content:flex-end;z-index:20}.scrim>.close{flex-grow:1;border:none;background:transparent}.sheet{width:100%;max-width:480px;margin:0 auto;max-height:88dvh;overflow-y:auto;padding:12px 20px calc(28px + var(--safe-bottom));border-radius:28px 28px 0 0;background:var(--ground)}.grip{margin:0 auto 14px;width:40px;height:5px;border-radius:3px;background:#dccdbb}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + var(--safe-bottom));z-index:30;width:calc(100% - 40px);max-width:440px;padding:14px 18px;border-radius:18px;background:var(--ink);color:var(--ground);font-size:15px;font-weight:600;text-align:center;box-shadow:0 12px 32px #2b242040}.list-row{min-height:56px;width:100%;padding:0 16px;border:none;border-bottom:1px solid var(--band);background:var(--card);text-align:left;display:flex;align-items:center;gap:12px}.list-row:last-child{border-bottom:none}.result{min-height:72px;padding:10px;border-radius:16px;background:var(--card);display:flex;align-items:center;gap:12px}.thumb{flex:none;border-radius:8px;background:var(--band);object-fit:cover}.thumb.movie{width:44px;height:66px}.thumb.show{width:66px;height:44px}.round-btn{flex:none;width:44px;height:44px;border-radius:22px;border:none;background:var(--ink);display:flex;align-items:center;justify-content:center}.round-btn.soft{background:var(--ghost)}.round-btn.outline{background:var(--card);border:1.5px solid var(--line)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.logo{font-size:88px;font-weight:800;letter-spacing:-.04em;line-height:1}
