@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Cinzel:wght@400;500;600&family=IM+Fell+English:ital@0;1&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.stars{position:fixed;inset:0;z-index:0;overflow:hidden}.star{position:absolute;border-radius:50%;background:#c9a84c;animation:twinkle var(--d, 3s) ease-in-out infinite var(--delay, 0s)}.password-screen{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px}.password-screen .inner{text-align:center;max-width:420px;width:100%}.site-name{font-family:Cinzel,serif;font-size:clamp(13px,3vw,16px);letter-spacing:8px;color:var(--gold-dim);text-transform:lowercase;margin-bottom:48px;animation:fadeIn 1.5s ease forwards}.lock-icon{width:56px;height:56px;margin:0 auto 36px;animation:fadeIn 1.8s ease forwards;display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--gold-dim)}.prompt-text{font-family:IM Fell English,serif;font-style:italic;font-size:clamp(20px,4vw,26px);color:var(--text-dim);margin-bottom:40px;line-height:1.5;animation:fadeIn 2s ease forwards}.pin-row{display:flex;gap:14px;justify-content:center;margin-bottom:32px;animation:fadeIn 2.2s ease forwards}.pin-row.shake{animation:shake .4s ease}.pin-dot{width:52px;height:52px;border:1px solid var(--gold-dim);border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif;font-size:22px;color:var(--gold-light);background:#c9a84c08;transition:all .2s ease;position:relative;overflow:hidden}.pin-dot.filled{border-color:var(--gold);background:#c9a84c14;box-shadow:0 0 12px #c9a84c26}.pin-dot.filled:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(201,168,76,.12),transparent)}.pin-dot .digit{font-size:20px;color:var(--gold-light)}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:240px;margin:0 auto 20px;animation:fadeIn 2.4s ease forwards}.num-btn{height:52px;border:1px solid rgba(201,168,76,.15);border-radius:2px;background:#c9a84c08;color:var(--text);font-family:Cinzel,serif;font-size:16px;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden}.num-btn:before{content:"";position:absolute;inset:0;background:#c9a84c14;opacity:0;transition:opacity .15s}.num-btn:hover:before{opacity:1}.num-btn:active{transform:scale(.96)}.num-btn.del{font-size:18px;color:var(--text-dim)}.num-btn.zero{grid-column:2}.error-msg{font-family:IM Fell English,serif;font-style:italic;font-size:14px;color:var(--crimson);height:20px;transition:opacity .3s;opacity:0}.error-msg.show{opacity:1}.projects-page{position:relative;z-index:1;width:100%;height:100%;overflow-y:auto;display:flex;justify-content:center;padding:60px 24px}.projects-inner{max-width:700px;width:100%}.projects-header{text-align:center;margin-bottom:24px}.projects-eyebrow{font-family:Cinzel,serif;font-size:9px;letter-spacing:6px;color:#c9a84c59;text-transform:uppercase;margin-bottom:16px}.projects-title{font-family:Cinzel,serif;font-size:clamp(28px,6vw,44px);font-weight:400;color:#e8dcc8;letter-spacing:4px;text-transform:lowercase}.projects-title span{color:#c9a84c}.projects-subtitle{font-family:IM Fell English,serif;font-style:italic;font-size:14px;color:#9a8a70;margin-top:8px;letter-spacing:1px}.projects-page .ornament{display:flex;align-items:center;gap:16px;margin:24px auto;max-width:400px}.projects-page .ornament-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.3),transparent)}.projects-page .ornament-star{color:#c9a84c66;font-size:12px}.projects-grid{display:flex;flex-direction:column;gap:12px;margin:0 auto}.project-card{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#c9a84c08;border:1px solid rgba(201,168,76,.12);border-radius:2px;cursor:pointer;transition:all .3s ease;position:relative}.project-card:hover{background:#c9a84c12;border-color:#c9a84c40}.project-card-icon{width:40px;height:40px;border-radius:50%;border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;color:#c9a84c;font-size:14px;flex-shrink:0}.project-card-info{flex:1;min-width:0}.project-card-name{font-family:Cinzel,serif;font-size:16px;color:#e8cc85;letter-spacing:2px;margin-bottom:2px}.project-card-desc{font-family:IM Fell English,serif;font-style:italic;font-size:13px;color:#9a8a70;margin-bottom:2px}.project-card-count{font-family:Cormorant Garamond,serif;font-size:12px;color:#c9a84c66;letter-spacing:1px}.project-card-actions{display:flex;gap:6px;opacity:0;transition:opacity .2s}.project-card:hover .project-card-actions{opacity:1}.project-action-btn{background:none;border:1px solid rgba(201,168,76,.15);color:#c9a84c80;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;transition:all .2s}.project-action-btn:hover{border-color:#c9a84c66;color:#e8cc85;background:#c9a84c14}.project-action-btn.danger:hover{border-color:#b43c3c66;color:#c04040;background:#b43c3c14}.project-card-arrow{color:#c9a84c4d;font-size:14px;transition:all .3s;flex-shrink:0}.project-card:hover .project-card-arrow{color:#c9a84c;transform:translate(4px)}.project-edit-form{width:100%;display:flex;flex-direction:column;gap:8px}.project-edit-input{width:100%;background:#c9a84c0d;border:1px solid rgba(201,168,76,.2);color:#e8dcc8;padding:8px 12px;font-family:Cinzel,serif;font-size:14px;border-radius:2px;letter-spacing:1px}.project-edit-input.small{font-family:IM Fell English,serif;font-size:13px;font-style:italic}.project-edit-input:focus{outline:none;border-color:#c9a84c80}.project-edit-input::placeholder{color:#c9a84c40}.project-edit-actions{display:flex;gap:6px;justify-content:flex-end}.project-edit-btn{background:#c9a84c14;border:1px solid rgba(201,168,76,.2);color:#e8cc85;width:32px;height:32px;border-radius:2px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .2s}.project-edit-btn:hover{background:#c9a84c26;border-color:#c9a84c66}.project-edit-btn.cancel{color:#9a8a70}.add-project-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;background:none;border:1px dashed rgba(201,168,76,.2);border-radius:2px;color:#c9a84c80;font-family:Cinzel,serif;font-size:11px;letter-spacing:3px;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.add-project-btn:hover{border-color:#c9a84c66;color:#e8cc85;background:#c9a84c0a}.new-project-overlay{position:fixed;inset:0;z-index:200;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:24px;animation:projFadeIn .2s ease}@keyframes projFadeIn{0%{opacity:0}to{opacity:1}}.new-project-modal{background:#0d0d12;border:1px solid rgba(201,168,76,.2);border-radius:2px;max-width:440px;width:100%;padding:32px;animation:projSlideUp .3s ease}@keyframes projSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.new-project-header{font-family:Cinzel,serif;font-size:18px;color:#e8cc85;letter-spacing:4px;text-transform:uppercase;text-align:center;margin-bottom:24px}.new-project-field{margin-bottom:16px}.new-project-field label{display:block;font-family:Cormorant Garamond,serif;font-size:14px;color:#e8dcc8;margin-bottom:6px}.new-project-field input{width:100%;background:#c9a84c0a;border:1px solid rgba(201,168,76,.15);color:#e8dcc8;padding:10px 14px;font-family:Cormorant Garamond,serif;font-size:15px;border-radius:2px;transition:all .2s}.new-project-field input:focus{outline:none;border-color:#c9a84c80;background:#c9a84c12}.new-project-field input::placeholder{color:#c9a84c40}.new-project-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.new-project-cancel{background:none;border:1px solid rgba(201,168,76,.15);color:#9a8a70;padding:10px 20px;font-family:Cinzel,serif;font-size:10px;letter-spacing:2px;cursor:pointer;border-radius:2px;text-transform:uppercase;transition:all .2s}.new-project-cancel:hover{border-color:#c9a84c4d;color:#e8cc85}.new-project-create{background:#c9a84c1a;border:1px solid rgba(201,168,76,.3);color:#e8cc85;padding:10px 20px;font-family:Cinzel,serif;font-size:10px;letter-spacing:2px;cursor:pointer;border-radius:2px;text-transform:uppercase;transition:all .3s}.new-project-create:hover{background:#c9a84c33;border-color:#c9a84c;box-shadow:0 0 12px #c9a84c26}.projects-page .slide-up{animation:slideUp .6s ease both}.projects-page .slide-up-2{animation:slideUp .6s ease .1s both}.projects-page .slide-up-3{animation:slideUp .6s ease .2s both}.projects-page .slide-up-4{animation:slideUp .6s ease .3s both}.projects-loading{font-family:IM Fell English,serif;font-style:italic;font-size:14px;color:#9a8a70;text-align:center;padding:24px;letter-spacing:1px}@media(max-width:600px){.projects-page{padding:40px 16px}.project-card{padding:16px;gap:12px}.project-card-actions{opacity:1}}.character-selection{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px}.character-selection .inner{text-align:center;width:100%;max-width:700px}.char-header{margin-bottom:56px}.char-eyebrow{font-family:Cinzel,serif;font-size:11px;letter-spacing:7px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:16px}.char-title{font-family:Cormorant Garamond,serif;font-size:clamp(28px,6vw,48px);font-weight:300;font-style:italic;color:var(--text-dim);line-height:1.2}.char-title span{color:var(--gold-light);font-style:normal;font-weight:400}.characters-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.char-card{position:relative;border:1px solid rgba(201,168,76,.15);background:#c9a84c05;padding:28px 32px;cursor:pointer;transition:all .3s ease;text-decoration:none;min-width:180px;overflow:hidden;display:block}.char-card:before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .4s ease}.char-card:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center bottom,rgba(201,168,76,.06),transparent 70%);opacity:0;transition:opacity .3s}.char-card:hover{border-color:#c9a84c66;background:#c9a84c0d;transform:translateY(-3px);box-shadow:0 8px 32px #c9a84c14}.char-card:hover:before{transform:scaleX(1)}.char-card:hover:after{opacity:1}.char-card-name{font-family:Cinzel,serif;font-size:clamp(15px,2.5vw,19px);font-weight:500;color:var(--gold-light);letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;position:relative;z-index:1}.char-card-sub{font-family:IM Fell English,serif;font-style:italic;font-size:13px;color:var(--text-dim);position:relative;z-index:1}.char-card-arrow{position:absolute;top:50%;right:20px;transform:translateY(-50%);color:var(--gold-dim);font-size:16px;transition:all .3s ease;opacity:0}.char-card:hover .char-card-arrow{opacity:1;right:16px}.add-char-btn{border:1px dashed rgba(201,168,76,.3);background:#c9a84c05;padding:28px 32px;cursor:pointer;transition:all .3s ease;text-decoration:none;min-width:180px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative}.add-char-btn:hover{border-color:#c9a84c80;background:#c9a84c14;transform:translateY(-3px)}.add-char-btn i{font-size:24px;color:var(--gold-dim)}.add-char-btn span{font-family:Cinzel,serif;font-size:11px;letter-spacing:2px;color:var(--gold);text-transform:uppercase}.ornament{display:flex;align-items:center;gap:12px;margin:40px auto;max-width:320px}.ornament-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.ornament-star{color:var(--gold-dim);font-size:12px}.edit-mode-btn{position:fixed;top:24px;right:24px;z-index:20;background:#c9a84c14;border:1px solid rgba(201,168,76,.25);color:var(--gold-light);padding:10px 20px;font-family:Cinzel,serif;font-size:11px;letter-spacing:2px;cursor:pointer;transition:all .3s ease;border-radius:2px;text-transform:uppercase}.edit-mode-btn:hover{background:#c9a84c26;border-color:#c9a84c66}.edit-mode-btn.active{background:#c9a84c33;border-color:var(--gold);box-shadow:0 0 12px #c9a84c33}.editable-field{background:transparent;border:none;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;width:100%;text-align:center;padding:2px}.editable-field:focus{outline:none;background:#c9a84c14;border-radius:2px}.edit-controls{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:20;display:none;gap:12px}.edit-controls.active{display:flex}.edit-control-btn{background:#c9a84c14;border:1px solid rgba(201,168,76,.25);color:var(--gold-light);padding:12px 28px;font-family:Cinzel,serif;font-size:11px;letter-spacing:2px;cursor:pointer;transition:all .3s ease;border-radius:2px;text-transform:uppercase}.edit-control-btn:hover{background:#c9a84c26;border-color:#c9a84c66}.edit-control-btn.save{background:#8b9a5a1f;border-color:#8b9a5a4d}.edit-control-btn.save:hover{background:#8b9a5a33;border-color:#8b9a5a80}.edit-control-btn.cancel{background:#8b1a1a14;border-color:#8b1a1a4d}.edit-control-btn.cancel:hover{background:#8b1a1a26;border-color:#8b1a1a80}.character-selection .back-btn{position:fixed;top:24px;left:24px;z-index:20;background:#c9a84c14;border:1px solid rgba(201,168,76,.25);color:var(--gold-light);padding:10px 20px;font-family:Cinzel,serif;font-size:11px;letter-spacing:2px;cursor:pointer;transition:all .3s ease;border-radius:2px;text-transform:uppercase;text-decoration:none}.character-selection .back-btn:hover{background:#c9a84c26;border-color:#c9a84c66}.char-subtitle{font-family:IM Fell English,serif;font-style:italic;font-size:14px;color:var(--text-dim);margin-top:8px}.char-actions-row{display:flex;gap:12px;width:100%;justify-content:center}.add-char-btn.link{border-style:dashed;border-color:#7ab8c84d}.add-char-btn.link:hover{border-color:#7ab8c880;background:#7ab8c80f}.add-char-btn.link i,.add-char-btn.link span{color:#7ab8c8}.link-modal-overlay{position:fixed;inset:0;z-index:200;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}.link-modal{background:#0d0d12;border:1px solid rgba(201,168,76,.2);border-radius:2px;max-width:440px;width:100%;padding:32px;animation:slideUp .3s ease}.link-modal-header{font-family:Cinzel,serif;font-size:16px;color:#e8cc85;letter-spacing:3px;text-transform:uppercase;text-align:center;margin-bottom:4px}.link-modal-subtitle{font-family:IM Fell English,serif;font-style:italic;font-size:13px;color:#9a8a70;text-align:center;margin-bottom:20px}.link-modal-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.link-char-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#c9a84c08;border:1px solid rgba(201,168,76,.12);border-radius:2px;cursor:pointer;transition:all .2s;text-align:left}.link-char-btn:hover{background:#c9a84c14;border-color:#c9a84c4d}.link-char-name{font-family:Cinzel,serif;font-size:13px;color:#e8cc85;letter-spacing:1px;flex:1}.link-char-sub{font-family:IM Fell English,serif;font-style:italic;font-size:12px;color:#9a8a70}.link-char-btn i{color:#c9a84c66;font-size:12px;transition:color .2s}.link-char-btn:hover i{color:#e8cc85}.link-modal-close{display:block;margin:16px auto 0;background:none;border:1px solid rgba(201,168,76,.15);color:#9a8a70;padding:8px 20px;font-family:Cinzel,serif;font-size:10px;letter-spacing:2px;cursor:pointer;border-radius:2px;text-transform:uppercase;transition:all .2s}.link-modal-close:hover{border-color:#c9a84c4d;color:#e8cc85}.slide-up{animation:slideUp .6s ease forwards}.slide-up-2{animation:slideUp .6s .1s ease both}.slide-up-3{animation:slideUp .6s .2s ease both}.slide-up-4{animation:slideUp .6s .3s ease both}.modal-overlay{position:fixed;inset:0;z-index:200;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:24px;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay .modal-content{background:#0d0d12;border:1px solid rgba(201,168,76,.2);border-radius:2px;max-width:640px;width:100%;max-height:85vh;overflow-y:auto;padding:40px 36px;position:relative;animation:modalSlideUp .4s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay .modal-content::-webkit-scrollbar{width:6px}.modal-overlay .modal-content::-webkit-scrollbar-track{background:#c9a84c08}.modal-overlay .modal-content::-webkit-scrollbar-thumb{background:#c9a84c33;border-radius:3px}.modal-overlay .modal-content::-webkit-scrollbar-thumb:hover{background:#c9a84c66}.modal-overlay .modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#c9a84c66;font-size:20px;cursor:pointer;transition:color .2s;padding:4px}.modal-overlay .modal-close:hover{color:#e8cc85}.modal-overlay .modal-header{text-align:center;margin-bottom:28px}.modal-overlay .modal-ornament{font-family:Cinzel,serif;font-size:9px;letter-spacing:5px;color:#c9a84c66;text-transform:uppercase;margin-bottom:10px}.modal-overlay .modal-title{font-family:Cinzel,serif;font-size:clamp(22px,5vw,32px);font-weight:400;color:#e8cc85;letter-spacing:6px;text-transform:uppercase;margin-bottom:8px}.modal-overlay .modal-subtitle{font-family:IM Fell English,serif;font-style:italic;font-size:14px;color:#9a8a70;letter-spacing:1px}.modal-overlay .modal-divider{display:flex;align-items:center;gap:12px;margin:16px auto 0;max-width:300px}.modal-overlay .modal-divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.3),transparent)}.modal-overlay .modal-divider-star{color:#c9a84c66;font-size:10px}.modal-overlay .step-indicator{display:flex;justify-content:center;gap:32px;margin-bottom:28px}.modal-overlay .step-dot{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;transition:all .3s}.modal-overlay .step-num{width:28px;height:28px;border-radius:50%;border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif;font-size:11px;color:#c9a84c66;transition:all .3s}.modal-overlay .step-label{font-family:Cinzel,serif;font-size:8px;letter-spacing:2px;color:#c9a84c4d;text-transform:uppercase;transition:color .3s}.modal-overlay .step-dot.active .step-num{border-color:#c9a84c;color:#e8cc85;background:#c9a84c1f}.modal-overlay .step-dot.active .step-label{color:#c9a84c}.modal-overlay .step-dot.done .step-num{border-color:#8b9a5a80;color:#8a9a5a;background:#8b9a5a14}.modal-overlay .step-dot.done .step-label{color:#8b9a5a99}.modal-overlay .form-section{margin-bottom:0;padding-bottom:0;border-bottom:none}.modal-overlay .form-section-title{font-family:Cinzel,serif;font-size:10px;letter-spacing:4px;color:#c9a84c80;text-transform:uppercase;margin-bottom:18px;padding-bottom:8px;border-bottom:1px solid rgba(201,168,76,.1)}.modal-overlay .form-group{margin-bottom:14px}.modal-overlay .form-label{font-family:Cormorant Garamond,serif;font-size:14px;color:#e8dcc8;margin-bottom:6px;display:block}.modal-overlay .form-input,.modal-overlay .form-select{width:100%;background:#c9a84c0a;border:1px solid rgba(201,168,76,.15);color:#e8dcc8;padding:10px 14px;font-family:Cormorant Garamond,serif;font-size:15px;border-radius:2px;transition:all .2s}.modal-overlay .form-input::placeholder{color:#c9a84c40}.modal-overlay .form-input:focus,.modal-overlay .form-select:focus{outline:none;border-color:#c9a84c80;background:#c9a84c12}.modal-overlay .form-select option{background:#0d0d12;color:#e8dcc8}.modal-overlay .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-overlay .placement-row{display:grid;grid-template-columns:36px 1.5fr 1fr 1fr;gap:8px;align-items:center;margin-bottom:8px}.modal-overlay .placement-badge{width:32px;height:32px;border-radius:50%;border:1px solid rgba(201,168,76,.2);background:#0a0a1499;display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif;font-size:8px;letter-spacing:1px;color:#c9a84c}.modal-overlay .placement-label{font-family:Cinzel,serif;font-size:11px;color:#e8cc85;letter-spacing:1px}.modal-overlay .fixed-house{font-family:IM Fell English,serif;font-style:italic;font-size:13px;color:#9a8a70;text-align:center}.modal-overlay .step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid rgba(201,168,76,.08)}.modal-overlay .step-btn{background:#c9a84c0f;border:1px solid rgba(201,168,76,.2);color:#e8cc85;padding:10px 22px;font-family:Cinzel,serif;font-size:10px;letter-spacing:2px;cursor:pointer;transition:all .3s ease;border-radius:2px;text-transform:uppercase;display:flex;align-items:center;gap:8px}.modal-overlay .step-btn:hover{background:#c9a84c1f;border-color:#c9a84c66}.modal-overlay .submit-btn{background:#c9a84c1a;border:1px solid rgba(201,168,76,.35);color:#e8cc85;padding:12px 28px;font-family:Cinzel,serif;font-size:11px;letter-spacing:3px;cursor:pointer;transition:all .3s ease;border-radius:2px;text-transform:uppercase;display:flex;align-items:center;gap:8px}.modal-overlay .submit-btn:hover:not(:disabled){background:#c9a84c33;border-color:#c9a84c;box-shadow:0 0 16px #c9a84c26}.modal-overlay .submit-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay .fade-in{animation:formFadeIn .3s ease}@keyframes formFadeIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media(max-width:600px){.modal-overlay .modal-content{padding:28px 20px}.modal-overlay .placement-row{grid-template-columns:32px 1fr;gap:6px}.modal-overlay .placement-row .form-select{grid-column:span 1}.modal-overlay .form-row{grid-template-columns:1fr}.modal-overlay .step-indicator{gap:20px}}.character-page{position:fixed;inset:0;z-index:10;overflow-y:auto;overflow-x:hidden}.character-page .page{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:40px 24px 80px}.character-page .back-btn{position:fixed;top:24px;left:24px;z-index:100;background:#c9a84c14;border:1px solid rgba(201,168,76,.25);color:var(--gold-light, #e8cc85);padding:10px 20px;font-family:Cinzel,serif;font-size:11px;letter-spacing:2px;cursor:pointer;transition:all .3s ease;border-radius:2px;text-transform:uppercase;text-decoration:none}.character-page .back-btn:hover{background:#c9a84c26;border-color:#c9a84c66}.character-page .top-actions{position:fixed;top:24px;right:24px;z-index:100;display:flex;gap:8px}.character-page .action-btn{background:#c9a84c14;border:1px solid rgba(201,168,76,.25);color:var(--gold-light, #e8cc85);padding:10px 16px;font-family:Cinzel,serif;font-size:10px;letter-spacing:2px;cursor:pointer;transition:all .3s ease;border-radius:2px;text-transform:uppercase;white-space:nowrap}.character-page .action-btn:hover{background:#c9a84c26;border-color:#c9a84c66}.character-page .action-btn.active{background:#c9a84c33;border-color:var(--gold, #c9a84c);box-shadow:0 0 12px #c9a84c33}.character-page .edit-controls{position:fixed;bottom:32px;left:50%;transform:translate(-50%);z-index:100;display:none;gap:12px}.character-page .edit-controls.active{display:flex}.character-page .edit-control-btn{background:#c9a84c14;border:1px solid rgba(201,168,76,.25);color:var(--gold-light, #e8cc85);padding:12px 28px;font-family:Cinzel,serif;font-size:11px;letter-spacing:2px;cursor:pointer;transition:all .3s ease;border-radius:2px;text-transform:uppercase}.character-page .edit-control-btn:hover{background:#c9a84c26;border-color:#c9a84c66}.character-page .edit-control-btn.save{background:#8b9a5a1f;border-color:#8b9a5a4d}.character-page .edit-control-btn.save:hover{background:#8b9a5a33;border-color:#8b9a5a80}.character-page .edit-control-btn.cancel{background:#8b1a1a14;border-color:#8b1a1a4d}.character-page .edit-control-btn.cancel:hover{background:#8b1a1a26;border-color:#8b1a1a80}.character-page .editable-text{background:transparent;border:none;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;font-style:inherit;width:100%;text-align:inherit;padding:4px;line-height:inherit}.character-page .editable-text:focus{outline:none;background:#c9a84c14;border-radius:2px}.character-page .editable-text:disabled{background:transparent}.character-page .header{text-align:center;margin-bottom:48px;animation:fadeDown 1s ease forwards}.character-page .header-ornament{font-family:Cinzel,serif;font-size:11px;letter-spacing:6px;color:var(--gold-dim, #7a6030);text-transform:uppercase;margin-bottom:12px}.character-page .header h1{font-family:Cinzel,serif;font-size:clamp(36px,8vw,64px);font-weight:600;color:var(--gold-light, #e8cc85);letter-spacing:8px;line-height:1;margin-bottom:8px}.character-page .header-subtitle{font-family:IM Fell English,serif;font-style:italic;font-size:18px;color:var(--text-dim, #9a8a70);letter-spacing:2px}.character-page .divider{display:flex;align-items:center;gap:16px;margin:20px auto;max-width:400px}.character-page .divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim, #7a6030),transparent)}.character-page .divider-symbol{color:var(--gold, #c9a84c);font-size:18px}.character-page .wheel-section{display:flex;justify-content:center;margin-bottom:48px;animation:fadeIn 1.2s ease forwards}.character-page .wheel-container{position:relative;width:min(520px,90vw);height:min(520px,90vw)}.character-page .wheel-container svg{width:100%;height:100%;filter:drop-shadow(0 0 30px rgba(201,168,76,.15))}.character-page .outer-ring{animation:rotateSlow 120s linear infinite;transform-origin:center}.character-page .section-title{font-family:Cinzel,serif;font-size:13px;letter-spacing:5px;color:var(--gold-dim, #7a6030);text-transform:uppercase;text-align:center;margin-bottom:28px}.character-page .placements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:48px;animation:fadeUp 1.4s ease forwards}.character-page .placement-card{background:#c9a84c0a;border:1px solid rgba(201,168,76,.12);border-radius:2px;padding:14px 18px;display:flex;align-items:center;gap:14px;transition:all .3s ease;position:relative;overflow:hidden}.character-page .placement-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold-dim, #7a6030);opacity:0;transition:opacity .3s}.character-page .placement-card:hover{background:#c9a84c14;border-color:#c9a84c40}.character-page .placement-card:hover:before{opacity:1}.character-page .planet-symbol{font-size:26px;line-height:1;min-width:32px;text-align:center}.character-page .placement-info{flex:1}.character-page .placement-planet{font-family:Cinzel,serif;font-size:11px;letter-spacing:2px;color:var(--gold, #c9a84c);text-transform:uppercase;margin-bottom:3px}.character-page .placement-sign{font-family:Cormorant Garamond,serif;font-size:17px;color:var(--text-light, #e8dcc8);font-weight:300}.character-page .placement-house{font-family:IM Fell English,serif;font-style:italic;font-size:12px;color:var(--text-dim, #9a8a70);margin-top:2px}.character-page .fire{color:#e06030}.character-page .earth{color:#8a9a5a}.character-page .air{color:#7ab8c8}.character-page .water{color:#5a7ab8}.character-page .aspects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-bottom:48px;animation:fadeUp 1.6s ease forwards}.character-page .aspect-card{background:#0a0a1499;border:1px solid rgba(201,168,76,.08);border-radius:2px;padding:12px 16px;display:flex;align-items:center;gap:12px}.character-page .aspect-symbol{font-size:20px;min-width:28px;text-align:center}.character-page .aspect-conj{color:#e8cc85}.character-page .aspect-trine{color:#5a9a5a}.character-page .aspect-sextile{color:#5a8ab8}.character-page .aspect-square{color:#c04040}.character-page .aspect-opp{color:#a040a0}.character-page .aspect-text{font-size:14px;color:var(--text-dim, #9a8a70);line-height:1.4}.character-page .aspect-text strong{color:var(--text-light, #e8dcc8);font-weight:400}.character-page .notes-box{background:#c9a84c08;border:1px solid rgba(201,168,76,.1);border-radius:2px;padding:28px 32px;margin-bottom:48px;animation:fadeUp 1.8s ease forwards}.character-page .notes-box p{font-family:IM Fell English,serif;font-style:italic;font-size:16px;color:var(--text-dim, #9a8a70);line-height:1.9;margin-bottom:12px}.character-page .notes-box p:last-child{margin-bottom:0}.character-page .notes-box strong{color:var(--gold-light, #e8cc85);font-style:normal;font-weight:400}.character-page .editable-note{display:inline;background:transparent;transition:background .2s}.character-page .footer{text-align:center;font-family:Cinzel,serif;font-size:10px;letter-spacing:4px;color:var(--gold-dim, #7a6030);text-transform:uppercase}.character-page .char-not-found{text-align:center;color:var(--text-dim, #9a8a70);font-size:1.2rem;margin-top:4rem}.character-page .planet-highlight-ring{animation:planetPulse 2s ease-out forwards;pointer-events:none;transform-origin:center;transform-box:fill-box}@keyframes planetPulse{0%{opacity:0;transform:scale(.5)}15%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}to{opacity:0;transform:scale(1.8)}}.character-page .placement-card{cursor:pointer}.character-page .placement-card:active{transform:scale(.98)}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--bg: #070709;--surface: #0d0d12;--gold: #c9a84c;--gold-light: #e8cc85;--gold-dim: #6a5520;--gold-glow: rgba(201,168,76,.15);--text: #e8dcc8;--text-dim: #8a7a60;--text-faint: #3a3028;--crimson: #6b1515;--cream: #f5ead8}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:Cormorant Garamond,serif;cursor:default}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:100;opacity:.6}.ambient{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 60% 40% at 20% 80%,rgba(139,90,20,.08) 0%,transparent 70%),radial-gradient(ellipse 50% 60% at 80% 20%,rgba(90,60,20,.06) 0%,transparent 70%),radial-gradient(ellipse 80% 30% at 50% 50%,rgba(201,168,76,.03) 0%,transparent 100%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes twinkle{0%,to{opacity:var(--min, .1);transform:scale(1)}50%{opacity:var(--max, .5);transform:scale(1.3)}}
