:root{--paper:#f3eee2;--paper2:#ece5d4;--paper-elevated:#faf7f0;--ink:#23281f;--ink-soft:#5b5f52;--ink-dim:#7a7f71;--rule:#d8cfb8;--rule-subtle:#d8cfb899;--rule-medium:#c8bea5;--teal:#2f6f63;--coral:#c4562f;--gold:#b08a2e;--bg-base:#ece5d4;--bg-surface:#f3eee2;--bg-surface-elevated:#faf7f0;--bg-surface-glass:#f3eee2f0;--bg-glass-card:#f3eee2eb;--bg-glass-hover:#eae3d1;--border-subtle:#d8cfb8;--border-medium:#c8bea5;--border-highlight:#c4562f;--primary-gradient:linear-gradient(135deg, #c4562f 0%, #b08a2e 100%);--primary:#c4562f;--primary-light:#d96b45;--primary-dark:#9e3d1c;--primary-glow:#c4562f40;--primary-subtle:#c4562f1f;--primary-surface:#c4562f0d;--primary-border:#c4562f59;--secondary:#2f6f63;--secondary-glow:#2f6f6340;--accent-cyan:#2f6f63;--accent-emerald:#2f6f63;--accent-emerald-glow:#2f6f6340;--accent-amber:#b08a2e;--accent-amber-glow:#b08a2e40;--accent-rose:#c4562f;--accent-rose-glow:#c4562f40;--accent-violet:#8b5597;--text-main:#23281f;--text-muted:#5b5f52;--text-dim:#7a7f71;--shadow-sm:0 2px 6px #23281f0f;--shadow-md:0 8px 24px -4px #23281f1f;--shadow-lg:0 16px 40px -8px #23281f2e;--shadow-glow:0 0 22px var(--primary-glow);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-full:9999px;--font-display:"Source Serif 4", "Outfit", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--font-handwriting:"Caveat", cursive;--sidebar-width:260px}[data-theme=light]{--bg-base:#ece5d4;--bg-surface:#f3eee2;--bg-surface-elevated:#faf7f0;--bg-surface-glass:#f3eee2f0;--bg-glass-card:#f3eee2eb;--bg-glass-hover:#eae3d1;--border-subtle:#d8cfb8;--border-medium:#c8bea5;--border-highlight:#c4562f;--text-main:#23281f;--text-muted:#5b5f52;--text-dim:#7a7f71;--shadow-sm:0 2px 6px #23281f0f;--shadow-md:0 8px 24px -4px #23281f1f;--shadow-lg:0 16px 40px -8px #23281f2e;--shadow-glow:0 0 20px #c4562f40}[data-theme=dark]{--bg-base:#0b0f17;--bg-surface:#121824;--bg-surface-elevated:#1a2234;--bg-surface-glass:#121824e6;--bg-glass-card:#161e2ed9;--bg-glass-hover:#1e293ee6;--border-subtle:#ffffff14;--border-medium:#ffffff29;--border-highlight:#fb7185;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dim:#64748b;--primary-gradient:linear-gradient(135deg, #c4562f 0%, #b08a2e 100%);--primary:#c4562f;--primary-light:#fb7185;--primary-dark:#9e3d1c;--primary-glow:#c4562f59;--primary-subtle:#c4562f33;--primary-surface:#c4562f14;--primary-border:#c4562f73;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 8px 24px -4px #000000a6;--shadow-lg:0 16px 40px -8px #000c;--shadow-glow:0 0 25px #c4562f59}[data-color-theme=coral],:root:not([data-color-theme]){--theme-swatch:#c4562f;--primary:#c4562f;--primary-light:#d96b45;--primary-dark:#9e3d1c;--primary-subtle:#c4562f1f;--primary-surface:#c4562f0d;--primary-border:#c4562f59;--primary-glow:#c4562f40;--border-highlight:#c4562f;--primary-gradient:linear-gradient(135deg, #c4562f 0%, #b08a2e 100%)}[data-color-theme=teal]{--theme-swatch:#2f6f63;--primary:#2f6f63;--primary-light:#448e80;--primary-dark:#1f4c43;--primary-subtle:#2f6f6324;--primary-surface:#2f6f630f;--primary-border:#2f6f6359;--primary-glow:#2f6f6340;--border-highlight:#2f6f63;--primary-gradient:linear-gradient(135deg, #2f6f63 0%, #1f4c43 100%)}[data-color-theme=amber]{--theme-swatch:#b08a2e;--primary:#b08a2e;--primary-light:#cba547;--primary-dark:#87671c;--primary-subtle:#b08a2e24;--primary-surface:#b08a2e0f;--primary-border:#b08a2e59;--primary-glow:#b08a2e40;--border-highlight:#b08a2e;--primary-gradient:linear-gradient(135deg, #b08a2e 0%, #87671c 100%)}[data-color-theme=indigo]{--theme-swatch:#475896;--primary:#475896;--primary-light:#6173b5;--primary-dark:#313d6b;--primary-subtle:#47589624;--primary-surface:#4758960f;--primary-border:#47589659;--primary-glow:#47589640;--border-highlight:#475896;--primary-gradient:linear-gradient(135deg, #475896 0%, #313d6b 100%)}[data-color-theme=emerald]{--theme-swatch:#3b7a57;--primary:#3b7a57;--primary-light:#529b72;--primary-dark:#27563c;--primary-subtle:#3b7a5724;--primary-surface:#3b7a570f;--primary-border:#3b7a5759;--primary-glow:#3b7a5740;--border-highlight:#3b7a57;--primary-gradient:linear-gradient(135deg, #3b7a57 0%, #27563c 100%)}[data-color-theme=slate]{--theme-swatch:#555f6d;--primary:#555f6d;--primary-light:#737e8e;--primary-dark:#3a424d;--primary-subtle:#555f6d24;--primary-surface:#555f6d0f;--primary-border:#555f6d59;--primary-glow:#555f6d40;--border-highlight:#555f6d;--primary-gradient:linear-gradient(135deg, #555f6d 0%, #3a424d 100%)}[data-color-theme=rose]{--theme-swatch:#ba4b64;--primary:#ba4b64;--primary-light:#d46981;--primary-dark:#8f344a;--primary-subtle:#ba4b6424;--primary-surface:#ba4b640f;--primary-border:#ba4b6459;--primary-glow:#ba4b6440;--border-highlight:#ba4b64;--primary-gradient:linear-gradient(135deg, #ba4b64 0%, #8f344a 100%)}[data-color-theme=graphite]{--theme-swatch:#3a3f47;--primary:#3a3f47;--primary-light:#575d68;--primary-dark:#22262c;--primary-subtle:#3a3f4724;--primary-surface:#3a3f470f;--primary-border:#3a3f4759;--primary-glow:#3a3f4740;--border-highlight:#3a3f47;--primary-gradient:linear-gradient(135deg, #3a3f47 0%, #22262c 100%)}[data-color-theme=plum]{--theme-swatch:#7a4e7f;--primary:#7a4e7f;--primary-light:#9b6ba1;--primary-dark:#58335d;--primary-subtle:#7a4e7f24;--primary-surface:#7a4e7f0f;--primary-border:#7a4e7f59;--primary-glow:#7a4e7f40;--border-highlight:#7a4e7f;--primary-gradient:linear-gradient(135deg, #7a4e7f 0%, #58335d 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);min-height:100vh;color:var(--text-main);font-family:var(--font-body);font-feature-settings:"cv02", "cv03", "cv04", "cv11";-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(#23281f09 1px,#0000 1px);background-size:3px 3px;position:fixed;inset:0}[data-theme=dark] body:before{background-image:radial-gradient(#ffffff09 1px,#0000 1px)}body:after{content:"";pointer-events:none;z-index:0;filter:blur(80px);background:radial-gradient(circle,#c4562f0f 0%,#2f6f630a 50%,#0000 70%);border-radius:50%;width:550px;height:550px;position:fixed;bottom:-150px;right:15%}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-main);font-weight:600}p{color:var(--text-muted)}code,pre{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-medium)}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative}.glass-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all .25s cubic-bezier(.4,0,.2,1)}.glass-card:hover{background:var(--bg-glass-hover);border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.glass-card.interactive{cursor:pointer}.glass-card.interactive:hover{border-color:var(--border-highlight);box-shadow:0 8px 24px -4px var(--primary-glow)}.ruled-paper-bg{background:repeating-linear-gradient(var(--bg-surface) 0px, var(--bg-surface) 35px, var(--border-subtle) 36px)}.gradient-text{background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.btn{font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--text-main);color:var(--bg-surface);box-shadow:0 4px 12px #23281f26}.btn-primary:hover{background:var(--primary);color:#fff;box-shadow:0 6px 18px var(--primary-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-main);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-glass-hover);border-color:var(--border-medium);transform:translateY(-1px)}.btn-outline{color:var(--text-main);border:1.5px solid var(--border-subtle);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-subtle)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--bg-surface-elevated);color:var(--text-main)}.btn-emerald{background:var(--teal);color:#fff;box-shadow:0 4px 12px var(--secondary-glow)}.btn-emerald:hover{background:#255950;transform:translateY(-1px)}.btn-amber{background:var(--gold);color:#fff;box-shadow:0 4px 12px var(--accent-amber-glow)}.btn-rose{background:var(--coral);color:#fff;box-shadow:0 4px 12px var(--accent-rose-glow)}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:.8125rem}.btn-lg{border-radius:var(--radius-md);padding:12px 24px;font-size:1rem}.btn-icon{border-radius:var(--radius-md);padding:8px}.badge{border-radius:var(--radius-full);letter-spacing:.02em;border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);color:var(--text-muted);align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.badge-indigo{color:#475896;background:#4758961f;border-color:#4758964d}.badge-emerald{color:var(--teal);background:#2f6f631f;border-color:#2f6f634d}.badge-amber{color:var(--gold);background:#b08a2e1f;border-color:#b08a2e4d}.badge-rose{color:var(--coral);background:#c4562f1f;border-color:#c4562f4d}.badge-cyan{color:var(--teal);background:#2f6f631f;border-color:#2f6f634d}input,textarea,select{color:var(--text-main);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);outline:none;padding:8px 12px;font-family:inherit;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-surface)}input::placeholder,textarea::placeholder{color:var(--ink-dim)}.pulse-beacon{border-radius:50%;width:8px;height:8px;position:relative}.pulse-beacon:after{content:"";background:inherit;opacity:.6;border-radius:50%;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-ring;position:absolute;inset:-3px}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.35s ease-out forwards fadeIn}.animate-scale-up{animation:.25s cubic-bezier(.16,1,.3,1) forwards scaleUp}.card-flip-container{perspective:1200px;width:100%}.card-flip-inner{text-align:center;width:100%;min-height:280px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.card-flip-inner.is-flipped{transform:rotateY(180deg)}.card-flip-front,.card-flip-back{backface-visibility:hidden;border-radius:var(--radius-lg);width:100%;height:100%;box-shadow:var(--shadow-sm);color:#fff;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border:1px solid #ffffff26;flex-direction:column;justify-content:space-between;padding:28px;display:flex;position:absolute}.card-flip-front *,.card-flip-back *{box-sizing:border-box}.card-flip-back{transform:rotateY(180deg)}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:999;background:#23281f8c;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);width:100%;max-width:680px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) scaleUp;overflow-y:auto;box-shadow:0 25px 60px -15px #23281f59}.app-container{z-index:1;min-height:100vh;display:flex;position:relative}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=900px){.main-content{margin-left:0}}.page-wrapper{width:100%;max-width:1400px;margin:0 auto;padding:28px 36px 60px}@media (width<=768px){.page-wrapper{padding:18px 16px 40px}}
