:root{--bg: #ffffff;--bg-muted: #f6f7f9;--ink: #0f1626;--ink-sub: #5a6478;--brand: #1b3a7a;--accent: #d6463c;--neutral: #5a6478;--positive: #1f8a57;--border: #e4e7ec;--amber: #f59e0b;--scrim: rgba(15, 22, 38, .72);--radius-card: 12px;--radius-chip: 999px;--radius-image: 8px;--shadow-sm: 0 1px 2px rgba(15, 22, 38, .06);--shadow-md: 0 6px 16px rgba(15, 22, 38, .08);--shadow-lg: 0 16px 40px rgba(15, 22, 38, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:Noto Sans JP,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:20px 16px 88px;background:var(--bg)}.page{width:min(100%,480px);margin:0 auto}.section{margin-top:24px}.stack{display:grid;gap:16px}.row{display:flex;gap:12px;align-items:center}.card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg);box-shadow:var(--shadow-sm);padding:16px}.button{min-height:48px;border:0;border-radius:12px;background:var(--brand);color:#fff;padding:0 18px;font-weight:700}.button.secondary{border:1px solid var(--border);background:var(--bg);color:var(--ink)}.muted{color:var(--ink-sub)}.scoreDial{display:grid;place-items:center;position:relative}.scoreDial strong{position:absolute;font:600 72px/1 Inter,sans-serif}.appChip{min-height:38px;border:1px solid var(--border);border-radius:var(--radius-chip);background:var(--bg);color:var(--ink);padding:0 14px}.appChip.selected,.orderPill{background:var(--brand);color:#fff}.photoSlot{display:grid;place-items:center;min-height:180px;border:1px dashed var(--border);border-radius:var(--radius-image);background:var(--bg-muted);overflow:hidden}.photoSlot input{display:none}.photoSlot img{width:100%;height:100%;object-fit:cover}.factor{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:8px}.factor.plus span{color:var(--brand)}.factor.minus span,.inlineError,.toast.error{color:var(--accent)}.directiveCard,.modeCard{display:grid;gap:8px;width:100%;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg);padding:16px;text-align:left}.locked{color:var(--ink-sub);background:var(--bg-muted)}.orderPill{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;font-weight:700}.drumrollOverlay,.sheetScrim{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:var(--scrim);color:#fff}.pulse{font:600 72px/1 Inter,sans-serif;animation:pulse 1.5s infinite}.shareCard{display:grid;place-items:center;aspect-ratio:9 / 16;border-radius:12px;background:linear-gradient(180deg,var(--brand),var(--ink));color:#fff;padding:24px}.shareCard strong{font:600 72px/1 Inter,sans-serif}.privacyBadge{display:inline-flex;border-radius:var(--radius-chip);background:var(--bg-muted);color:var(--ink-sub);padding:6px 10px;font-size:12px}.privacyBadge.urgent{color:var(--amber)}.paywallSheet{width:min(440px,calc(100vw - 32px));border-radius:20px;background:var(--bg);color:var(--ink);padding:20px}.closeButton{float:right;border:0;background:transparent;font-size:24px}.tierGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.tierGrid div{border:1px solid var(--border);border-radius:8px;padding:12px}.trendChart{width:100%;min-height:120px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg);padding:12px}.toast{border-radius:var(--radius-chip);background:var(--bg);box-shadow:var(--shadow-md);padding:10px 14px}.toast.success{color:var(--positive)}.inlineError{display:flex;justify-content:space-between;border-left:3px solid var(--accent);padding:8px 12px}.bottomTabs{position:fixed;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);background:var(--bg);padding-bottom:env(safe-area-inset-bottom)}.bottomTabs button,.leftRail button{min-height:56px;border:0;background:transparent;color:var(--ink-sub)}.leftRail{display:none}@keyframes pulse{50%{transform:scale(1.08)}}@media(min-width:768px){body{background:var(--bg-muted)}.app-shell{background:transparent}.bottomTabs{display:none}.leftRail{position:fixed;top:0;bottom:0;left:0;display:grid;align-content:center;width:88px;border-right:1px solid var(--border);background:var(--bg)}}
