@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;600;700&family=Share+Tech+Mono&family=Inter:wght@300;400;600&display=swap";*,:before,:after{box-sizing:border-box}body{height:100vh;margin:0;padding:0;overflow:hidden}#root{width:100%;height:100vh;display:flex}:root{--bg-primary:#050a14;--bg-panel:#080f1e;--bg-panel-alt:#060c18;--bg-card:#000a1999;--bg-card-alt:#0003;--text-primary:#c8e6ff;--text-heading:#e8f4ff;--text-muted:#c8e6ff99;--accent:#00c8ff;--accent-05:#00c8ff0d;--accent-08:#00c8ff14;--accent-10:#00c8ff1a;--accent-15:#00c8ff26;--accent-20:#00c8ff33;--accent-25:#00c8ff40;--accent-30:#00c8ff4d;--accent-40:#00c8ff66;--accent-50:#00c8ff80;--accent-60:#00c8ff99;--danger:#ff4d6d;--danger-glow:#ff4d6d4d;--success:#00ff8c;--shadow-glow:#00c8ff1a}[data-theme=light]{--bg-primary:#eef4fb;--bg-panel:#fff;--bg-panel-alt:#f4f8fc;--bg-card:#ffffffd9;--bg-card-alt:#0028500a;--text-primary:#17293d;--text-heading:#0b1c2c;--text-muted:#14283c99;--accent:#0077b6;--accent-05:#0077b60d;--accent-08:#0077b614;--accent-10:#0077b61a;--accent-15:#0077b626;--accent-20:#0077b633;--accent-25:#0077b640;--accent-30:#0077b64d;--accent-40:#0077b666;--accent-50:#0077b680;--accent-60:#0077b699;--danger:#d1425a;--danger-glow:#d1425a40;--success:#14a866;--shadow-glow:#0077b614}[data-theme=jungle]{--bg-primary:#0d1811;--bg-panel:#16241a;--bg-panel-alt:#0f1c13;--bg-card:#162a1b99;--bg-card-alt:#0a140d66;--text-primary:#d9cba8;--text-heading:#f5ead0;--text-muted:#d9cba899;--accent:#d4772e;--accent-05:#d4772e0d;--accent-08:#d4772e14;--accent-10:#d4772e1a;--accent-15:#d4772e26;--accent-20:#d4772e33;--accent-25:#d4772e40;--accent-30:#d4772e4d;--accent-40:#d4772e66;--accent-50:#d4772e80;--accent-60:#d4772e99;--danger:#d1453a;--danger-glow:#d1453a4d;--success:#6fae4f;--shadow-glow:#d4772e1f}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);background-image:radial-gradient(at 20%,#003c7826 0%,#0000 60%),radial-gradient(at 80% 20%,#00b4ff0d 0%,#0000 50%);height:100vh;font-family:Inter,sans-serif;transition:background-color .3s,color .3s;overflow:hidden}.app{width:100%;height:100vh;display:flex;overflow-x:hidden}@media (width<=1024px){.app{--sidebar-width:0px!important}}.sidebar{background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-alt) 100%);border-right:1px solid var(--accent-15);flex-direction:column;gap:24px;width:280px;min-width:280px;padding:24px 16px;display:flex;position:relative;overflow-y:auto}.sidebar:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-40), transparent);height:1px;position:absolute;top:0;left:0;right:0}.sidebar-header{border-bottom:1px solid #00c8ff1a;padding-bottom:16px}.logo{color:#00c8ff;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 20px #00c8ff80,0 0 40px #00c8ff33;font-family:Rajdhani,sans-serif;font-size:32px;font-weight:700}.logo-image{width:100%;max-width:160px;height:auto;margin:0 auto;display:block}.tagline{color:#00c8ff66;letter-spacing:2px;text-transform:uppercase;margin-top:4px;font-family:Share Tech Mono,monospace;font-size:10px}.section-label{letter-spacing:3px;color:var(--accent-40);text-transform:uppercase;margin-bottom:8px;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700}.project-list{flex-direction:column;gap:4px;display:flex}.project-item{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;transition:all .2s;display:flex;position:relative;overflow:hidden}.project-item:before{content:"";background:var(--accent);opacity:0;width:2px;transition:opacity .2s;position:absolute;top:0;bottom:0;left:0}@media (hover:hover){.project-item:hover{background-color:var(--accent-05);border-color:var(--accent-10)}.project-item:hover:before{opacity:.5}}.project-item.active{background:linear-gradient(90deg, var(--accent-10), var(--accent-05));border-color:var(--accent-25);box-shadow:0 0 20px var(--shadow-glow)}.project-item.active:before{opacity:1}.project-name{color:var(--text-primary);font-size:13px;font-weight:600}.project-category{color:var(--accent-40);margin-top:2px;font-family:Share Tech Mono,monospace;font-size:10px}.delete-btn{color:#00c8ff4d;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:4px;font-size:11px;transition:opacity .2s,color .2s}@media (hover:none){.delete-btn{opacity:1}}@media (hover:hover){.project-item:hover .delete-btn{opacity:1}}.delete-btn:hover{color:#ff4d6d}.new-project{flex-direction:column;gap:8px;margin-top:auto;display:flex}.input{background:var(--accent-05);border:1px solid var(--accent-15);color:var(--text-primary);border-radius:6px;outline:none;width:100%;padding:8px 12px;font-family:Inter,sans-serif;font-size:13px;transition:all .2s}.input:focus{border-color:var(--accent-50);background:var(--accent-08);box-shadow:0 0 15px var(--shadow-glow)}.input option{color:#c8e6ff;background-color:#080f1e}.add-btn{background:linear-gradient(135deg, var(--accent-20), var(--accent-20));color:var(--accent);border:1px solid var(--accent-30);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:9px 12px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.add-btn:hover{background:linear-gradient(135deg, var(--accent-30), var(--accent-30));box-shadow:0 0 20px var(--accent-20);border-color:var(--accent-60)}.main{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.main:before{content:"";pointer-events:none;background-image:linear-gradient(#00c8ff05 1px,#0000 1px),linear-gradient(90deg,#00c8ff05 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.content{box-sizing:border-box;flex-direction:column;gap:16px;max-width:100%;height:100%;padding:92px 40px 120px;display:flex;position:relative;overflow:hidden auto}.content-header{border-bottom:1px solid #00c8ff1a;align-items:center;gap:16px;padding-bottom:20px;display:flex}.project-title{color:#e8f4ff;letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 30px #00c8ff33;font-family:Rajdhani,sans-serif;font-size:32px;font-weight:700}.category-badge{color:#00c8ff;letter-spacing:2px;text-transform:uppercase;background:#00c8ff14;border:1px solid #00c8ff40;border-radius:20px;padding:4px 12px;font-family:Share Tech Mono,monospace;font-size:10px}.content-label{letter-spacing:3px;color:var(--accent-40);text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700}.notes-area{background:var(--bg-card);border:1px solid var(--accent-10);width:100%;min-height:300px;color:var(--text-primary);resize:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;outline:none;flex-shrink:0;padding:24px;font-family:Inter,sans-serif;font-size:15px;line-height:1.8;transition:border-color .2s,box-shadow .2s;overflow:hidden}.notes-area:focus{border-color:#00c8ff4d;box-shadow:0 0 30px #00c8ff0d}.notes-area::placeholder{color:#00c8ff33;font-style:italic}.rte-wrapper{flex-direction:column;gap:8px;width:100%;padding-top:50px;display:flex}.rte-toolbar{background:var(--bg-panel-alt);border-bottom:1px solid var(--accent-15);z-index:400;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 16px;display:flex;position:absolute;top:56px;left:0;right:0;box-shadow:0 6px 16px #00000059}.rte-toolbar-disabled{opacity:.4;pointer-events:none}.rte-toolbar-btn.rte-toolbar-btn-active{background:var(--accent-20);border-color:var(--accent-50);color:var(--accent);box-shadow:0 0 10px var(--accent-25)}.rte-color-swatch.rte-color-swatch-active{box-shadow:0 0 0 2px var(--accent), 0 0 10px var(--accent-40);border-color:#fff;transform:scale(1.15)}body.rte-toolbar-active .content{padding-top:138px}body.rte-toolbar-active .home-screen{padding-top:150px}@media (width<=640px){body.rte-toolbar-active .home-screen{padding-top:130px}}.rte-toolbar-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:700;transition:all .15s;display:flex}.rte-toolbar-btn:hover{background:var(--accent-10);border-color:var(--accent-25);color:var(--accent)}.rte-toolbar-divider{background:var(--accent-15);width:1px;height:20px;margin:0 4px}.rte-color-row{align-items:center;gap:4px;display:flex}.rte-color-swatch{cursor:pointer;border:1px solid #ffffff40;border-radius:50%;width:18px;height:18px;padding:0;transition:transform .15s}.rte-color-swatch:hover{transform:scale(1.15)}.rte-color-custom{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:flex;position:relative}.rte-color-custom:hover{background:var(--accent-10)}.rte-color-custom input[type=color]{opacity:0;cursor:pointer;position:absolute;inset:0}.rte-editable{cursor:text;outline:none;min-height:300px}.rte-editable:empty:before{content:attr(data-placeholder);color:#00c8ff33;pointer-events:none;font-style:italic}.rte-editable h2{color:var(--text-heading);margin:12px 0 6px;font-family:Rajdhani,sans-serif;font-size:22px;font-weight:700}.rte-editable ul,.rte-editable ol{margin:8px 0 8px 24px}.rte-editable p{margin:0 0 10px}.empty-state{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex;position:relative}.empty-state h2{letter-spacing:8px;text-transform:uppercase;color:#00c8ff;text-shadow:0 0 40px #00c8ff66,0 0 80px #00c8ff1a;font-family:Rajdhani,sans-serif;font-size:42px;font-weight:700}.empty-state p{color:#00c8ff66;letter-spacing:1px;font-family:Share Tech Mono,monospace;font-size:13px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00c8ff33;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#00c8ff66}.checklist-input{gap:8px;margin-bottom:12px;display:flex}.checklist-input .input{flex:1}.add-task-btn{background:linear-gradient(135deg, var(--accent-20), var(--accent-20));color:var(--accent);border:1px solid var(--accent-30);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:0 18px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.add-task-btn:hover{background:linear-gradient(135deg, var(--accent-30), var(--accent-30));box-shadow:0 0 20px var(--accent-20);border-color:var(--accent-60)}.checklist{flex-direction:column;gap:6px;display:flex;overflow-y:auto}.task-item{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;transition:border-color .2s;display:flex}.task-item:hover{border-color:#00c8ff40}.task-item input[type=checkbox]{accent-color:#00c8ff;cursor:pointer;width:16px;height:16px}.task-item span{color:var(--text-primary);flex:1;font-size:14px}.task-done{text-decoration:line-through;color:#c8e6ff59!important}.delete-task-btn{color:#00c8ff4d;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:4px;font-size:11px;transition:opacity .2s,color .2s}.task-item:hover .delete-task-btn{opacity:1}.delete-task-btn:hover{color:#ff4d6d}.checklist-empty{color:var(--accent-30);padding:8px 0;font-size:13px;font-style:italic}.tab-bar-wrapper{margin-bottom:20px;position:relative}.tab-bar{border-bottom:1px solid var(--accent-10);-webkit-overflow-scrolling:touch;touch-action:pan-x;gap:4px;margin-bottom:0;padding-bottom:0;display:flex;overflow:auto hidden}.tab-bar-fade{pointer-events:none;opacity:0;z-index:5;width:32px;transition:opacity .2s;position:absolute;top:0;bottom:0}.tab-bar-fade.visible{opacity:1}.tab-bar-fade-left{background:linear-gradient(90deg, var(--bg-primary) 0%, transparent 100%);left:0}.tab-bar-fade-right{background:linear-gradient(270deg, var(--bg-primary) 0%, transparent 100%);right:0}.tab-bar .tab,.tab-group,.tab-bar-actions{flex-shrink:0}.manage-tabs-btn.save-order-btn{letter-spacing:1px;color:#00c8ff;border-color:#00c8ff66;width:auto;height:30px;padding:0 12px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700}.tab{background:var(--bg-card-alt);color:var(--accent-40);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:10px 16px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s;position:relative;top:1px}.tab-group{align-items:center;display:flex}.tab-reorder-btn{color:#00c8ff40;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;transition:color .2s}.tab-reorder-btn:hover:not(:disabled){color:#00c8ff}.tab-reorder-btn:disabled{opacity:.15;cursor:not-allowed}.tab:hover{color:var(--accent);background:var(--accent-05)}.tab-active{background:var(--bg-card);border-color:var(--accent-30);color:var(--accent);box-shadow:0 -2px 14px var(--shadow-glow);z-index:2;padding:12px 20px;font-size:14px}.chapter-item{background:var(--bg-card);border:1px solid var(--accent-10);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:border-color .2s;display:flex}.chapter-item:hover{border-color:#00c8ff40}.chapter-item:hover .delete-task-btn,.plot-event:hover .delete-task-btn{opacity:1}.chapter-title{color:var(--text-primary);font-size:14px;font-weight:600}.chapter-header{border-bottom:1px solid #00c8ff1a;flex-shrink:0;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.back-btn{border:1px solid var(--accent-20);color:var(--accent-60);cursor:pointer;letter-spacing:1px;background:0 0;border-radius:6px;padding:6px 12px;font-family:Share Tech Mono,monospace;font-size:11px;transition:all .2s}.back-btn:hover{border-color:var(--accent-50);color:var(--accent)}.chapter-name-input{color:#e8f4ff;letter-spacing:2px;background:0 0;border:none;border-bottom:1px solid #00c8ff33;outline:none;flex:1;width:100%;font-family:Rajdhani,sans-serif;font-size:22px;font-weight:700;transition:border-color .2s}.chapter-name-input:focus{border-bottom-color:#00c8ff80}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--accent-25);width:380px;box-shadow:0 0 60px var(--shadow-glow);border-radius:12px;flex-direction:column;gap:24px;padding:32px;display:flex}@media (width<=640px){.modal{max-width:92vw;max-height:85vh;padding:20px;overflow-y:auto}}.modal-message{color:var(--text-primary);text-align:center;font-size:15px;line-height:1.6}.modal-buttons{justify-content:center;gap:12px;display:flex}.modal-cancel{border:1px solid var(--accent-20);color:var(--accent-60);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;padding:10px 24px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.modal-cancel:hover{border-color:var(--accent-50);color:var(--accent)}.modal-confirm{color:#ff4d6d;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#ff4d6d33,#ff4d6d1a);border:1px solid #ff4d6d4d;border-radius:6px;padding:10px 24px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.modal-confirm:hover{background:linear-gradient(135deg,#ff4d6d4d,#ff4d6d33);box-shadow:0 0 20px #ff4d6d33}.image-upload-label{color:#00c8ff66;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:2px dashed #00c8ff33;border-radius:12px;justify-content:center;align-items:center;padding:40px;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:700;transition:all .2s;display:flex}.image-upload-label:hover{color:#00c8ff;background:#00c8ff08;border-color:#00c8ff80}.image-preview{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.remove-image-btn{color:#ff4d6d;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ff4d6d4d;border-radius:6px;width:100%;padding:6px 14px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.remove-image-btn:hover{background:#ff4d6d1a;box-shadow:0 0 15px #ff4d6d26}.character-profile{align-items:flex-start;gap:24px;display:flex}.character-description{flex-direction:column;flex:1;min-width:0;display:flex}.character-notes{min-height:420px}.character-card{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:12px;flex-direction:column;flex-shrink:0;gap:16px;width:30%;min-width:280px;max-width:400px;padding:16px;display:flex}.character-image{flex-direction:column;align-items:center;width:100%;display:flex}.character-image .image-upload-label{width:100%;padding:24px;font-size:12px}.character-fields{flex-direction:column;gap:8px;display:flex}.character-field{border-bottom:1px solid #00c8ff0f;align-items:center;gap:6px;padding:6px 0;display:flex}.field-label-input{color:var(--accent-50);letter-spacing:1px;text-transform:uppercase;cursor:text;background:0 0;border:none;outline:none;width:110px;min-width:110px;font-family:Share Tech Mono,monospace;font-size:10px}.field-label-input:focus{color:var(--accent)}.field-value-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:Inter,sans-serif;font-size:13px}.field-value-input:focus{border-bottom:1px solid #00c8ff4d}.field-delete{opacity:0;transition:opacity .2s}.character-field:hover .field-delete{opacity:1}.add-field-btn{color:#00c8ff66;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px dashed #00c8ff33;border-radius:6px;margin-top:4px;padding:8px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.add-field-btn:hover{color:#00c8ff;border-color:#00c8ff66}.image-zoom-container{background:#0000004d;border:1px solid #00c8ff33;border-radius:8px;justify-content:center;align-items:center;width:100%;height:auto;display:flex;position:relative;overflow:hidden}.image-zoom-container img{object-fit:contain;width:100%;height:auto;transition:transform 50ms}.image-edit-btn{color:#00c8ff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;opacity:0;z-index:2;background:#000a19cc;border:1px solid #00c8ff4d;border-radius:4px;padding:4px 10px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:opacity .2s;position:absolute;bottom:8px;right:8px}.image-zoom-container:hover .image-edit-btn{opacity:1}.zoom-slider{accent-color:#00c8ff;cursor:pointer;width:100%;margin-top:8px}.image-edit-buttons{gap:8px;width:100%;margin-top:4px;display:flex}.image-save-btn{background:linear-gradient(135deg, var(--accent-20), var(--accent-20));border:1px solid var(--accent-30);color:var(--accent);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:6px;flex:1;padding:6px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.image-save-btn:hover{background:linear-gradient(135deg, var(--accent-30), var(--accent-30));box-shadow:0 0 15px var(--accent-20)}.image-cancel-btn{border:1px solid var(--accent-15);color:var(--accent-50);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:6px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.image-cancel-btn:hover{border-color:var(--accent-30);color:var(--accent)}.plot-event{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:8px;gap:10px;padding:14px;display:flex}.plot-event-order{flex-direction:column;gap:4px;display:flex}.order-btn{color:#00c8ff80;cursor:pointer;background:0 0;border:1px solid #00c8ff26;border-radius:4px;width:24px;height:24px;font-size:10px;transition:all .2s}.order-btn:hover:not(:disabled){color:#00c8ff;border-color:#00c8ff66}.order-btn:disabled{opacity:.2;cursor:not-allowed}.plot-event-content{flex-direction:column;flex:1;gap:8px;display:flex}.plot-event-header{align-items:center;gap:10px;display:flex}.plot-event-title{color:var(--text-heading);background:0 0;border:none;outline:none;flex:1;font-family:Rajdhani,sans-serif;font-size:16px;font-weight:700}.plot-event-title:focus{border-bottom:1px solid #00c8ff4d}.plot-status{background:var(--accent-08);border:1px solid var(--accent-20);color:var(--accent);cursor:pointer;border-radius:6px;outline:none;padding:4px 8px;font-family:Share Tech Mono,monospace;font-size:10px}.plot-status option{background-color:#080f1e}.plot-event-desc{color:#c8e6ff;resize:none;background:#0003;border:1px solid #00c8ff14;border-radius:6px;outline:none;flex-shrink:0;min-height:60px;padding:10px;font-family:Inter,sans-serif;font-size:13px;overflow:hidden}.plot-event-desc:focus{border-color:#00c8ff40}.plot-date{color:#c8e6ff;cursor:pointer;background:#00c8ff14;border:1px solid #00c8ff33;border-radius:6px;outline:none;padding:4px 8px;font-family:Share Tech Mono,monospace;font-size:11px}.plot-date::-webkit-calendar-picker-indicator{filter:invert(.8)sepia()saturate(5)hue-rotate(150deg);cursor:pointer}.date-toggle-btn{cursor:pointer;background:#00c8ff14;border:1px solid #00c8ff33;border-radius:6px;width:28px;height:28px;font-size:12px;transition:all .2s}.date-toggle-btn:hover{background:#00c8ff1f;border-color:#00c8ff66}.sidebar{transition:width .2s,min-width .2s,padding .2s}.sidebar.collapsed{width:50px;min-width:50px;padding:24px 8px}.sidebar.collapsed .sidebar-header{border-bottom:none;justify-content:center;padding-bottom:0;display:flex}.collapse-btn{border:1px solid var(--accent-20);color:var(--accent-60);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;width:24px;height:24px;font-size:10px;transition:all .2s}.collapse-btn:hover{border-color:var(--accent-50);color:var(--accent)}.sidebar:not(.collapsed) .sidebar-header{justify-content:space-between;align-items:flex-start;display:flex}.home-btn{border:1px solid var(--accent-20);color:var(--accent-60);cursor:pointer;letter-spacing:1px;background:0 0;border-radius:6px;padding:6px 12px;font-family:Share Tech Mono,monospace;font-size:11px;transition:all .2s}.home-btn:hover{border-color:var(--accent-50);color:var(--accent)}.home-screen{flex-direction:column;flex:1;padding:104px 48px 48px;display:flex;overflow-y:auto}.home-header{margin-bottom:40px}.home-title{letter-spacing:6px;text-transform:uppercase;color:var(--accent);text-shadow:0 0 30px var(--accent-40), 0 0 60px var(--accent-10);font-family:Rajdhani,sans-serif;font-size:48px;font-weight:700}.home-logo-image{object-fit:contain;z-index:1;width:auto;max-width:100%;height:100%;margin:0 auto;display:block;position:relative}.home-logo-banner{aspect-ratio:1900/300;border:1px solid #00c8ff26;border-radius:16px;justify-content:center;align-items:center;width:100%;max-width:1900px;margin:0 auto;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 60px #00c8ff14}.banner-settings-btn{color:#00c8ff99;cursor:pointer;background:#000a19b3;border:1px solid #00c8ff33;border-radius:6px;width:28px;height:28px;font-size:12px;transition:all .2s;position:absolute;top:12px;right:12px}.banner-settings-save{letter-spacing:1px;color:#00c8ff;border-color:#00c8ff66;width:auto;padding:0 12px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700}.banner-cancel-btn{color:#00c8ff99;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:6px;width:100%;padding:8px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.banner-cancel-btn:hover{color:#00c8ff;border-color:#00c8ff66}.banner-settings-btn:hover{color:#00c8ff;border-color:#00c8ff80}.banner-settings-panel{z-index:10;background:#080f1e;border:1px solid #00c8ff40;border-radius:10px;flex-direction:column;gap:10px;width:220px;padding:16px;display:flex;position:absolute;top:48px;right:12px;box-shadow:0 0 30px #0006}.banner-settings-below{top:unset;right:unset;width:100%;max-width:500px;margin:0 auto;position:relative;box-shadow:0 8px 30px #0006}.banner-preset-row{gap:8px;display:flex}.banner-preset-swatch{cursor:pointer;background-color:#0a1424;border:1px solid #00c8ff33;border-radius:6px;width:32px;height:32px;transition:border-color .2s}.banner-preset-swatch:hover{border-color:#00c8ff80}.banner-preset-active{border-color:#00c8ff;box-shadow:0 0 10px #00c8ff4d}.banner-upload-label{letter-spacing:1px;text-transform:uppercase;color:#00c8ff99;cursor:pointer;border:1px dashed #00c8ff40;border-radius:6px;justify-content:center;align-items:center;padding:8px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s;display:flex}.banner-upload-label:hover{color:#00c8ff;border-color:#00c8ff80}.banner-remove-btn{color:#ff4d6d;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ff4d6d4d;border-radius:6px;padding:6px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.banner-remove-btn:hover{background:#ff4d6d1a}.home-logo-image{z-index:1;position:relative}.banner-settings-btn{z-index:2}.banner-upload-hint{color:#00c8ff59;letter-spacing:.5px;text-align:center;margin-top:-4px;font-family:Share Tech Mono,monospace;font-size:10px;line-height:1.4}.banner-adjust-btn{color:#00c8ff99;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:6px;padding:6px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.banner-adjust-btn:hover{color:#00c8ff;border-color:#00c8ff80}.home-subtitle{color:var(--accent-40);letter-spacing:2px;text-transform:uppercase;margin-top:8px;font-family:Share Tech Mono,monospace;font-size:13px}.project-view-toggle{gap:6px;margin-top:4px;display:flex}.project-view-btn{color:#00c8ff80;letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:20px;padding:5px 14px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.project-view-btn:hover{color:#00c8ff;border-color:#00c8ff66}.project-view-active{color:#00c8ff;background:#00c8ff26;border-color:#00c8ff80}.project-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--accent-10);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;gap:8px;min-height:100px;padding:20px;transition:all .2s;display:flex;position:relative}@media (hover:hover){.project-card:hover{border-color:#00c8ff66;transform:translateY(-2px);box-shadow:0 0 25px #00c8ff1a}}.card-name{color:var(--text-heading);letter-spacing:1px;font-family:Rajdhani,sans-serif;font-size:18px;font-weight:700}.card-category{color:var(--accent-50);letter-spacing:1px;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px}.card-delete{position:absolute;top:12px;right:12px}@media (hover:none){.card-delete{opacity:1}}.sidebar-tab-bar{border-bottom:1px solid #00c8ff1a;gap:4px;margin-bottom:4px;padding-bottom:8px;display:flex}.sidebar-tab{color:#00c8ff66;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:6px 4px;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700;transition:all .2s}.sidebar-tab:hover{color:#00c8ff}.sidebar-tab-active{color:#00c8ff;border-bottom:2px solid #00c8ff}.sidebar-panel{flex-direction:column;flex:1;gap:8px;display:flex;overflow:hidden}.sidebar-notes{flex:1;padding:14px;font-size:13px;overflow-y:auto}.sidebar-checklist{flex:1;overflow-y:auto}.home-header{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.home-new-btn{color:#00c8ff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#00c8ff33,#0096ff33);border:1px solid #00c8ff4d;border-radius:8px;padding:10px 24px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.home-new-btn:hover{background:linear-gradient(135deg,#00c8ff4d,#0096ff4d);border-color:#00c8ff99;box-shadow:0 0 20px #00c8ff33}.home-new-form{background:#000a1999;border:1px solid #00c8ff26;border-radius:10px;gap:10px;width:100%;max-width:500px;padding:16px;display:flex}.home-new-form .input{width:auto}@media (hover:hover){.project-card:hover .card-delete{opacity:1}}.manage-tabs-btn{border:1px solid var(--accent-15);color:var(--accent-40);cursor:pointer;background:0 0;border-radius:6px;align-self:center;width:30px;height:30px;margin-left:4px;font-size:13px;transition:all .2s}.tab-bar-actions{align-self:center;margin-left:auto;display:flex}.manage-tabs-btn:hover{border-color:var(--accent-40);color:var(--accent)}.tab-manager{background:var(--bg-card);border:1px solid var(--accent-15);border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.tab-manager-item{color:var(--text-primary);cursor:pointer;align-items:center;gap:10px;font-size:13px;display:flex}.tab-manager-item input[type=checkbox]{accent-color:#00c8ff;cursor:pointer;width:16px;height:16px}.fabric-search{margin-bottom:16px}.fabric-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid;overflow-y:auto}.fabric-card{background:var(--bg-card);border:1px solid var(--accent-10);cursor:pointer;border-radius:12px;flex-direction:column;transition:all .2s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.fabric-card:hover{border-color:var(--accent-40);box-shadow:0 0 25px var(--shadow-glow);transform:translateY(-2px)}}.fabric-card:hover .delete-btn{opacity:1}.fabric-card-image{aspect-ratio:1;background:#0000004d;width:100%;overflow:hidden}.fabric-card-img{object-fit:cover;width:100%;height:100%}.fabric-card-no-image{color:#00c8ff33;letter-spacing:1px;text-transform:uppercase;justify-content:center;align-items:center;width:100%;height:100%;font-family:Share Tech Mono,monospace;font-size:10px;display:flex}.fabric-card-info{flex-direction:column;gap:4px;padding:10px 12px;display:flex}.fabric-card-name{color:var(--text-heading);font-family:Rajdhani,sans-serif;font-size:14px;font-weight:700}.fabric-card-type{color:var(--accent-50);text-transform:uppercase;letter-spacing:1px;font-family:Share Tech Mono,monospace;font-size:10px}.collector-qty-badge{z-index:2;border:1px solid var(--accent-30);color:var(--accent);letter-spacing:1px;background:#000a19bf;border-radius:10px;padding:2px 7px;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700;position:absolute;top:8px;left:8px}.collector-official-badge{z-index:2;color:var(--success);letter-spacing:1px;text-transform:uppercase;background:#00ff8c26;border:1px solid #00ff8c66;border-radius:10px;padding:3px 8px;font-family:Share Tech Mono,monospace;font-size:9px;font-weight:700;position:absolute;top:8px;left:8px}.set-picker-backdrop{z-index:39;position:fixed;inset:0}.set-picker-dropdown{background:var(--bg-panel);border:1px solid var(--accent-25);z-index:40;border-radius:8px;flex-direction:column;max-height:320px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 0 30px #00000080}.set-picker-option{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px;transition:background .15s;display:flex}.set-picker-option:hover{background:var(--accent-10)}.set-picker-option img{object-fit:contain;flex-shrink:0;width:18px;height:18px}.collector-subtab-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.collector-subtab{background:var(--bg-card-alt);border:1px solid var(--accent-20);letter-spacing:1px;color:var(--text-muted);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 8px 6px 14px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s;display:flex}.collector-subtab-active{color:var(--text-heading)}.collector-subtab-remove{color:inherit;opacity:0;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:2px 4px;font-size:11px;transition:opacity .2s}.collector-subtab:hover .collector-subtab-remove{opacity:.6}.collector-subtab-remove:hover{color:var(--danger);opacity:1!important}.collector-subtab-add{border:1px dashed var(--accent-30);color:var(--accent-50);letter-spacing:1px;cursor:pointer;background:0 0;border-radius:20px;padding:6px 14px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.collector-subtab-add:hover{border-color:var(--accent-60);color:var(--accent)}.collector-theme-wrapper{background:var(--bg-primary);border:1px solid var(--accent-15);border-radius:14px;padding:20px;transition:background .3s}[data-card-theme=pokemon]{--bg-primary:#0a0e1f;--bg-panel:#10152a;--bg-panel-alt:#0c1022;--bg-card:#14193299;--bg-card-alt:#0a0a144d;--text-primary:#fff4d6;--text-heading:#fff9e6;--text-muted:#fff4d699;--accent:#ffcb05;--accent-05:#ffcb050d;--accent-08:#ffcb0514;--accent-10:#ffcb051a;--accent-15:#ffcb0526;--accent-20:#ffcb0533;--accent-25:#ffcb0540;--accent-30:#ffcb054d;--accent-40:#ffcb0566;--accent-50:#ffcb0580;--accent-60:#ffcb0599;--danger:#ee1515;--danger-glow:#ee15154d;--success:#3b4cca;--shadow-glow:#ffcb051f}[data-card-theme=lorcana]{--bg-primary:#170a24;--bg-panel:#20122f;--bg-panel-alt:#180d26;--bg-card:#23143799;--bg-card-alt:#140a1e4d;--text-primary:#f0e0ff;--text-heading:#f8ecff;--text-muted:#f0e0ff99;--accent:#c9a13b;--accent-05:#c9a13b0d;--accent-08:#c9a13b14;--accent-10:#c9a13b1a;--accent-15:#c9a13b26;--accent-20:#c9a13b33;--accent-25:#c9a13b40;--accent-30:#c9a13b4d;--accent-40:#c9a13b66;--accent-50:#c9a13b80;--accent-60:#c9a13b99;--danger:#d9487a;--danger-glow:#d9487a4d;--success:#5fd68c;--shadow-glow:#c9a13b24}[data-card-theme=mtg]{--bg-primary:#0c0c0e;--bg-panel:#141416;--bg-panel-alt:#0e0e10;--bg-card:#14141699;--bg-card-alt:#0a0a0a4d;--text-primary:#e8dcc0;--text-heading:#f2e8d0;--text-muted:#e8dcc099;--accent:#b8912f;--accent-05:#b8912f0d;--accent-08:#b8912f14;--accent-10:#b8912f1a;--accent-15:#b8912f26;--accent-20:#b8912f33;--accent-25:#b8912f40;--accent-30:#b8912f4d;--accent-40:#b8912f66;--accent-50:#b8912f80;--accent-60:#b8912f99;--danger:#a83232;--danger-glow:#a832324d;--success:#2f7d4f;--shadow-glow:#b8912f1a}[data-card-theme=yugioh]{--bg-primary:#150a20;--bg-panel:#1e1030;--bg-panel-alt:#170c26;--bg-card:#26123c99;--bg-card-alt:#140a204d;--text-primary:#f2e0ff;--text-heading:#faf0ff;--text-muted:#f2e0ff99;--accent:#d4af37;--accent-05:#d4af370d;--accent-08:#d4af3714;--accent-10:#d4af371a;--accent-15:#d4af3726;--accent-20:#d4af3733;--accent-25:#d4af3740;--accent-30:#d4af374d;--accent-40:#d4af3766;--accent-50:#d4af3780;--accent-60:#d4af3799;--danger:#ff2e63;--danger-glow:#ff2e634d;--success:#2ec4b6;--shadow-glow:#d4af3724}[data-card-theme=onepiece]{--bg-primary:#050f1f;--bg-panel:#0a1a30;--bg-panel-alt:#071224;--bg-card:#0a1e3799;--bg-card-alt:#050f1e4d;--text-primary:#ffe8d6;--text-heading:#fff2e0;--text-muted:#ffe8d699;--accent:#e8393b;--accent-05:#e8393b0d;--accent-08:#e8393b14;--accent-10:#e8393b1a;--accent-15:#e8393b26;--accent-20:#e8393b33;--accent-25:#e8393b40;--accent-30:#e8393b4d;--accent-40:#e8393b66;--accent-50:#e8393b80;--accent-60:#e8393b99;--danger:#b91c1c;--danger-glow:#b91c1c4d;--success:#ffb703;--shadow-glow:#e8393b24}.fabric-detail{flex:1;align-items:flex-start;gap:24px;min-height:0;display:flex;overflow:hidden}.fabric-detail-image{flex-direction:column;flex:1;gap:12px;min-width:0;height:calc(100vh - 250px);display:flex;overflow-y:scroll}.fabric-img-wrapper{border:1px solid #00c8ff33;border-radius:8px;max-width:100%;line-height:0;display:inline-block;position:relative;overflow:hidden}.fabric-detail-img{width:100%;max-width:100%;height:auto;display:block}.fabric-detail-fields{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:12px;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:8px;width:380px;min-width:380px;max-height:90vh;padding:16px;display:flex;position:sticky;top:0;overflow-y:auto}.fabric-img-wrapper:hover .image-edit-btn{opacity:1}.fabric-fields-footer{border-top:1px solid #00c8ff14;margin-top:auto;padding-top:12px}.fabric-field-active .field-label-input,.fabric-field-active .field-value-input{pointer-events:auto;cursor:text}.fabric-detail-fields input:disabled{opacity:1;cursor:default;color:var(--text-primary);-webkit-text-fill-color:var(--text-primary)}.fabric-images-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.add-fabric-image-btn{background:linear-gradient(135deg, var(--accent-20), var(--accent-20));color:var(--accent);border:1px solid var(--accent-30);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:6px 14px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.add-fabric-image-btn:hover{background:linear-gradient(135deg, var(--accent-30), var(--accent-30));box-shadow:0 0 20px var(--accent-20)}.fabric-image-canvas{background:var(--bg-card-alt);border:1px solid var(--accent-08);border-radius:12px;flex:1;width:100%;min-height:600px;position:relative;overflow:auto}.fabric-image-dragging{opacity:.85;box-shadow:0 0 20px #00c8ff33}.fabric-image-cell{background:#000a1966;border:1px solid #00c8ff26;border-radius:10px;flex-direction:column;gap:8px;min-width:80px;max-width:100%;padding:8px;transition:width .1s;display:flex;position:relative}.fabric-image-primary{border-color:#00c8ff80;box-shadow:0 0 15px #00c8ff1a}.fabric-primary-badge{letter-spacing:2px;text-transform:uppercase;color:#00c8ff;background:#00c8ff1a;border:1px solid #00c8ff33;border-radius:4px;align-self:flex-start;padding:2px 6px;font-family:Share Tech Mono,monospace;font-size:9px}.fabric-cell-img{border-radius:6px;width:100%;height:auto;display:block}.fabric-image-controls{flex-direction:column;gap:6px;display:flex}.fabric-image-btn-row{flex-wrap:wrap;gap:4px;display:flex}.fabric-img-action-btn{color:#00c8ff99;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:4px;flex:1;padding:4px 8px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.fabric-img-action-btn:hover:not(:disabled){color:#00c8ff;border-color:#00c8ff80}.fabric-img-action-btn:disabled{opacity:.2;cursor:not-allowed}.fabric-img-action-btn.danger{color:#ff4d6d;border-color:#ff4d6d4d}.fabric-img-action-btn.danger:hover{background:#ff4d6d1a}.fabric-img-edit-btn{color:#00c8ff80;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:4px;width:100%;padding:4px 8px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.fabric-img-edit-btn:hover{color:#00c8ff;border-color:#00c8ff80}.fabric-image-nudge-row{flex-wrap:wrap;gap:4px;display:flex}.fabric-cell-img-wrapper{width:100%;position:relative}.fabric-cell-img-wrapper:hover .fabric-hover-edit-btn{opacity:1}.fabric-hover-edit-btn{color:#00c8ff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;opacity:0;z-index:2;background:#000a19d9;border:1px solid #00c8ff4d;border-radius:4px;padding:4px 10px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:opacity .2s;position:absolute;bottom:8px;right:8px}.fabric-image-label{color:#00c8ff99;letter-spacing:1px;text-align:center;text-transform:uppercase;padding:4px 0;font-family:Share Tech Mono,monospace;font-size:10px}.fabric-image-name-input{margin-bottom:4px;padding:6px 8px;font-size:11px}.fabric-image-editing{z-index:10;border-color:#00c8ff66;box-shadow:0 0 15px #00c8ff26}.resize-handle{z-index:20;background:#00c8ff;border:2px solid #080f1e;border-radius:2px;width:12px;height:12px;position:absolute}.resize-handle-nw{cursor:nw-resize;top:-6px;left:-6px}.resize-handle-ne{cursor:ne-resize;top:-6px;right:-6px}.resize-handle-sw{cursor:sw-resize;bottom:-6px;left:-6px}.resize-handle-se{cursor:se-resize;bottom:-6px;right:-6px}.logo-picker-row{flex-wrap:wrap;gap:8px;display:flex}.logo-picker-btn{cursor:pointer;background:#000a1999;border:1px solid #00c8ff26;border-radius:8px;flex:1;padding:6px;transition:all .2s}.logo-picker-btn:hover{border-color:#00c8ff66}.logo-picker-active{border-color:#00c8ff;box-shadow:0 0 10px #00c8ff33}.logo-picker-img{width:100%;height:auto;display:block}.chapters-header{justify-content:space-between;align-items:center;display:flex}.export-pdf-btn{color:#00c8ff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#00c8ff33,#0096ff33);border:1px solid #00c8ff4d;border-radius:6px;padding:6px 14px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.export-pdf-btn:hover{background:linear-gradient(135deg,#00c8ff4d,#0096ff4d);border-color:#00c8ff99;box-shadow:0 0 20px #00c8ff33}.project-name-area{flex:1;min-width:0}.rename-row,.card-rename-row{align-items:center;gap:6px;width:100%;display:flex}.rename-input{background:var(--accent-08);border:1px solid var(--accent-40);color:var(--text-heading);border-radius:4px;outline:none;flex:1;min-width:0;padding:2px 6px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:600}.card-rename{font-size:16px}.rename-edit-btn{color:#00c8ff4d;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:12px;transition:opacity .2s,color .2s}.project-item:hover .rename-edit-btn,.project-card:hover .card-rename-edit{opacity:1}.rename-edit-btn:hover{color:#00c8ff}.rename-save-btn{color:#00c8ff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#00c8ff33,#0096ff33);border:1px solid #00c8ff4d;border-radius:4px;flex-shrink:0;padding:3px 8px;font-family:Rajdhani,sans-serif;font-size:10px;font-weight:700;transition:all .2s}.rename-save-btn:hover{background:linear-gradient(135deg,#00c8ff4d,#0096ff4d);box-shadow:0 0 10px #00c8ff33}.plot-delete-btn{color:#ff4d6d;letter-spacing:1px;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ff4d6d4d;border-radius:4px;flex-shrink:0;padding:4px 10px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.plot-delete-btn:hover{background:#ff4d6d1a}.show-ideas-list{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:16px;padding:16px;display:flex}.show-ideas-list-header{border-bottom:1px solid #00c8ff14;margin-bottom:4px;padding-bottom:10px}.show-ideas-list-header .rename-edit-btn{opacity:1}.show-ideas-list-name{color:var(--accent);letter-spacing:2px;text-transform:uppercase;flex:1;font-family:Rajdhani,sans-serif;font-size:16px;font-weight:700}.show-ideas-item{background:var(--bg-card-alt);border:1px solid var(--accent-08);border-radius:8px;flex-direction:column;gap:6px;padding:10px 14px;transition:border-color .2s;display:flex}.show-ideas-item:hover{border-color:#00c8ff33}.show-ideas-item-row{align-items:center;gap:10px;display:flex}.show-ideas-item-row .delete-task-btn{opacity:1}.show-ideas-item-name{min-width:0;color:var(--text-primary);white-space:normal;word-break:break-word;overflow-wrap:break-word;flex:1;font-size:14px}.show-ideas-expand-btn{color:#00c8ff80;cursor:pointer;background:0 0;border:1px solid #00c8ff26;border-radius:4px;width:24px;height:24px;font-size:10px;transition:all .2s}.show-ideas-expand-btn:hover{color:#00c8ff;border-color:#00c8ff66}.show-ideas-notes{color:#c8e6ff;resize:none;background:#00c8ff08;border:1px solid #00c8ff1a;border-radius:6px;outline:none;flex-shrink:0;width:100%;min-height:70px;padding:10px;font-family:Inter,sans-serif;font-size:13px;line-height:1.6;overflow:hidden}.show-ideas-notes:focus{border-color:#00c8ff4d}.show-ideas-archive-section{border-top:1px solid #00c8ff0f;margin-top:4px;padding-top:8px}.show-ideas-archive-toggle{color:#00c8ff59;letter-spacing:1px;cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:Share Tech Mono,monospace;font-size:11px;transition:color .2s}.show-ideas-archive-toggle:hover{color:#00c8ff99}.show-ideas-item-used{opacity:.6}.show-ideas-item-name-used{text-decoration:line-through;color:#c8e6ff66!important}.show-ideas-archive-btn{color:#00c8ff66;cursor:pointer;background:0 0;border:1px solid #00c8ff26;border-radius:4px;width:24px;height:24px;font-size:11px;transition:all .2s}.show-ideas-archive-btn:hover{color:#00c8ff;border-color:#00c8ff80}.show-ideas-unarchive-btn{color:#00c8ff66;letter-spacing:1px;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #00c8ff26;border-radius:4px;padding:3px 8px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.show-ideas-unarchive-btn:hover{color:#00c8ff;border-color:#00c8ff66}.episode-card{background:var(--bg-card);border:1px solid var(--accent-10);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:border-color .2s;display:flex}@media (hover:hover){.episode-card:hover{border-color:var(--accent-30)}}.episode-card-archived{opacity:.6}.episode-card-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.episode-card-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.episode-number{color:var(--accent-50);letter-spacing:1px;white-space:nowrap;font-family:Share Tech Mono,monospace;font-size:11px}.episode-title{color:var(--text-primary);font-size:14px;font-weight:600}.episode-date{color:var(--accent-40);font-family:Share Tech Mono,monospace;font-size:11px}.episode-status-badge{letter-spacing:1px;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px}.episode-meta-row{background:var(--bg-card-alt);border:1px solid var(--accent-08);border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:8px;padding:12px 16px;display:flex}.episode-meta-field{align-items:center;gap:8px;display:flex}.episode-meta-label{color:var(--accent-40);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;font-family:Share Tech Mono,monospace;font-size:10px}.episode-meta-input{border:none;border-bottom:1px solid var(--accent-20);color:var(--text-primary);background:0 0;outline:none;width:60px;padding:2px 4px;font-family:Inter,sans-serif;font-size:13px}.episode-archive-toggle{color:#00c8ff80;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:4px;padding:4px 10px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.episode-archive-toggle:hover{color:#00c8ff;border-color:#00c8ff66}.episode-archive-toggle-on{color:#00ff8cb3;border-color:#00ff8c4d}.episode-rows{flex-direction:column;gap:12px;display:flex}.episode-row{background:#000a1966;border:1px solid #00c8ff14;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.episode-row-toolbar{border-bottom:1px solid #00c8ff0f;align-items:center;gap:8px;padding-bottom:8px;display:flex}.episode-row-layout-label{color:#00c8ff4d;letter-spacing:1px;text-transform:uppercase;flex:1;font-family:Share Tech Mono,monospace;font-size:10px}.episode-row-slots{align-items:flex-start;gap:12px;display:flex}.episode-row-slots-1 .episode-slot{width:100%}.episode-row-slots-2 .episode-slot{width:calc(50% - 6px)}.episode-row-slots-3 .episode-slot{width:calc(33.333% - 8px)}.episode-slot{border-radius:8px;flex-shrink:0;min-height:80px;transition:all .2s}.episode-slot-drag-over{background:#00c8ff0f;border:2px dashed #00c8ff66}.episode-block{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:8px;flex-direction:column;gap:10px;height:100%;padding:14px;display:flex}.episode-block-toolbar{border-bottom:1px solid #00c8ff14;align-items:center;gap:8px;padding-bottom:8px;display:flex}.episode-block-drag-handle{color:#00c8ff4d;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 4px;font-size:14px}.episode-block-drag-handle:hover{color:#00c8ff99}.episode-block-drag-handle:active{cursor:grabbing}.episode-block-heading{color:var(--text-heading);letter-spacing:1px;background:0 0;border:none;outline:none;flex:1;font-family:Rajdhani,sans-serif;font-size:15px;font-weight:700}.episode-block-heading:focus{border-bottom:1px solid #00c8ff4d}.episode-block-type-badge{letter-spacing:2px;text-transform:uppercase;color:#00c8ff4d;background:#00c8ff0d;border:1px solid #00c8ff1a;border-radius:4px;flex-shrink:0;padding:2px 6px;font-family:Share Tech Mono,monospace;font-size:9px}.episode-block-textarea{background:var(--bg-card-alt);border:1px solid var(--accent-08);color:var(--text-primary);resize:none;border-radius:6px;outline:none;width:100%;min-height:60px;padding:10px;font-family:Inter,sans-serif;font-size:14px;line-height:1.7;overflow:hidden}.episode-block-textarea:focus{border-color:#00c8ff40}.episode-slot-add-btn{color:#00c8ff4d;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px dashed #00c8ff26;border-radius:8px;width:100%;min-height:80px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.episode-slot-add-btn:hover{color:#00c8ff99;background:#00c8ff08;border-color:#00c8ff59}.episode-block-guest{flex-direction:column;gap:10px;display:flex}.episode-guest-select{width:100%;font-size:12px}.episode-guest-card{background:#00c8ff0a;border:1px solid #00c8ff1f;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.episode-guest-img{object-fit:cover;border-radius:6px;flex-shrink:0;width:60px;height:60px}.episode-guest-info{flex-direction:column;gap:4px;display:flex}.episode-guest-name{color:#e8f4ff;letter-spacing:1px;font-family:Rajdhani,sans-serif;font-size:15px;font-weight:700}.episode-guest-field{color:#c8e6ff99;font-size:12px}.episode-guest-field-label{color:#00c8ff80;font-family:Share Tech Mono,monospace;font-size:10px}.episode-block-quickselect{flex-direction:column;gap:10px;display:flex}.episode-qs-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.episode-qs-tags{flex-wrap:wrap;gap:8px;display:flex}.episode-qs-tag{color:#00c8ff;letter-spacing:1px;background:#00c8ff14;border:1px solid #00c8ff33;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-family:Share Tech Mono,monospace;font-size:11px;display:flex}.episode-qs-tag-remove{color:#00c8ff80;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;line-height:1;transition:color .2s}.episode-qs-tag-remove:hover{color:#ff4d6d}.episode-block-list{flex-direction:column;gap:6px;display:flex}.episode-list-item{align-items:center;gap:8px;display:flex}.episode-list-bullet{color:#00c8ff80;flex-shrink:0;font-size:16px}.episode-list-input{color:#c8e6ff;resize:none;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;border-bottom:1px solid #00c8ff1a;outline:none;flex:1;min-width:0;padding:4px 0;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}.episode-list-input:focus{border-bottom-color:#00c8ff4d}.episode-block-table-wrapper{overflow-x:auto}.episode-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:13px}.episode-table th{background:#00c8ff0f;border:1px solid #00c8ff1a;padding:6px 8px}.episode-table td{border:1px solid #00c8ff14;padding:4px 8px}.episode-table-header-input{color:#00c8ff;letter-spacing:1px;text-transform:uppercase;text-align:center;background:0 0;border:none;outline:none;width:100%;font-family:Share Tech Mono,monospace;font-size:11px}.episode-table-cell-input{color:#c8e6ff;resize:none;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;outline:none;width:100%;font-family:Inter,sans-serif;font-size:13px;line-height:1.5;display:block;overflow:hidden}.episode-table-th{position:relative}.episode-table-th:hover .episode-table-delete-col{opacity:1}.episode-table-delete-col{color:#ff4d6d;cursor:pointer;opacity:0;background:0 0;border:none;padding:2px;font-size:9px;line-height:1;transition:opacity .2s;position:absolute;top:2px;right:2px}.episode-table-th-action{background:#00c8ff08;width:32px}.episode-table-td-action{text-align:center;width:32px}.episode-table-actions{gap:8px;margin-top:8px;display:flex}.episode-add-row{margin-top:4px}.episode-add-block-btn{color:#00c8ff66;letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px dashed #00c8ff33;border-radius:8px;width:100%;padding:12px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.episode-add-block-btn:hover{color:#00c8ff;border-color:#00c8ff66}.episode-row-picker{background:#000a19cc;border:1px solid #00c8ff26;border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.episode-row-picker-grid{gap:12px;display:flex}.episode-row-layout-btn{cursor:pointer;color:#00c8ff99;letter-spacing:1px;background:#00c8ff0a;border:1px solid #00c8ff1f;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:12px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s;display:flex}.episode-row-layout-btn:hover{color:#00c8ff;background:#00c8ff14;border-color:#00c8ff66}.episode-row-layout-preview{gap:4px;width:100%;height:28px;display:flex}.episode-row-layout-preview div{background:#00c8ff33;border-radius:3px;flex:1}.episode-block-picker{background:#000a19cc;border:1px solid #00c8ff26;border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.episode-block-picker-grid{flex-wrap:wrap;gap:8px;display:flex}.episode-block-type-btn{color:#c8e6ff;letter-spacing:1px;cursor:pointer;background:#00c8ff0f;border:1px solid #00c8ff26;border-radius:8px;padding:10px 16px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.episode-block-type-btn:hover{color:#00c8ff;background:#00c8ff1a;border-color:#00c8ff66}.guest-episodes-section{margin-top:8px}.guest-episode-tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.guest-episode-tag{color:#00c8ff;letter-spacing:1px;cursor:pointer;background:#00c8ff14;border:1px solid #00c8ff40;border-radius:20px;padding:6px 14px;font-family:Share Tech Mono,monospace;font-size:11px;transition:all .2s}.guest-episode-tag:hover{background:#00c8ff26;box-shadow:0 0 12px #00c8ff33}.top-btn-row{background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-alt) 100%);border-bottom:1px solid var(--accent-15);z-index:500;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:absolute;top:0;left:0;right:0}.top-btn-row-left{align-items:center;gap:8px;display:flex}.mobile-menu-btn{border:1px solid var(--accent-20);color:var(--accent-60);cursor:pointer;background:0 0;border-radius:6px;width:34px;height:34px;font-size:16px;transition:all .2s;display:none}.mobile-menu-btn:hover{border-color:var(--accent-50);color:var(--accent)}.sidebar-backdrop{display:none}@media (width<=1024px){.mobile-menu-btn{justify-content:center;align-items:center;display:flex}.collapse-btn{display:none}.sidebar{z-index:900;height:100vh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #00000080}.sidebar.mobile-open{transform:translate(0)}.sidebar-backdrop.visible{z-index:800;background:#0009;display:block;position:fixed;inset:0}.character-profile,.fabric-detail,.lore-detail,.sewing-project-detail{flex-direction:column}.character-card,.fabric-detail-fields,.lore-detail-links{width:100%;min-width:0;max-width:100%;max-height:none;position:static}.fabric-detail-image{height:auto}}.top-btn-row-right{align-items:center;gap:8px;display:flex}.updates-btn-wrapper,.server-btn-wrapper{position:relative}.server-panel{width:300px}.server-info-text{color:var(--text-muted);margin:4px 0;font-size:13px}.server-error-text{color:#ff4d6d;background:#ff4d6d1a;border:1px solid #ff4d6d4d;border-radius:6px;margin-top:10px;padding:8px;font-size:12px}.known-servers-list{flex-direction:column;gap:6px;margin-top:10px;margin-bottom:4px;display:flex}.known-server-item{align-items:center;gap:6px;display:flex}.known-server-btn{cursor:pointer;text-align:left;background:#00c8ff0d;border:1px solid #00c8ff26;border-radius:6px;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:6px 10px;transition:all .2s;display:flex}.known-server-btn:hover{background:#00c8ff1a;border-color:#00c8ff66}.known-server-username{color:var(--accent);font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700}.known-server-url{color:var(--accent-40);font-family:Share Tech Mono,monospace;font-size:10px}.known-server-remove{color:#ff4d6d99;cursor:pointer;background:0 0;border:1px solid #ff4d6d33;border-radius:4px;flex-shrink:0;width:24px;height:24px}.known-server-remove:hover{color:#ff4d6d;border-color:#ff4d6d80}.offline-badge{letter-spacing:1px;color:var(--danger);background:var(--danger-glow);white-space:nowrap;border:1px solid #ff4d6d4d;border-radius:4px;padding:5px 10px;font-family:Share Tech Mono,monospace;font-size:11px}.offline-badge-syncing{color:var(--accent);background:var(--accent-08);border-color:var(--accent-25)}.conflict-modal{width:640px;max-width:92vw}.conflict-detail-text{color:var(--text-primary);text-align:center;font-size:13px;line-height:1.6}.conflict-preview-row{gap:12px;display:flex}.conflict-preview-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.conflict-preview-label{letter-spacing:1px;text-transform:uppercase;color:var(--accent-50);font-family:Share Tech Mono,monospace;font-size:10px}.conflict-preview-json{border:1px solid var(--accent-10);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;background:#0000004d;border-radius:6px;max-height:220px;padding:10px;font-family:Share Tech Mono,monospace;font-size:11px;overflow:auto}.conflict-btn-keep-theirs,.conflict-btn-keep-mine{letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:6px;padding:10px 24px;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.conflict-btn-keep-theirs{border:1px solid var(--accent-25);color:var(--accent-60);background:0 0}.conflict-btn-keep-theirs:hover{border-color:var(--accent-50);color:var(--accent)}.conflict-btn-keep-mine{background:linear-gradient(135deg, var(--accent-20), var(--accent-20));border:1px solid var(--accent-40);color:var(--accent)}.conflict-btn-keep-mine:hover{background:linear-gradient(135deg, var(--accent-30), var(--accent-30));box-shadow:0 0 15px var(--accent-20)}.updates-btn{background:var(--bg-card);border:1px solid var(--accent-30);color:var(--accent);letter-spacing:1px;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;padding:5px 10px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.updates-btn:hover{border-color:var(--accent-60);box-shadow:0 0 20px var(--accent-15)}.update-available-btn{border:1px solid var(--success);color:var(--success);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:#00ff8c1f;border-radius:4px;padding:5px 10px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s;animation:2.4s ease-in-out infinite update-btn-pulse}.update-available-btn:hover{background:#00ff8c38;box-shadow:0 0 20px #00ff8c40}@keyframes update-btn-pulse{0%,to{box-shadow:0 0 #00ff8c00}50%{box-shadow:0 0 12px #00ff8c59}}.updates-panel{background:#080f1e;border:1px solid #00c8ff33;border-radius:12px;flex-direction:column;gap:12px;width:380px;max-height:70vh;padding:20px;display:flex;position:absolute;top:44px;right:0;overflow-y:auto;box-shadow:0 0 40px #0009}.updates-warning{color:#ffc800cc;letter-spacing:.5px;background:#ffc80014;border:1px solid #ffc80040;border-radius:8px;padding:12px;font-family:Share Tech Mono,monospace;font-size:11px;line-height:1.6}.updates-section-label{letter-spacing:3px;color:#00c8ff66;text-transform:uppercase;border-bottom:1px solid #00c8ff14;padding-bottom:6px;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700}.updates-list{flex-direction:column;gap:10px;display:flex}.updates-entry{background:#00c8ff08;border:1px solid #00c8ff12;border-radius:6px;flex-direction:column;gap:4px;padding:10px;display:flex}.updates-date{color:#00c8ff66;letter-spacing:1px;font-family:Share Tech Mono,monospace;font-size:10px}.updates-roadmap-badge{color:#00ff8c99;letter-spacing:1px;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px}.updates-badge-complete{color:#00ff8ce6;letter-spacing:1px;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px}.updates-badge-inprogress{color:#ffc800b3;letter-spacing:1px;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px}.updates-text{color:#c8e6ffb3;font-family:Inter,sans-serif;font-size:12px;line-height:1.6}.updates-close-btn{border:1px solid var(--accent-20);color:var(--accent-50);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;margin-top:4px;padding:8px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.updates-close-btn:hover{border-color:var(--accent-40);color:var(--accent)}.tab-back-btn{color:#00c8ff99;letter-spacing:1px;cursor:pointer;background:#00c8ff0f;border:1px solid #00c8ff33;border-radius:6px;flex-shrink:0;align-self:center;margin-right:12px;padding:5px 12px;font-family:Share Tech Mono,monospace;font-size:11px;transition:all .2s}.tab-back-btn:hover{color:#00c8ff;background:#00c8ff1f;border-color:#00c8ff66}.pattern-image-preview{flex-direction:column;gap:8px;width:100%;display:flex}.pattern-cover-img{border:1px solid var(--accent-15);object-fit:contain;border-radius:8px;width:100%;height:auto}.sewing-project-detail{flex:1;align-items:flex-start;gap:24px;min-height:0;display:flex;overflow:hidden}.sewing-project-link-btn{color:#00c8ff;letter-spacing:1px;cursor:pointer;text-align:left;background:0 0;border:1px solid #00c8ff33;border-radius:6px;width:100%;margin-top:4px;padding:6px 12px;font-family:Share Tech Mono,monospace;font-size:11px;transition:all .2s}.sewing-project-link-btn:hover{background:#00c8ff14;border-color:#00c8ff66}.sewing-fabric-tag{align-items:center;gap:4px;display:flex}.pattern-pdf-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.pattern-pdf-card{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .2s;display:flex}.pattern-pdf-card:hover{border-color:#00c8ff40}.pattern-pdf-icon{flex-shrink:0;font-size:24px}.pattern-pdf-info{flex:1;min-width:0}.pattern-pdf-name{color:var(--text-primary);letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-family:Share Tech Mono,monospace;font-size:12px;overflow:hidden}.pattern-pdf-actions{flex-shrink:0;gap:6px;display:flex}.banner-canvas-img{-webkit-user-select:none;user-select:none;pointer-events:none;height:auto;display:block}.banner-image-item{line-height:0;display:inline-block;position:absolute}.banner-image-editing{outline:1px dashed #00c8ff99}.banner-rotate-handle{color:#00c8ff;cursor:grab;z-index:30;background:#000a19d9;border:1px solid #00c8ff66;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:flex;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.banner-rotate-handle:active{cursor:grabbing}.banner-image-delete-btn{color:#fff;cursor:pointer;z-index:30;background:#ff4d6dcc;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;line-height:1;display:flex;position:absolute;top:-10px;right:-10px}.banner-image-delete-btn:hover{background:#ff4d6d}.banner-image-list{flex-direction:column;gap:6px;display:flex}.banner-image-list-item{background:#00c8ff0a;border:1px solid #00c8ff1a;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;display:flex}.banner-image-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:30px}.banner-image-list-label{color:#00c8ff80;letter-spacing:1px;flex:1;font-family:Share Tech Mono,monospace;font-size:11px}.banner-edit-toggle-btn{color:#00c8ff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000a19cc;border:1px solid #00c8ff4d;border-radius:4px;padding:4px 10px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s;position:absolute;bottom:10px;right:46px}.banner-edit-toggle-btn:hover{border-color:#00c8ff99;box-shadow:0 0 12px #00c8ff26}.project-banner-wrapper{width:100%;margin-bottom:8px}.project-banner{border:1px solid var(--accent-15);background:var(--bg-card-alt);border-radius:10px;width:100%;height:120px;position:relative;overflow:hidden}.project-banner-controls{z-index:20;position:absolute;top:8px;right:8px}.project-banner-edit-btn-wrapper{z-index:20;position:absolute;bottom:8px;right:8px}.project-banner-settings{background:var(--bg-panel);border:1px solid var(--accent-20);border-radius:10px;flex-direction:column;gap:10px;margin-top:8px;padding:16px;display:flex;box-shadow:0 8px 30px #0006}.project-banner-title-block{pointer-events:none;z-index:5;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.project-banner-title{color:var(--text-heading);letter-spacing:4px;text-transform:uppercase;text-shadow:0 0 20px #000c,0 2px 4px #0009;margin:0;font-family:Rajdhani,sans-serif;font-size:28px;font-weight:700}.project-banner-category{color:#00c8ffb3;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 10px #000c;font-family:Share Tech Mono,monospace;font-size:10px}.plot-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.plot-header-actions{gap:6px;display:flex}.plot-view-btn{color:#00c8ff80;letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:6px;padding:5px 12px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.plot-view-btn:hover{color:#00c8ff;border-color:#00c8ff66}.plot-view-active{color:#00c8ff;background:#00c8ff14;border-color:#00c8ff80}.plot-calendar-settings{background:#000a1999;border:1px solid #00c8ff26;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:12px;padding:16px;display:flex}.calendar-unit-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-unit-label{flex-shrink:0;width:120px}.calendar-unit-count{flex-shrink:0;width:70px}.calendar-unit-per{color:#00c8ff80;white-space:nowrap;font-family:Share Tech Mono,monospace;font-size:11px}.plot-custom-date-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plot-custom-date-field{align-items:center;gap:4px;display:flex}.plot-custom-date-label{color:#00c8ff80;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;font-family:Share Tech Mono,monospace;font-size:10px}.plot-custom-date-input{width:70px;padding:4px 8px;font-size:12px}.plot-graph-wrapper{flex-direction:column;gap:12px;display:flex}.plot-graph-controls{align-items:center;gap:10px;display:flex}.plot-zoom-label{color:#00c8ff80;text-align:center;min-width:40px;font-family:Share Tech Mono,monospace;font-size:11px}.plot-graph-scroll{background:#0003;border:1px solid #00c8ff14;border-radius:10px;padding:120px 0;overflow:auto visible}.plot-graph{min-width:100%;height:4px;margin:0 auto;position:relative}.plot-timeline-line{background:linear-gradient(90deg,#0000,#00c8ff66,#00c8ff99,#00c8ff66,#0000);height:2px;position:absolute;top:0;left:60px;right:60px}.plot-graph-event{flex-direction:column;align-items:center;display:flex;position:absolute;top:-2px;transform:translate(-50%)}.plot-graph-marker{cursor:pointer;z-index:2;border:2px solid #080f1e;border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:transform .2s;position:relative}.plot-graph-marker:hover{transform:scale(1.3)}.plot-graph-stem-up,.plot-graph-stem-down{background:#00c8ff33;width:2px;height:40px}.plot-graph-label-above{flex-direction:column;align-items:center;gap:2px;max-width:120px;margin-bottom:4px;display:flex}.plot-graph-label-below{flex-direction:column;align-items:center;gap:2px;max-width:120px;margin-top:4px;display:flex}.plot-graph-title{color:var(--text-heading);text-align:center;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;overflow:hidden}.plot-graph-date{color:#00c8ff66;text-align:center;white-space:nowrap;font-family:Share Tech Mono,monospace;font-size:9px}.plot-graph-popup{background:var(--bg-panel);border:1px solid var(--accent-25);z-index:100;border-radius:8px;flex-direction:column;gap:6px;width:200px;padding:12px;display:flex;position:absolute;top:24px;left:0;box-shadow:0 0 30px #0009}.plot-graph-popup-title{color:var(--text-heading);letter-spacing:1px;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:700}.plot-graph-popup-date{color:#00c8ff80;font-family:Share Tech Mono,monospace;font-size:10px}.plot-graph-popup-desc{color:#c8e6ff99;font-size:12px;line-height:1.5}.plot-graph-legend{align-items:center;gap:16px;display:flex}.plot-legend-item{color:#00c8ff66;letter-spacing:1px;text-transform:uppercase;align-items:center;gap:6px;font-family:Share Tech Mono,monospace;font-size:10px;display:flex}.plot-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.lore-search-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.lore-category-pills{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.lore-category-pill{color:#00c8ff80;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:20px;padding:4px 10px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.lore-category-pill:hover{color:#00c8ff;border-color:#00c8ff66}.lore-pill-active{color:#00c8ff;background:#00c8ff26;border-color:#00c8ff80}.lore-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.lore-card{background:var(--bg-card);border:1px solid var(--accent-10);cursor:pointer;border-radius:12px;flex-direction:column;transition:all .2s;display:flex;position:relative;overflow:hidden}@media (hover:hover){.lore-card:hover{box-shadow:0 0 25px var(--shadow-glow);transform:translateY(-2px)}}.lore-card-category-bar{flex-shrink:0;width:100%;height:3px}.lore-card-content{flex-direction:column;flex:1;gap:4px;padding:14px;display:flex}.lore-card-title{color:var(--text-heading);letter-spacing:1px;font-family:Rajdhani,sans-serif;font-size:16px;font-weight:700}.lore-card-subtitle{color:var(--accent-40);letter-spacing:1px;font-family:Share Tech Mono,monospace;font-size:10px}.lore-card-tag{letter-spacing:1px;text-transform:uppercase;margin-top:2px;font-family:Share Tech Mono,monospace;font-size:10px}.lore-card-preview{color:#c8e6ff80;margin-top:6px;font-size:12px;line-height:1.5}.lore-detail{align-items:flex-start;gap:24px;display:flex}.lore-detail-main{flex-direction:column;flex:1;gap:10px;min-width:0;padding-bottom:40px;display:flex}.lore-title-input{border:none;border-bottom:1px solid var(--accent-15);color:var(--text-heading);letter-spacing:2px;background:0 0;outline:none;width:100%;padding:2px 0;font-family:Rajdhani,sans-serif;font-size:20px;font-weight:700;transition:border-color .2s}.lore-title-input:focus{border-bottom-color:#00c8ff66}.lore-subtitle-input{color:#00c8ff80;letter-spacing:1px;background:0 0;border:none;border-bottom:1px solid #00c8ff1a;outline:none;width:100%;padding:2px 0;font-family:Share Tech Mono,monospace;font-size:12px;transition:border-color .2s}.lore-subtitle-input:focus{border-bottom-color:#00c8ff4d}.lore-category-row{align-items:center;gap:10px;display:flex}.lore-category-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;transition:background .2s}.lore-category-input{flex:1;padding:6px 10px;font-size:12px}.lore-detail-links{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:12px;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:12px;width:280px;min-width:280px;max-height:calc(100vh - 220px);padding:16px;display:flex;position:sticky;top:0;overflow-y:auto}.lore-link-section{border-bottom:1px solid #00c8ff0f;flex-direction:column;gap:6px;padding-bottom:12px;display:flex}.lore-link-section:last-of-type{border-bottom:none}.lore-link-label{color:#00c8ff66;letter-spacing:2px;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px}.lore-link-tags{flex-wrap:wrap;gap:6px;display:flex}.lore-link-tag{align-items:center;gap:3px;display:flex}.bestiary-page{flex-direction:column;gap:12px;display:flex}.bestiary-page-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bestiary-edit-active{background:#00c8ff2e}.bestiary-stat-block{gap:8px;margin-bottom:8px;display:flex}.bestiary-stat-box{background:var(--accent-05);border:1px solid var(--accent-20);border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 6px;display:flex}.bestiary-stat-label{letter-spacing:2px;color:#00c8ff80;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700}.bestiary-stat-value{color:var(--text-heading);text-align:center;background:0 0;border:none;outline:none;width:100%;font-family:Rajdhani,sans-serif;font-size:20px;font-weight:700}.bestiary-stat-value:focus{color:#00c8ff}.bestiary-card-stats{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.bestiary-card-stat-pill{letter-spacing:.5px;color:#00c8ff99;background:#00c8ff0f;border:1px solid #00c8ff26;border-radius:4px;padding:3px 6px;font-family:Share Tech Mono,monospace;font-size:9px}.bestiary-canvas{background:#00000026;border-radius:8px;position:relative;overflow:auto}.bestiary-canvas-fullpage{border:none;border-radius:0;min-height:75vh;margin:0 -40px -120px}.bestiary-block{border:1px solid var(--accent-15);background:var(--bg-card);border-radius:8px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.bestiary-block-toolbar{background:#00000059;border-bottom:1px solid #00c8ff26;flex-shrink:0;align-items:center;gap:6px;padding:2px 6px;display:flex}.bestiary-block-handle{cursor:grab;color:#00c8ff80;-webkit-user-select:none;user-select:none;font-size:14px}.bestiary-block-handle:active{cursor:grabbing}.bestiary-block-primary-btn{color:#ffd70099;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.bestiary-block-primary-badge{color:gold;font-size:12px}.bestiary-block-delete{color:#ff4d6d99;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:11px}.bestiary-block-delete:hover{color:#ff4d6d}.bestiary-block-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.bestiary-block-img{object-fit:cover;width:100%;height:100%;display:block}.bestiary-block-textarea{width:100%;color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;padding:8px;font-family:Inter,sans-serif;font-size:13px}.bestiary-stats-content{flex-direction:column;flex:1;gap:4px;padding:10px;display:flex;overflow-y:auto}.bestiary-block-resize-handle{color:#00c8ff66;cursor:nwse-resize;-webkit-user-select:none;user-select:none;font-size:12px;line-height:1;position:absolute;bottom:2px;right:2px}.bestiary-block-resize-handle:hover{color:#00c8ff}.bestiary-mobile-stack{flex-direction:column;gap:16px;display:flex}.bestiary-mobile-block{background:#000a1980;border:1px solid #00c8ff26;border-radius:8px;overflow:hidden}.bestiary-mobile-block-toolbar{background:#0000004d;border-bottom:1px solid #00c8ff1a;align-items:center;gap:10px;padding:6px 10px;display:flex}.bestiary-mobile-action-btn{color:#ffd700cc;cursor:pointer;background:0 0;border:1px solid #ffd7004d;border-radius:4px;padding:3px 8px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700}.bestiary-mobile-delete{color:#ff4d6d;cursor:pointer;background:0 0;border:1px solid #ff4d6d4d;border-radius:4px;margin-left:auto;padding:3px 8px;font-family:Rajdhani,sans-serif;font-size:11px;font-weight:700}.bestiary-mobile-block-image .bestiary-block-img{object-fit:contain;width:100%;height:auto;max-height:400px}.bestiary-mobile-block-text .bestiary-block-textarea{min-height:140px;padding:12px}.bestiary-mobile-block-stats .bestiary-stats-content{overflow-y:visible}.bestiary-mobile-add-row{flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.region-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.region-pending-connection{background:#000a19e6;border:1px solid #00c8ff4d;border-radius:10px;flex-direction:column;gap:8px;max-width:380px;margin-bottom:12px;padding:14px;display:flex}.region-canvas{position:relative}.region-svg-layer{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.region-node{background:var(--bg-card);border:1px solid var(--accent-25);z-index:2;border-radius:10px;width:160px;padding:8px;position:absolute}.region-node-draggable{cursor:grab}.region-node-draggable:active{cursor:grabbing}.region-node-selected{border-color:var(--accent);box-shadow:0 0 14px var(--accent-40)}.region-node-header{align-items:center;gap:6px;display:flex}.region-node-name-input{color:var(--text-heading);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:700}.region-node-delete{color:#ff4d6d99;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:11px}.region-node-delete:hover{color:#ff4d6d}.region-node-notes{background:var(--bg-card-alt);border:1px solid var(--accent-10);width:100%;min-height:80px;color:var(--text-primary);resize:vertical;border-radius:6px;outline:none;margin-top:6px;padding:6px;font-family:Inter,sans-serif;font-size:12px}.region-connection-label{z-index:3;position:absolute;transform:translate(-50%,-50%)}@media (width<=640px){.home-logo-banner{aspect-ratio:2;padding:12px}.home-screen{padding:130px 20px 32px}}.finance-month-nav{align-items:center;gap:12px;margin-bottom:16px;display:flex}.finance-month-label{color:var(--text-heading);letter-spacing:1px;text-align:center;min-width:160px;font-family:Rajdhani,sans-serif;font-size:18px;font-weight:700}.finance-month-btn{border:1px solid var(--accent-20);color:var(--accent-60);cursor:pointer;background:0 0;border-radius:6px;width:32px;height:32px;font-size:14px;transition:all .2s}.finance-month-btn:hover{border-color:var(--accent-50);color:var(--accent)}.finance-summary-row{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.finance-summary-card{background:var(--bg-card);border:1px solid var(--accent-10);border-left:3px solid var(--accent-30);border-radius:12px;flex-direction:column;flex:1;gap:6px;min-width:160px;padding:16px 20px;display:flex}.finance-summary-card.income{border-left-color:var(--success)}.finance-summary-card.expense{border-left-color:var(--danger)}.finance-summary-label{letter-spacing:2px;text-transform:uppercase;color:var(--accent-40);font-family:Share Tech Mono,monospace;font-size:10px}.finance-summary-value{color:var(--text-heading);font-family:Rajdhani,sans-serif;font-size:26px;font-weight:700}.finance-summary-value.income{color:var(--success)}.finance-summary-value.expense{color:var(--danger)}.finance-add-form{background:var(--bg-card-alt);border:1px solid var(--accent-08);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;padding:12px;display:flex}.finance-add-form .input{flex:1;width:auto;min-width:120px}.finance-type-toggle{gap:4px;display:flex}.finance-type-btn{border:1px solid var(--accent-20);color:var(--accent-50);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.finance-type-btn.active-income{border-color:var(--success);color:var(--success);background:#00ff8c26}.finance-type-btn.active-expense{border-color:var(--danger);color:var(--danger);background:#ff4d6d26}.finance-type-btn.active-transfer{background:var(--accent-15);border-color:var(--accent);color:var(--accent)}.finance-transaction-list{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.finance-transaction-row{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.finance-transaction-date{color:var(--accent-40);flex-shrink:0;width:90px;font-family:Share Tech Mono,monospace;font-size:11px}.finance-transaction-desc{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:Inter,sans-serif;font-size:13px}.finance-category-badge{letter-spacing:1px;text-transform:uppercase;background:var(--accent-10);border:1px solid var(--accent-25);color:var(--accent);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:3px 10px;font-family:Share Tech Mono,monospace;font-size:10px}.finance-transaction-amount{text-align:right;flex-shrink:0;width:100px;font-family:Rajdhani,sans-serif;font-size:15px;font-weight:700}.finance-transaction-amount.income{color:var(--success)}.finance-transaction-amount.expense{color:var(--danger)}.finance-category-manager{background:var(--bg-card);border:1px solid var(--accent-15);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px;display:flex}.finance-category-chip-row{flex-wrap:wrap;gap:8px;display:flex}.finance-category-chip{background:var(--accent-08);border:1px solid var(--accent-20);color:var(--accent);letter-spacing:1px;border-radius:20px;align-items:center;gap:6px;padding:5px 10px;font-family:Share Tech Mono,monospace;font-size:11px;display:flex}.finance-budget-list{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.finance-budget-row{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:10px;flex-direction:column;gap:6px;padding:12px 16px;display:flex}.finance-budget-row-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.finance-budget-category-name{color:var(--text-heading);font-family:Rajdhani,sans-serif;font-size:14px;font-weight:700}.finance-budget-input{text-align:right;width:100px}.finance-budget-actual{color:var(--accent-50);font-family:Share Tech Mono,monospace;font-size:11px}.finance-budget-bar-track{background:var(--accent-08);border-radius:4px;width:100%;height:8px;overflow:hidden}.finance-budget-bar-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .3s}.finance-budget-bar-fill.over{background:var(--danger)}.finance-chart-wrapper{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:12px;height:320px;margin-bottom:24px;padding:20px}.finance-empty-chart{height:100%;color:var(--accent-30);justify-content:center;align-items:center;font-family:Share Tech Mono,monospace;font-size:12px;display:flex}.finance-account-list{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.finance-account-card{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.finance-account-starting-row{align-items:center;gap:6px;margin-top:2px;display:flex}.finance-account-starting-label{color:#00c8ff66;white-space:nowrap;font-family:Share Tech Mono,monospace;font-size:10px}.finance-account-starting-input{width:100px;padding:3px 8px;font-size:11px}.finance-account-header{align-items:center;gap:10px;display:flex}.finance-account-name{min-width:0;color:var(--text-heading);background:0 0;border:none;outline:none;flex:1;font-family:Rajdhani,sans-serif;font-size:16px;font-weight:700}.finance-account-type-badge{letter-spacing:1px;text-transform:uppercase;background:var(--accent-10);border:1px solid var(--accent-25);color:var(--accent);cursor:pointer;border-radius:20px;flex-shrink:0;padding:4px 10px;font-family:Share Tech Mono,monospace;font-size:10px}.finance-account-balance{font-family:Rajdhani,sans-serif;font-size:22px;font-weight:700}.finance-account-starting{color:var(--accent-40);font-family:Share Tech Mono,monospace;font-size:10px}.finance-transfer-list{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.finance-transfer-row{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.finance-transfer-route{flex-shrink:0;align-items:center;gap:8px;display:flex}.finance-transfer-arrow{color:var(--accent-40);font-size:14px}.finance-manage-categories-btn{color:#00c8ff99;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:6px;margin-bottom:12px;padding:8px 16px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.finance-manage-categories-btn:hover{color:#00c8ff;background:#00c8ff0d;border-color:#00c8ff80}.finance-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.family-connection-type-row{gap:8px;display:flex}.family-connection-type-btn{color:#00c8ff80;letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #00c8ff33;border-radius:6px;padding:6px 12px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.family-connection-type-btn:hover{color:#00c8ff;border-color:#00c8ff66}.family-connection-type-active-parent-child{color:#00c8ff;background:#00c8ff26;border-color:#00c8ff}.family-connection-type-active-spouse{color:#d4772e;background:#d4772e26;border-color:#d4772e}.family-connection-type-active-sibling{color:#a0f;background:#aa00ff26;border-color:#a0f}.family-node-dates-row{gap:6px;margin-top:4px;display:flex}.family-node-date-input{width:50%;padding:3px 6px;font-size:10px}.family-node-character-select{width:100%;margin-top:4px;padding:4px 6px;font-size:11px}.family-legend{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}.family-legend-item{color:#00c8ff66;letter-spacing:1px;text-transform:uppercase;align-items:center;gap:6px;font-family:Share Tech Mono,monospace;font-size:10px;display:flex}.family-legend-line{border-top-width:2px;width:24px;height:0}.family-legend-line-parent-child{border-top-style:solid;border-top-color:#00c8ff}.family-legend-line-spouse{border-top-style:dashed;border-top-color:#d4772e}.family-legend-line-sibling{border-top-style:dotted;border-top-color:#a0f}.family-relationship-tag{letter-spacing:.5px;cursor:pointer;border:none;border-radius:20px;padding:5px 12px;font-family:Share Tech Mono,monospace;font-size:11px;font-weight:700;transition:all .2s;box-shadow:0 2px 10px #0006}.family-relationship-tag-parent-child{color:#050a14;background:#00c8ff}.family-relationship-tag-parent-child:hover{background:#33d4ff}.family-relationship-tag-spouse{color:#1a0d05;background:#d4772e}.family-relationship-tag-spouse:hover{background:#e08a45}.family-relationship-tag-sibling{color:#fff;background:#a0f}.family-relationship-tag-sibling:hover{background:#c033ff}.region-connection-tag{color:#050a14;letter-spacing:.5px;cursor:pointer;background:#00c8ff;border:none;border-radius:20px;padding:5px 12px;font-family:Share Tech Mono,monospace;font-size:11px;font-weight:700;transition:all .2s;box-shadow:0 2px 10px #0006}.region-connection-tag:hover{background:#33d4ff}.debt-list{flex-direction:column;gap:16px;margin-top:8px;display:flex}.debt-card{background:var(--bg-card);border:1px solid var(--accent-10);border-radius:12px;flex-direction:column;gap:10px;padding:16px 20px;transition:border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.debt-card-paid-off{border-color:#00ff8c66;box-shadow:0 0 25px #00ff8c1a}.debt-card-header{align-items:center;gap:10px;display:flex}.debt-paid-badge{letter-spacing:1px;text-transform:uppercase;color:var(--success);white-space:nowrap;background:#00ff8c1a;border:1px solid #00ff8c4d;border-radius:20px;padding:4px 12px;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:700}.debt-card-meta{flex-wrap:wrap;gap:8px;display:flex}.debt-meta-pill{letter-spacing:1px;text-transform:uppercase;background:var(--accent-10);border:1px solid var(--accent-25);color:var(--accent);border-radius:20px;padding:3px 10px;font-family:Share Tech Mono,monospace;font-size:10px}.debt-balance-row{align-items:baseline;gap:8px;display:flex}.debt-remaining{color:var(--text-heading);font-family:Rajdhani,sans-serif;font-size:26px;font-weight:700}.debt-remaining-label{letter-spacing:1px;text-transform:uppercase;color:var(--accent-40);font-family:Share Tech Mono,monospace;font-size:10px}.debt-original{color:var(--accent-40);font-family:Share Tech Mono,monospace;font-size:12px}.debt-progress-track{background:var(--accent-08);border-radius:6px;width:100%;height:10px;overflow:hidden}.debt-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-60));border-radius:6px;height:100%;transition:width .4s}.debt-progress-fill-complete{background:linear-gradient(90deg, var(--success), #00ffb0)}.debt-payment-list{border-top:1px solid #00c8ff0f;flex-direction:column;gap:4px;margin-top:4px;padding-top:8px;display:flex}.debt-payment-row{align-items:center;gap:12px;padding:4px 0;font-size:12px;display:flex}.debt-field-group{flex-direction:column;gap:4px;display:flex}.debt-field-label{letter-spacing:1px;text-transform:uppercase;color:var(--accent-40);font-family:Share Tech Mono,monospace;font-size:9px}.confetti-overlay{z-index:2000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:.9;border-radius:1px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.2;transform:translateY(100vh)rotate(720deg)}}.confetti-message{letter-spacing:4px;color:var(--success);text-shadow:0 0 30px #00ff8c99,0 0 60px #00ff8c4d;text-transform:uppercase;white-space:nowrap;font-family:Rajdhani,sans-serif;font-size:42px;font-weight:700;animation:2.2s forwards confetti-message-pop;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)scale(.8)}@keyframes confetti-message-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}25%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}.laser-overlay{z-index:2100;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.laser-flash{background:radial-gradient(circle,#ffffff40 0%,#0000 60%);animation:3.2s ease-in-out forwards laser-flash-pulse;position:absolute;inset:0}@keyframes laser-flash-pulse{0%,to{opacity:0}10%,30%,50%,70%{opacity:1}20%,40%,60%,80%{opacity:.2}}.laser-beam{transform-origin:50%;opacity:0;width:4px;height:140vmax;animation:3.2s ease-in-out forwards laser-sweep;position:absolute;top:50%;left:50%}@keyframes laser-sweep{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle,0deg)) scaleY(0)}10%{opacity:1;transform:translate(-50%, -50%) rotate(calc(var(--angle,0deg) + 25deg)) scaleY(1)}50%{opacity:1;transform:translate(-50%, -50%) rotate(calc(var(--angle,0deg) - 25deg)) scaleY(1)}90%{opacity:1}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle,0deg)) scaleY(0)}}.laser-message{z-index:2;letter-spacing:4px;text-transform:uppercase;color:gold;text-shadow:0 0 30px #ffd700cc,0 0 60px #ff4d6d80,0 0 90px #00c8ff66;white-space:nowrap;font-family:Rajdhani,sans-serif;font-size:48px;font-weight:700;animation:3.2s forwards laser-message-pop;position:relative}@keyframes laser-message-pop{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.15)}25%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.calculator-window{background:var(--bg-panel);border:1px solid var(--accent-25);z-index:950;-webkit-user-select:none;user-select:none;border-radius:12px;width:260px;position:fixed;overflow:hidden;box-shadow:0 0 40px #00000080}.calculator-header{background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-alt) 100%);border-bottom:1px solid var(--accent-15);cursor:grab;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.calculator-header:active{cursor:grabbing}.calculator-header-title{letter-spacing:1px;color:var(--accent);text-transform:uppercase;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:700}.calculator-close-btn{color:var(--accent-50);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;transition:color .2s}.calculator-close-btn:hover{color:var(--danger)}.calculator-display-wrapper{background:#0003;padding:10px 14px 14px}.calculator-expression{color:var(--accent-40);text-align:right;white-space:nowrap;min-height:16px;font-family:Share Tech Mono,monospace;font-size:13px;overflow-x:auto}.calculator-display{text-align:right;color:var(--text-heading);white-space:nowrap;margin-top:4px;font-family:Share Tech Mono,monospace;font-size:28px;overflow-x:auto}.calculator-buttons{background:var(--accent-08);grid-template-columns:repeat(4,1fr);gap:1px;padding:1px;display:grid}.calculator-btn{background:var(--bg-card);color:var(--text-primary);cursor:pointer;border:none;padding:16px 0;font-family:Rajdhani,sans-serif;font-size:18px;font-weight:600;transition:background .15s}.calculator-btn:hover{background:var(--accent-10)}.calculator-btn-zero{grid-column:span 2}.calculator-btn-operator{background:var(--accent-10);color:var(--accent);font-weight:700}.calculator-btn-operator:hover{background:var(--accent-20)}.calculator-btn-clear{color:var(--danger)}.calculator-btn-equals{background:var(--accent);color:var(--bg-primary);font-weight:700}.calculator-btn-equals:hover{background:var(--accent-60)}
