:root{--primary:#ff6b35;--bg:#0a0a0f;--surface:#1a1a2e;--accent:#e8d44d;--text:#f5f5f5;--text-sub:#8b8b9e;--success:#4ecdc4;--danger:#ef4444;--border:#ffffff14;--border-strong:#ffffff1f;--shadow:#0006;--shadow-soft:#0003;--overlay:#000000d9;--card-glow-alpha:40;--cat-bg-alpha:15;--cat-border-alpha:25;--swipe-discard-bg:#ffffff1a;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--cat-adventure:#ff6b35;--cat-chill:#4ecdc4;--cat-food:#ffe66d;--cat-night:#a855f7;--cat-creative:#ec4899;--cat-random:#ef4444}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#f5f5f0;--surface:#fff;--accent:#d4a017;--text:#1a1a2e;--text-sub:#6b6b80;--border:#00000014;--border-strong:#0000001f;--shadow:#00000014;--shadow-soft:#0000000a;--overlay:#00000080;--swipe-discard-bg:#0000000f}}:root[data-theme=light]{--bg:#f5f5f0;--surface:#fff;--accent:#d4a017;--text:#1a1a2e;--text-sub:#6b6b80;--border:#00000014;--border-strong:#0000001f;--shadow:#00000014;--shadow-soft:#0000000a;--overlay:#00000080;--swipe-discard-bg:#0000000f}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-scroll-reverse{0%{transform:translate(-50%)}to{transform:translate(0)}}.marquee-container{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.marquee-track{gap:var(--space-sm);width:max-content;animation:60s linear infinite marquee-scroll;display:flex}.marquee-track.marquee-reverse{animation:65s linear infinite marquee-scroll-reverse}.marquee-container:hover .marquee-track{animation-play-state:paused}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;font-family:Noto Sans JP,sans-serif}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;outline:none;font-family:inherit}input{outline:none;font-family:inherit}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);height:48px;padding:0 var(--space-lg);width:100%;font-size:16px;font-weight:700;transition:transform .1s}.btn-primary:active{transform:scale(.95)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-md);height:48px;padding:0 var(--space-lg);background:0 0;width:100%;font-size:16px;font-weight:700;transition:transform .1s}.btn-secondary:active{transform:scale(.95)}.btn-ghost{color:var(--text-sub);padding:var(--space-sm) var(--space-md);background:0 0;border:none;font-size:14px}.page{height:100%;padding:var(--space-lg);flex-direction:column;align-items:center;display:flex;overflow-y:auto}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.confetti-piece{pointer-events:none;width:10px;height:10px;animation:3s ease-in-out forwards confetti-fall;position:fixed;top:-10px}.code-input{gap:var(--space-sm);justify-content:center;display:flex}.code-input input{background:var(--surface);border-radius:var(--radius-md);width:48px;height:56px;color:var(--text);text-align:center;border:2px solid #0000;font-family:JetBrains Mono,monospace;font-size:24px;font-weight:700}.code-input input:focus{border-color:var(--primary)}
