:root{--bg-0: #060a12;--bg-1: #0a1320;--bg-2: #142133;--gold: #9cc9d4;--gold-dim: #5f8c97;--gold-bright: #f0f6fa;--text: #f2f6fa;--text-dim: #aab5c2;--danger: #9d5252;--shadow: 0 8px 32px rgba(0, 0, 0, .6), 0 0 0 1px rgba(127, 184, 199, .15) inset}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;color:var(--text);font-family:EB Garamond,Cinzel,Georgia,serif;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}body{background:linear-gradient(#060a128c,#060a12c7),url(/bg.jpg) center center / cover no-repeat,var(--bg-0)}.app{position:relative;height:100%;width:100%;overflow:hidden;touch-action:pan-y}.track{display:flex;height:100%;width:100%;will-change:transform}.single-page{height:100%;width:100%;display:grid;place-items:start center;padding:24px;overflow-y:auto}.card{width:min(420px,100%);background:linear-gradient(160deg,#162030f2,#0a121ef2);border:1px solid rgba(127,184,199,.3);border-radius:14px;padding:28px 24px 22px;box-shadow:var(--shadow);text-align:center;position:relative}.card:before,.card:after{content:"";position:absolute;left:12px;right:12px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.card:before{top:8px}.card:after{bottom:8px}.ornament{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.4em;font-size:14px;margin-bottom:12px;opacity:.85}.avatar{border-radius:50%;background:radial-gradient(circle at 30% 30%,#1f2c40,#070c14);border:2px solid var(--gold);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 24px #7fb8c740,inset 0 0 16px #0009;transition:transform .2s,box-shadow .2s;flex-shrink:0;padding:0}.avatar:hover{transform:scale(1.04);box-shadow:0 0 32px #7fb8c773,inset 0 0 16px #0009}.avatar:active{transform:scale(.96)}.avatar-big{width:140px;height:140px;font-size:72px;overflow:hidden}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;pointer-events:none}.char-layout{display:flex;align-items:center;gap:20px;text-align:left;margin-top:4px}.char-info{flex:1;min-width:0}.char-info .name,.char-info .subtitle{text-align:left}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag{font-family:Cinzel,serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);background:#7fb8c714;border:1px solid rgba(127,184,199,.3);border-radius:999px;padding:3px 10px;white-space:nowrap}.field-block{display:grid;gap:6px;margin-bottom:4px}.field-label{font-family:Cinzel,serif;color:var(--gold);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.field-input{background:#0000004d;border:1px solid var(--gold-dim);color:var(--text);padding:10px 12px;border-radius:6px;font-family:EB Garamond,serif;font-size:15px;outline:none}.field-input:focus{border-color:var(--gold)}.tap-hint{margin-top:8px;font-size:11px;color:var(--text-dim);font-style:italic;letter-spacing:.04em}.character-card{width:min(480px,100%);position:relative}.settings-menu{position:absolute;top:10px;right:10px;z-index:5}.settings-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(127,184,199,.25);background:#00000059;color:var(--gold);font-size:16px;cursor:pointer;display:grid;place-items:center;transition:background .15s,border-color .15s,transform .3s}.settings-btn:hover{background:#7fb8c71f;border-color:var(--gold-dim);transform:rotate(45deg)}.settings-dropdown{position:absolute;top:38px;right:0;min-width:160px;background:#0a0e12f7;border:1px solid rgba(127,184,199,.25);border-radius:8px;padding:6px;box-shadow:0 6px 20px #00000080;display:flex;flex-direction:column;gap:2px}.settings-section-title{font-family:Cinzel,serif;font-size:11px;color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px 4px}.settings-option{background:transparent;border:none;color:var(--text);text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;font-family:EB Garamond,serif;font-size:14px;transition:background .15s}.settings-option:hover{background:#7fb8c71a}.settings-option.active{color:var(--gold-bright);background:#7fb8c714}.settings-option{display:flex;align-items:center;gap:10px}.settings-row{background:transparent;border:none;color:var(--text);text-align:left;padding:10px 12px;border-radius:6px;cursor:pointer;font-family:EB Garamond,serif;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:background .15s}.settings-row:hover{background:#7fb8c71a}.settings-row-value{color:var(--text-dim);font-size:13px}.settings-back{color:var(--text-dim);font-size:12px;padding:6px 12px}.settings-check{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;color:var(--text);font-family:EB Garamond,serif;font-size:14px;border-radius:6px;transition:background .15s}.settings-check:hover{background:#7fb8c714}.settings-check input{accent-color:var(--gold);cursor:pointer}.settings-done{margin-top:6px;padding:8px 12px;background:#7fb8c71f;border:1px solid var(--gold-dim);border-radius:6px;color:var(--gold-bright);font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s}.settings-done:hover{background:#7fb8c733;border-color:var(--gold)}@keyframes nav-wobble{0%{transform:rotate(-.7deg)}50%{transform:rotate(.7deg)}to{transform:rotate(-.7deg)}}.nav-card.wobble{animation:nav-wobble .32s ease-in-out infinite;transform-origin:center}.nav-card.wobble:nth-child(2n){animation-delay:-.16s}.nav-card.dragging{animation:none;z-index:5;box-shadow:0 8px 20px #00000080;border-color:var(--gold);transform:scale(1.04)}.nav-grid.editing .nav-card{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;overflow:visible}.nav-grid.editing{overflow:visible;padding-top:8px;padding-right:6px}.nav-grid.editing .nav-card.dragging{cursor:grabbing}.nav-check{width:20px;height:20px;border-radius:5px;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s;margin-right:4px;flex-shrink:0}.nav-check.on{background:var(--gold);border:1px solid var(--gold);color:#0a1320}.nav-check.off{background:transparent;border:1.5px solid var(--gold-dim);color:transparent}.nav-grid.editing .nav-card{grid-template-columns:20px 26px 1fr auto}.nav-card.hidden-module{opacity:.55;border-style:dashed}.nav-done{width:100%;margin-top:12px}.name{font-family:Cinzel,serif;font-weight:600;font-size:26px;color:var(--gold-bright);margin:0 0 4px;letter-spacing:.08em;cursor:default;text-shadow:0 1px 0 #000,0 0 12px rgba(127,184,199,.3)}.avatar-big{cursor:default}.avatar-big.editable{cursor:pointer}@keyframes name-caret-blink{0%,49%{border-bottom-color:var(--gold)}50%,to{border-bottom-color:transparent}}.name-input-blink{animation:name-caret-blink 1s steps(1,end) infinite}.name-input{font-family:Cinzel,serif;font-size:24px;color:var(--gold-bright);background:transparent;border:none;border-bottom:1px solid var(--gold-dim);text-align:center;outline:none;padding:2px 6px;margin-bottom:6px;width:80%}.subtitle{font-style:italic;color:var(--text-dim);font-size:14px;margin-bottom:8px}.divider{height:1px;margin:14px auto;width:60%;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.stats{list-style:none;padding:14px 6px 10px;margin:0 0 8px;display:grid;gap:0;position:relative;background:radial-gradient(ellipse at top,rgba(127,184,199,.05),transparent 70%),linear-gradient(180deg,transparent,rgba(0,0,0,.15));border-top:1px solid rgba(127,184,199,.2);border-bottom:1px solid rgba(127,184,199,.2)}.stats:before,.stats:after{content:"✦";position:absolute;left:50%;transform:translate(-50%);color:var(--gold);font-size:10px;background:var(--bg-1);padding:0 8px;letter-spacing:.2em;opacity:.7}.stats:before{top:-7px}.stats:after{bottom:-7px}.stat{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:14px;padding:8px 6px;background:transparent;border:none;border-radius:0;position:relative}.stat+.stat{border-top:1px dashed rgba(127,184,199,.12)}.stat-key{font-family:Cinzel,serif;color:var(--gold);font-weight:700;font-size:11px;letter-spacing:.12em;text-align:center;padding:3px 0;border:1px solid rgba(127,184,199,.35);border-radius:3px;background:#7fb8c70f}.stat-label{text-align:left;color:var(--gold-bright);font-size:15px;font-family:Cinzel,serif;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 12px rgba(127,184,199,.25)}.stat-controls{display:flex;align-items:center;gap:6px}.stat-controls button,.skill-actions button,.add-skill button{width:28px;height:28px;border-radius:6px;border:1px solid var(--gold-dim);background:#0a121ecc;color:var(--gold-bright);font-family:Cinzel,serif;font-size:14px;cursor:pointer;transition:background .15s,transform .1s}.stat-controls button:hover,.skill-actions button:hover,.add-skill button:hover{background:#7fb8c726}.stat-controls button:active,.skill-actions button:active{transform:scale(.92)}.stat-value{min-width:32px;text-align:center;font-family:Cinzel,serif;font-weight:600;color:var(--gold-bright);font-size:22px;text-shadow:0 0 14px rgba(127,184,199,.55)}.hint{margin-top:18px;font-style:italic;color:var(--text-dim);font-size:12px;letter-spacing:.05em}.skills{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:12px}.skill{padding:12px;background:#0000004d;border:1px solid rgba(127,184,199,.15);border-radius:8px;text-align:left}.skill-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.skill-name{font-family:Cinzel,serif;color:var(--gold-bright);font-size:16px;letter-spacing:.04em}.skill-level{color:var(--text-dim);font-size:13px;font-style:italic}.skill-rank{font-family:Cinzel,serif;color:var(--gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.rank-picker{position:relative}.rank-trigger{font-family:Cinzel,serif;color:var(--gold);font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:1px solid rgba(127,184,199,.25);border-radius:6px;padding:4px 10px;cursor:pointer;transition:background .15s,border-color .15s}.rank-trigger:hover{background:#7fb8c71a;border-color:var(--gold-dim)}.rank-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:#0a0e12f7;border:1px solid rgba(127,184,199,.25);border-radius:8px;padding:4px;box-shadow:0 6px 20px #00000080;display:flex;flex-direction:column;gap:2px;z-index:10}.rank-option{background:transparent;border:none;color:var(--text);text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer;font-family:EB Garamond,serif;font-size:14px;transition:background .15s}.rank-option:hover{background:#7fb8c71a}.rank-option.active{color:var(--gold-bright);background:#7fb8c714}.rank-pips{display:flex;gap:6px;margin-bottom:8px}.rank-pip{flex:1;height:6px;background:#00000080;border:1px solid var(--gold-dim);border-radius:3px;transition:background .2s,box-shadow .2s}.rank-pip.on{background:linear-gradient(90deg,var(--gold-dim),var(--gold));box-shadow:0 0 6px #7fb8c766}.bar{height:8px;background:#00000080;border:1px solid var(--gold-dim);border-radius:4px;overflow:hidden;margin-bottom:8px}.bar-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold),var(--gold-bright));box-shadow:0 0 8px #7fb8c780;transition:width .3s ease}.skill-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.skill-actions .remove{border-color:#8b1e1e99;color:#c87a7a}.skill-actions .remove:hover{background:#8b1e1e33}.xp-text{font-family:Cinzel,serif;color:var(--text-dim);font-size:13px}.add-skill{display:flex;gap:8px;margin-top:12px}.add-skill input{flex:1;background:#0000004d;border:1px solid var(--gold-dim);color:var(--text);padding:8px 10px;border-radius:6px;font-family:EB Garamond,serif;font-size:15px;outline:none}.add-skill input:focus{border-color:var(--gold)}.splash{height:100%;display:grid;place-items:center;gap:12px;text-align:center}.splash .ornament{font-size:22px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060a128c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:24px;z-index:100;animation:fadein .4s ease}@keyframes fadein{0%{opacity:0}to{opacity:1}}.modal-card{width:min(380px,100%);animation:rise .5s cubic-bezier(.22,.61,.36,1)}@keyframes rise{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.modal-input{width:100%;font-size:22px;margin:4px 0 14px}.primary-btn{display:block;width:100%;padding:12px;font-family:Cinzel,serif;font-size:15px;letter-spacing:.1em;color:var(--bg-0);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border:1px solid var(--gold-bright);border-radius:8px;cursor:pointer;box-shadow:0 0 18px #7fb8c759;transition:transform .1s,box-shadow .2s,opacity .2s}.primary-btn:hover{box-shadow:0 0 28px #7fb8c799}.primary-btn:active{transform:scale(.98)}.primary-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.g-icon{display:inline-grid;place-items:center;width:22px;height:22px;background:#fff;color:#4285f4;border-radius:50%;font-weight:700;font-family:Inter,system-ui,sans-serif;font-size:14px}.ghost-btn{display:block;width:100%;padding:10px;font-family:Cinzel,serif;font-size:13px;letter-spacing:.1em;color:var(--text-dim);background:transparent;border:1px solid rgba(127,184,199,.2);border-radius:8px;cursor:pointer;transition:color .2s,border-color .2s}.ghost-btn:hover{color:var(--text);border-color:var(--gold-dim)}.ghost-btn:disabled{opacity:.4;cursor:not-allowed}.add-goal{display:grid;gap:8px;margin-bottom:14px}.add-goal-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.date-input{background:#0000004d;border:1px solid var(--gold-dim);color:var(--text);padding:8px 10px;border-radius:6px;font-family:EB Garamond,serif;font-size:14px;outline:none;color-scheme:dark}.date-input:focus{border-color:var(--gold)}.goal-list{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:6px}.goal-row{display:flex;flex-direction:column;gap:6px;padding:6px 10px;background:#0000004d;border:1px solid rgba(127,184,199,.15);border-radius:8px;transition:opacity .2s}.goal-row-main{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px}.goal-row.done{opacity:.5}.goal-row.done .goal-title-input{text-decoration:line-through;color:var(--text-dim)}.goal-progress{position:relative;height:4px;background:#7fb8c71a;border-radius:2px;overflow:hidden}.goal-progress-fill{height:100%;min-width:6px;background:linear-gradient(90deg,#d97070 0%,#d97070 12px,var(--gold-dim) 40px,var(--gold) 100%);background-size:200px 100%;background-repeat:no-repeat;transition:width .3s ease}.goal-progress.overdue .goal-progress-fill{background:#d97070}.goal-title-input{background:transparent;border:none;color:var(--text);font-family:EB Garamond,serif;font-size:15px;outline:none;padding:6px 2px;width:100%;min-width:0}.goal-title-input::placeholder{color:var(--text-dim);font-style:italic}.icon-btn{min-width:30px;height:30px;border-radius:6px;border:1px solid rgba(127,184,199,.2);background:transparent;color:var(--gold);cursor:pointer;font-size:13px;padding:0 8px;display:grid;place-items:center;white-space:nowrap;font-family:Cinzel,serif;transition:background .15s,border-color .15s}.icon-btn:hover{background:#7fb8c71a;border-color:var(--gold-dim)}.icon-btn.remove{color:#c87a7a;border-color:#8b1e1e66;padding:0;width:30px}.icon-btn.remove:hover{background:#8b1e1e26}.hidden-date{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.add-row{width:100%;padding:10px;background:transparent;border:1px dashed var(--gold-dim);border-radius:8px;color:var(--gold);font-family:Cinzel,serif;font-size:13px;letter-spacing:.1em;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.add-row:hover{background:#7fb8c714;border-color:var(--gold);color:var(--gold-bright)}.goal-body{display:flex;flex-direction:column;gap:2px;min-width:0}.goal-deadline{font-size:11px;color:var(--text-dim);font-style:italic;letter-spacing:.04em}.goal-deadline.overdue{color:#d97070;font-style:normal}.dash-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#0000004d;border:1px solid rgba(127,184,199,.2);border-radius:8px;color:var(--text);font-family:Cinzel,serif;font-size:14px;letter-spacing:.08em;cursor:pointer;transition:border-color .2s,background .2s}.dash-toggle:hover{border-color:var(--gold-dim);background:#0006}.dash-summary{margin-left:auto;margin-right:10px;font-family:Cinzel,serif;color:var(--gold-bright);font-size:14px}.chevron{display:inline-block;color:var(--gold);transition:transform .25s}.chevron.open{transform:rotate(180deg)}.stats{margin-top:10px}.goal-input,.period-select{background:#0000004d;border:1px solid var(--gold-dim);color:var(--text);padding:8px 10px;border-radius:6px;font-family:EB Garamond,serif;font-size:15px;outline:none}.goal-input:focus,.period-select:focus{border-color:var(--gold)}.period-select{font-family:Cinzel,serif;font-size:13px;color:var(--gold-bright);cursor:pointer}.period-select option{background:var(--bg-1);color:var(--text)}.add-btn{width:38px;border-radius:6px;border:1px solid var(--gold-dim);background:#0a121ecc;color:var(--gold-bright);font-family:Cinzel,serif;font-size:18px;cursor:pointer;transition:background .15s}.add-btn:hover{background:#7fb8c726}.goal-group{margin-top:14px;text-align:left}.goal-group-title{font-family:Cinzel,serif;color:var(--gold);font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px;padding-left:4px}.goals{list-style:none;padding:0;margin:0;display:grid;gap:6px}.goal{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;background:#0000004d;border:1px solid rgba(127,184,199,.15);border-radius:8px;transition:opacity .2s}.goal.done{opacity:.5}.goal.done .goal-title{text-decoration:line-through;color:var(--text-dim)}.goal-title{color:var(--text);font-size:15px}.checkbox{width:22px;height:22px;border-radius:4px;border:1px solid var(--gold-dim);background:#0006;color:var(--gold-bright);cursor:pointer;font-family:Cinzel,serif;font-size:14px;display:grid;place-items:center;padding:0;transition:background .15s,border-color .15s}.checkbox:hover{border-color:var(--gold)}.checkbox.checked{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--bg-0);border-color:var(--gold)}.goal .remove{width:24px;height:24px;border-radius:4px;border:1px solid rgba(139,30,30,.6);background:transparent;color:#c87a7a;cursor:pointer;font-size:11px}.goal .remove:hover{background:#8b1e1e33}.empty{color:var(--text-dim);font-style:italic;font-size:14px;padding:20px 0}.nav-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.nav-grid{gap:8px}.nav-card{position:relative;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:16px;padding:16px 18px 16px 20px;background:#00000038;border:1px solid rgba(127,184,199,.12);border-radius:9px;color:var(--text);font-family:Cinzel,serif;font-size:15px;letter-spacing:.08em;cursor:pointer;text-align:left;overflow:hidden;transition:border-color .2s,background .2s}.nav-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#7fb8c740;transition:background .2s,box-shadow .2s}.nav-card:hover{background:#0a121e73;border-color:#7fb8c740}.nav-card:hover:before{background:var(--gold);box-shadow:0 0 10px #7fb8c799}.nav-icon{font-size:20px;color:var(--gold);text-align:center;line-height:1}.nav-label{color:var(--text)}.nav-summary{font-family:Cinzel,serif;color:var(--gold-bright);font-size:15px;min-width:20px;text-align:right;letter-spacing:.04em}.sub-page{width:min(480px,100%)}.sub-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px}.sub-title{font-family:Cinzel,serif;font-size:20px;color:var(--gold-bright);letter-spacing:.08em;margin:0;text-align:center}.back-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--gold-dim);background:#0a121ecc;color:var(--gold-bright);font-size:18px;cursor:pointer;transition:background .2s,border-color .2s}.back-btn:hover{background:#7fb8c726;border-color:var(--gold)}.back-spacer{display:block}.looks-top{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:start}.looks-photo{width:140px;height:180px;border-radius:10px;border:1px dashed var(--gold-dim);background:#0006;overflow:hidden;cursor:pointer;display:grid;place-items:center;padding:0;transition:border-color .2s,box-shadow .2s}.looks-photo:hover{border-color:var(--gold);box-shadow:0 0 18px #7fb8c733}.looks-photo img{width:100%;height:100%;object-fit:cover}.looks-photo-empty{font-family:Cinzel,serif;color:var(--gold);font-size:14px;letter-spacing:.08em}.looks-rating{display:grid;gap:8px;align-content:start;min-width:0}.looks-rating-label{font-family:Cinzel,serif;color:var(--gold);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.looks-rating-select{width:100%}.link-btn{background:transparent;border:none;color:var(--gold);font-family:EB Garamond,serif;font-size:13px;font-style:italic;cursor:pointer;text-align:left;padding:0;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{color:var(--gold-bright)}.link-btn:disabled{opacity:.5;cursor:default}@media (max-width: 420px){.looks-top{grid-template-columns:110px 1fr;gap:12px}.looks-photo{width:110px;height:140px}.char-layout{flex-direction:column;align-items:center;gap:12px;text-align:center}.char-info .name,.char-info .subtitle{text-align:center}.avatar-big{width:120px;height:120px;font-size:60px}}.sections,.section,.section-body{display:grid;gap:10px}.add-asceza-inline{display:grid;grid-template-columns:1fr 64px auto auto;gap:8px;align-items:center;margin-bottom:14px}.days-input{background:#0000004d;border:1px solid var(--gold-dim);color:var(--text);padding:8px 10px;border-radius:6px;font-family:EB Garamond,serif;font-size:15px;outline:none;text-align:center;-moz-appearance:textfield}.days-input::-webkit-outer-spin-button,.days-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.days-input:focus{border-color:var(--gold)}.days-label{color:var(--text-dim);font-size:13px;font-style:italic}.asceza{display:grid;grid-template-columns:1fr auto;align-items:stretch;gap:10px;padding:10px 12px;background:#0000004d;border:1px solid rgba(127,184,199,.15);border-radius:8px}.asceza.done{opacity:.6}.asceza.done .bar-fill{background:linear-gradient(90deg,#5a7a3a,#8fbf5f)}.asceza.broken{opacity:.55;border-color:#8b1e1e66}.asceza.broken .bar-fill{background:linear-gradient(90deg,#6a2222,#b15050)}.asceza-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.asceza-days{font-family:Cinzel,serif;color:var(--gold-bright);font-size:12px}.asceza-meta{margin-top:6px;font-size:11px;color:var(--text-dim);font-style:italic}.asceza-actions{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}.asceza-actions button{width:26px;height:26px;border-radius:4px;border:1px solid var(--gold-dim);background:#0a121ecc;color:var(--gold-bright);cursor:pointer;font-size:12px;padding:0}.asceza-actions button:hover{background:#7fb8c726}.asceza-actions .break{border-color:#8b1e1e99;color:#c87a7a}.asceza-actions .break:hover{background:#8b1e1e33}.asceza-actions .remove{border-color:#8b1e1e80;color:#c87a7a}.tabs{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;gap:6px;padding:12px 12px 0;z-index:10;pointer-events:auto}.tab{flex:1;max-width:140px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;background:#0a121eb3;border:1px solid rgba(127,184,199,.2);border-radius:10px;color:var(--text-dim);font-family:Cinzel,serif;font-size:13px;letter-spacing:.08em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .2s,border-color .2s,background .2s,box-shadow .2s}.tab:hover{color:var(--text);border-color:var(--gold-dim)}.tab.active{color:var(--bg-0);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright);box-shadow:0 0 18px #7fb8c759}.tab-icon{font-size:14px}.tab-label{font-size:12px}.error-text{color:#c87a7a;font-size:13px}.main-shell{width:min(420px,100%);display:flex;flex-direction:column;align-items:stretch}.top-tabs{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 14px}.top-tab{background:transparent;border:none;padding:4px 2px;cursor:pointer;color:var(--text-dim);font-family:Cinzel,serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;transition:color .2s;position:relative}.top-tab:hover{color:var(--text)}.top-tab.active{color:var(--gold-bright)}.top-tab.active:after{content:"";position:absolute;left:50%;bottom:-3px;transform:translate(-50%);width:70%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.top-tabs-sep{color:var(--gold-dim);font-size:9px;line-height:1;-webkit-user-select:none;user-select:none}.page-slide{will-change:transform,opacity}.page-slide-left{animation:page-slide-in-left .55s cubic-bezier(.16,.84,.3,1)}.page-slide-right{animation:page-slide-in-right .55s cubic-bezier(.16,.84,.3,1)}@keyframes page-slide-in-left{0%{transform:translate(60px) scale(.985);opacity:0;filter:blur(4px)}to{transform:translate(0) scale(1);opacity:1;filter:blur(0)}}@keyframes page-slide-in-right{0%{transform:translate(-60px) scale(.985);opacity:0;filter:blur(4px)}to{transform:translate(0) scale(1);opacity:1;filter:blur(0)}}@media (prefers-reduced-motion: reduce){.page-slide-left,.page-slide-right{animation:none}}.calendar-card{padding:18px}.cal-week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-family:Cinzel,serif;color:var(--text);font-size:14px;letter-spacing:.08em}.cal-nav-btn{background:transparent;border:1px solid rgba(127,184,199,.2);color:var(--gold-bright);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1}.cal-nav-btn:hover{border-color:var(--gold)}.cal-week-label{text-transform:capitalize}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-day{position:relative;min-height:80px;padding:6px 4px 4px;background:#00000038;border:1px solid rgba(127,184,199,.1);border-radius:7px;display:flex;flex-direction:column;gap:3px}.cal-day.today{border-color:var(--gold);background:#7fb8c714}.cal-day-head{display:flex;flex-direction:column;align-items:center;line-height:1.1;margin-bottom:2px}.cal-wd{font-family:Cinzel,serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.cal-num{font-family:Cinzel,serif;font-size:16px;color:var(--gold-bright)}.cal-strips{display:flex;flex-direction:column;gap:2px;margin:2px 0}.cal-strip{height:3px;border-radius:2px;opacity:.85}.cal-goal{font-size:9px;color:var(--text);line-height:1.2;background:#7fb8c714;padding:2px 3px;border-radius:3px;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.periods-section{margin-top:4px}.periods-title{font-family:Cinzel,serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin:0 0 10px}.periods-empty{color:var(--text-dim);font-size:13px;font-style:italic;padding:8px 4px}.period-row{display:grid;grid-template-columns:24px 1fr auto 24px;align-items:center;gap:10px;padding:8px 10px;background:#00000038;border:1px solid rgba(127,184,199,.1);border-radius:7px;margin-bottom:6px}.period-emoji{font-size:18px}.period-name{color:var(--text);font-size:14px}.period-progress{font-family:Cinzel,serif;color:var(--gold-bright);font-size:12px;letter-spacing:.05em}.period-end{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:14px}.period-end:hover{color:#c87a7a}.period-templates{display:flex;flex-direction:column;gap:6px;margin-top:6px}.period-template{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:8px 10px;background:#0000002e;border:1px solid rgba(127,184,199,.12);border-radius:7px;color:var(--text);font-family:EB Garamond,serif;font-size:14px;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.period-template:hover{background:#7fb8c714;border-color:var(--gold-dim)}.period-tpl-emoji{font-size:18px}.period-tpl-days{color:var(--text-dim);font-family:Cinzel,serif;font-size:11px;letter-spacing:.05em}.custom-plan{display:flex;flex-direction:column;gap:8px;padding:10px;background:#0000002e;border:1px solid rgba(127,184,199,.12);border-radius:7px}.custom-plan-name{width:100%}.custom-plan-colors{display:flex;flex-wrap:wrap;gap:6px}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .12s,border-color .12s}.color-swatch:hover{transform:scale(1.08)}.color-swatch.active{border-color:var(--gold-bright)}.custom-plan-save{grid-template-columns:1fr auto}.custom-plan-save:disabled{opacity:.4;cursor:not-allowed}.cal-month-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.cal-month-wd>span{text-align:center;font-family:Cinzel,serif;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{position:relative;aspect-ratio:1 / 1;background:#0000002e;border:1px solid rgba(127,184,199,.08);border-radius:6px;color:var(--text);font-family:Cinzel,serif;font-size:13px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;transition:background .15s,border-color .15s}.cal-cell:hover{background:#7fb8c714}.cal-cell.out{opacity:.3}.cal-cell.today{border-color:var(--gold);color:var(--gold-bright)}.cal-cell.in-range{background:#7fb8c71a}.cal-cell.sel{background:#7fb8c72e;border-color:var(--gold)}.cal-cell.sel .cal-cell-num,.cal-cell.in-range .cal-cell-num{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}.cal-cell{overflow:visible}.cal-cell-num{line-height:1}.cal-cell-goal{position:absolute;top:3px;right:4px;font-size:8px;color:var(--gold-bright);line-height:1;pointer-events:none}.cal-band{position:absolute;left:2px;right:2px;height:4px;border-radius:2px;pointer-events:none;z-index:1}.cal-band.cont-r{right:-4px;border-top-right-radius:0;border-bottom-right-radius:0}.cal-band.cont-l{left:-4px;border-top-left-radius:0;border-bottom-left-radius:0}.cal-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.cal-hint{margin-top:10px;text-align:center;color:var(--text-dim);font-size:12px;font-style:italic}.cal-quick-days{margin-top:10px;display:flex;gap:8px;justify-content:center}.cal-quick-day{flex:1;max-width:90px;padding:8px 0;background:#7fb8c714;border:1px solid var(--gold-dim);border-radius:7px;color:var(--gold-bright);font-family:Cinzel,serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.cal-quick-day:hover{background:#7fb8c72e;border-color:var(--gold)}.cal-quick-day:active{transform:scale(.97)}.cal-create-btn{margin-top:12px;width:100%;padding:10px 14px;background:#7fb8c71f;border:1px solid var(--gold-dim);border-radius:7px;color:var(--gold-bright);font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s}.cal-create-btn:hover{background:#7fb8c733;border-color:var(--gold)}
