:root{color-scheme:dark;--bg: #161b27;--surface: #1f2738;--surface-2: #262f44;--text: #e8ebf2;--text-dim: #9aa3b8;--accent: #5b8def;--success: #3ecf8e;--fail: #e0567c;--radius: 14px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text)}button{font:inherit;color:inherit}a{color:var(--accent)}input,select,textarea{font:inherit;background:var(--surface-2);color:var(--text);border:1px solid #38415a;border-radius:8px;padding:.5rem .7rem}.app-shell{display:flex;flex-direction:column;min-height:100%;padding-bottom:64px}.app-content{flex:1;padding:1rem;max-width:640px;margin:0 auto;width:100%}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;background:var(--surface);position:sticky;top:0;z-index:5}.top-bar h1{font-size:1.05rem;margin:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid #2c3450;z-index:10;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{flex:1;text-align:center;padding:.6rem 0;text-decoration:none;color:var(--text-dim);font-size:.78rem}.bottom-nav a.active{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:999px;padding:.65rem 1.3rem;background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.btn.secondary{background:var(--surface-2);color:var(--text)}.btn.success{background:var(--success)}.btn.fail{background:var(--fail)}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}.card-panel{background:var(--surface);border-radius:var(--radius);padding:1rem;margin-bottom:.8rem}.row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.muted{color:var(--text-dim);font-size:.85rem}.due-badge{background:var(--accent);color:#fff;border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:700}.direction-toggle{display:flex;background:var(--surface-2);border-radius:999px;padding:3px;gap:3px}.direction-toggle button{flex:1;border:none;background:transparent;color:var(--text-dim);padding:.4rem .8rem;border-radius:999px;cursor:pointer}.direction-toggle button.active{background:var(--accent);color:#fff}.box-filter{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}.box-filter button{border:1px solid #38415a;background:var(--surface-2);color:var(--text);border-radius:8px;padding:.3rem .7rem;cursor:pointer}.box-filter button.active{background:var(--accent);border-color:var(--accent)}.card3d-scene{perspective:1200px;width:100%;max-width:440px;height:340px;margin:1rem auto;cursor:pointer}.card3d-inner{position:relative;width:100%;height:100%;transition:transform .38s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d}.card3d-inner.flipped{transform:rotateY(180deg)}.card3d-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1.5rem;border-radius:18px;background:var(--surface);overflow:auto;text-align:center;font-size:1.3rem}.card3d-back{transform:rotateY(180deg)}.card-media{max-width:100%;max-height:180px;border-radius:10px}.review-actions{display:flex;gap:.8rem;max-width:440px;margin:.5rem auto}.review-actions .btn{flex:1;padding:1rem}.form-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.form-field label{font-size:.85rem;color:var(--text-dim)}.media-list{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.empty-state{text-align:center;color:var(--text-dim);padding:2rem 1rem}.toast{position:fixed;bottom:76px;left:50%;transform:translate(-50%);background:var(--surface-2);padding:.6rem 1rem;border-radius:999px;font-size:.85rem;z-index:20}
