:root{--bg: #faf7f2;--ink: #3f4756;--ink-soft: #6e7a8a;--mint: #cde7da;--mint-soft: #e7f3ed;--sakura: #fbe3e8;--sakura-soft: #fdf2f4;--gold: #c9a96e;--gold-soft: #efe4cd;--line: #ece6dc}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;min-height:100vh}body{background:radial-gradient(1200px 800px at 18% 12%,var(--sakura-soft),transparent 60%),radial-gradient(900px 700px at 88% 92%,var(--mint-soft),transparent 60%),var(--bg);color:var(--ink);font-family:Inter,Noto Sans SC,system-ui,-apple-system,sans-serif;font-weight:300;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}h1,h2,h3{font-family:Cormorant Garamond,"Noto Serif SC",serif;font-weight:500;letter-spacing:.02em}button.primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--gold);background:transparent;color:var(--gold);font:inherit;padding:.6em 1.4em;border-radius:999px;letter-spacing:.08em;cursor:pointer;transition:background .25s,color .25s,transform .25s}button.primary:hover{background:var(--gold);color:#fff;transform:translateY(-1px)}button.primary:disabled{opacity:.4;cursor:not-allowed;transform:none}input,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink);padding:.7em 1em;border-radius:8px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a96e26}.shake{animation:shake .32s ease-out}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.fade-enter-active,.fade-leave-active{transition:opacity .4s ease}.fade-enter-from,.fade-leave-to{opacity:0}.container{max-width:720px;margin:0 auto;padding:4rem 1.5rem}nav.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;font-size:.95rem;letter-spacing:.04em;color:var(--ink-soft);border-bottom:1px solid var(--line);background:#ffffff80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}nav.topbar .brand{font-family:Cormorant Garamond,serif;font-size:1.3rem;color:var(--ink);letter-spacing:.18em}nav.topbar .links a{margin-left:1.4rem}nav.topbar .links a.active{color:var(--gold)}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:2rem;box-shadow:0 1px #00000005,0 8px 24px #3f47560a}footer.bottombar{text-align:center;font-size:.85rem;color:var(--ink-soft);padding:2rem 1rem}.muted{color:var(--ink-soft);font-size:.9rem}.success{color:#2c7a55}.error{color:#b3494c}.rikka-mascot{position:fixed;z-index:50;width:140px;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.95;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s}.rikka-mascot.left{left:-10px;bottom:-10px}.rikka-mascot.right{right:-8px;bottom:-8px}.rikka-mascot.right.top{right:-8px;top:56px;bottom:auto}.rikka-mascot:hover{transform:translateY(-6px) scale(1.04)}.petal-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.petal-layer .petal{position:absolute;width:12px;height:12px;border-radius:50% 0;background:#fbe3e899;animation:drift linear infinite;opacity:.45}@keyframes drift{0%{transform:translateY(-10vh) rotate(0)}to{transform:translate(20vw,110vh) rotate(360deg)}}
