:root{--line:#eadfd7;--orange:#ff5a0a;--blue:#2865c7;--green:#3f9363;--red:#c34f4f;--muted:#756e68;--shadow:0 12px 35px #59311a16}*{box-sizing:border-box}html,body{margin:0;background:linear-gradient(180deg,#fffaf6,#f5eee8);color:#211d1a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}.app{max-width:980px;margin:auto;padding:14px 13px 110px}.header,.card,.section{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.header{padding:14px 17px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:300px;max-height:95px;object-fit:contain;object-position:left center}.brand-copy{flex:1}.brand-copy h1{margin:0;font-size:22px}.brand-copy p{margin:5px 0 0;color:var(--muted);font-size:13px}.score{font-size:35px;font-weight:950;color:var(--orange);white-space:nowrap}.score small{display:block;font-size:10px;text-align:right}.sync-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.badge{border-radius:999px;padding:8px 11px;background:#eef3f8;font-size:12px;font-weight:850}.badge.good{background:#e7f5ec;color:#26754a}.badge.warn{background:#fff0dd;color:#92540f}.badge.bad{background:#f8e6e6;color:#983e3e}.btn{border:0;border-radius:12px;padding:11px 12px;background:#25201d;color:#fff;font-weight:850;cursor:pointer}.btn.orange{background:var(--orange)}.btn.blue{background:var(--blue)}.btn.green{background:var(--green)}.btn.soft{background:#f1e9e3;color:#342e2a;border:1px solid var(--line)}.btn.red{background:#f8e3e3;color:#a43c3c}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:13px 0;position:sticky;top:7px;z-index:5}.tab{border:1px solid var(--line);border-radius:13px;padding:11px 5px;background:#ffffffed;font-weight:850}.tab.active{background:#211d1a;color:#fff}.panel{display:none}.panel.active{display:block}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.section,.card{padding:14px;margin:10px 0}.project{border:1px solid var(--line);border-left:7px solid var(--project-color,var(--orange));border-radius:17px;padding:13px;margin:9px 0}.top{display:flex;justify-content:space-between;gap:10px}.name{font-weight:900;font-size:17px}.muted{font-size:12px;color:var(--muted);line-height:1.4}.pct{font-size:21px;font-weight:950}.bar{height:9px;background:#eee7e1;border-radius:99px;overflow:hidden;margin:10px 0}.fill{height:100%;background:var(--project-color,var(--orange))}.finance{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0}.finance div{background:#faf5f1;border-radius:10px;padding:8px;font-size:11px}.finance b{display:block;font-size:14px}.info{background:#faf5f1;border-radius:11px;padding:9px;font-size:12px}.actions{display:grid;grid-template-columns:1.1fr 1fr auto;gap:7px;margin-top:10px}.subs{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}.subrow{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f1ebe6}.nested{margin-left:18px;border-left:3px solid #efe6df;padding-left:9px}.grow{flex:1}.counter{display:flex;gap:5px;align-items:center}.counter button{min-width:34px;height:34px;border:0;border-radius:9px;font-weight:900}.minus{background:#f8e4e4;color:#9f4242}.plus{background:#e7f4ec;color:#2d7a4f}.done{background:var(--green)!important;color:#fff!important}.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.expense-grid,.filters{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:8px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fff}label{display:block;font-size:12px;font-weight:800;color:#5f5751;margin:10px 0 5px}.checkline{display:flex;gap:8px;align-items:center}.checkline input{width:22px;height:22px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 3px;font-size:11px;font-weight:850}.day.active{background:var(--orange);color:#fff}.workout{border:1px solid var(--line);border-radius:16px;padding:12px;margin-top:10px}.exercise{display:grid;grid-template-columns:1fr 70px 70px;gap:7px;padding:7px 0;border-bottom:1px solid #f0e9e4}.today-workout{background:#fff8ef;border:1px solid #f1d6c2;border-radius:14px;padding:10px;margin-top:10px}canvas{width:100%;height:280px;border:1px solid var(--line);border-radius:14px;background:#fff}.expense,.history{display:flex;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #eee6e0}.amount{font-weight:900}.legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.legend span{font-size:12px;padding:6px 8px;border-radius:999px;background:#f3eee9}.file-label input{display:none}dialog{border:0;border-radius:22px;padding:0;max-width:700px;width:calc(100% - 24px)}dialog::backdrop{background:#0009}dialog form{padding:18px}menu{display:flex;gap:8px;justify-content:flex-end;padding:0;margin:16px 0 0}@media(max-width:650px){.brand img{width:150px}.brand-copy{display:block;min-width:0}.score{font-size:27px}.filters,.expense-grid{grid-template-columns:1fr}.finance{grid-template-columns:1fr}.actions{grid-template-columns:1fr 1fr}.actions .red{grid-column:1/-1}.exercise{grid-template-columns:1fr 55px 55px}}

.reorder-controls{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 auto}.reorder-controls.node-order{flex-direction:row}.move-btn{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:28px;height:25px;padding:0;font-weight:900;color:#4a433e}
@media(min-width:751px){.move-btn{opacity:.45}.reorder-controls:hover .move-btn{opacity:1}}
@media(max-width:750px){.reorder-controls{flex-direction:row}.reorder-controls.node-order{flex-direction:column}.move-btn{min-width:30px;height:30px;font-size:17px}.top{align-items:flex-start}.subrow{flex-wrap:wrap}.node-order{width:30px}}

.sync-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}@media(max-width:650px){.sync-tools{grid-template-columns:1fr}}

.score em{display:block;font-style:normal;font-size:11px;font-weight:800;text-align:right;color:var(--muted);margin-top:3px}
output{display:block;margin-top:5px;font-size:20px;font-weight:900;color:var(--orange)}
input[type=range]{padding:0;border:0}
.scope-badge{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;background:#efe9ff;color:#6949a8}
.scope-badge.bonus{background:#fff0dd;color:#a45c16}
.actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.actions .red{grid-column:auto}

.section-head{display:flex;align-items:center;gap:8px;margin-bottom:9px;flex-wrap:wrap}
.section-head h2{margin:0}.section-head .btn{padding:8px 10px}
@media(max-width:650px){.section-head .grow{flex-basis:55%}.section-head .btn{font-size:11px}}

.icon-settings{margin-left:auto;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:19px;cursor:pointer}
.progress-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.collapse-btn{border:1px solid var(--line);background:#fff;border-radius:9px;width:32px;height:32px;font-size:19px;font-weight:900;flex:0 0 auto}
dialog hr{border:0;border-top:1px solid var(--line);margin:18px 0}
dialog h3{margin:12px 0 4px}

@media(max-width:650px){
 .brand{gap:8px;align-items:center}
 .brand img{width:82px;max-height:66px}
 .brand-copy h1{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .brand-copy p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .score{font-size:23px}
 .sync-row .badge{font-size:10px;padding:6px 8px}
}

.rank-button{border:0;background:transparent;padding:0;cursor:pointer;text-align:right}
.rank-button strong{display:block;font-size:11px;color:#7b4d2d;margin-top:3px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-dialog{max-width:900px;width:calc(100% - 18px);max-height:94vh;background:#fff8f1}
.rank-screen{position:relative;padding:20px;max-height:94vh;overflow:auto}
.rank-close{position:sticky;float:right;top:0;z-index:3;width:38px;height:38px;border:0;border-radius:50%;font-size:26px;background:#211d1a;color:#fff}
.rank-hero{display:grid;grid-template-columns:230px 1fr;gap:22px;align-items:center;clear:both}
.rank-hero img{width:100%;max-height:285px;object-fit:contain}
.rank-kicker{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--orange)}
.rank-hero h2{font-size:34px;margin:5px 0 8px}.rank-hero p{line-height:1.55;color:var(--muted)}
.rank-numbers{font-size:17px;font-weight:900}
.rank-progress{height:13px;background:#eadfd7;border-radius:99px;overflow:hidden;margin:16px 0 8px}
.rank-progress>div{height:100%;background:linear-gradient(90deg,#ff5a0a,#ffb15e);width:0}
.next-rank{text-align:center;font-weight:850}
.rank-collection{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.rank-tile{border:1px solid var(--line);border-radius:13px;background:#fff;padding:7px;text-align:center;opacity:.36}
.rank-tile.unlocked{opacity:1}.rank-tile.current{outline:3px solid var(--orange)}
.rank-tile img{width:100%;height:92px;object-fit:contain}.rank-tile b{display:block;font-size:10px;line-height:1.15}
.award-collection{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.award-tile{border:1px solid var(--line);border-radius:15px;background:#fff;padding:9px;text-align:center;opacity:.3;filter:grayscale(1)}
.award-tile.unlocked{opacity:1;filter:none}.award-tile img{height:125px;width:100%;object-fit:contain}.award-tile b{display:block;font-size:12px}.award-tile span{font-size:10px;color:var(--muted)}
.level-up{animation:levelPulse 1.1s ease}
@keyframes levelPulse{0%{transform:scale(.92);opacity:.3}55%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}
@media(max-width:650px){
 .rank-hero{grid-template-columns:120px 1fr;gap:10px}.rank-hero h2{font-size:22px}.rank-hero p{font-size:12px}
 .rank-collection{grid-template-columns:repeat(3,1fr)}.award-collection{grid-template-columns:repeat(2,1fr)}
 .rank-tile img{height:82px}
}

/* V16: heroes instead of shields */
.rank-hero img{border-radius:24px;filter:drop-shadow(0 14px 16px #40200f22)}
.rank-tile{transition:.2s transform,.2s opacity}.rank-tile.unlocked:hover{transform:translateY(-3px)}
.rank-tile img{border-radius:10px}.award-tile small{display:block;margin:4px auto;font-size:9px;text-transform:uppercase;font-weight:950;color:var(--orange)}
.award-tile.unlocked{box-shadow:0 8px 22px #3b1c0d16}.award-tile img{transition:.2s transform}.award-tile.unlocked:hover img{transform:scale(1.05)}
.progress-toolbar{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin:10px 0}.tabs{grid-template-columns:repeat(4,1fr)}.schedule-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:7px 0 12px}.schedule-check{display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:11px;padding:8px 2px;background:#fff;font-size:11px}.schedule-check input{width:17px;height:17px;margin:0}.settings-project{border:1px solid var(--line);border-left:6px solid var(--project-color,var(--orange));border-radius:15px;padding:12px;margin:10px 0}.settings-node{margin:8px 0 8px 18px;padding:9px;border-left:3px solid #eadfd7;background:#faf7f4;border-radius:10px}.gain-line{font-weight:850;color:#26754a}.not-scheduled{padding:8px 10px;border-radius:10px;background:#f3eee9;color:var(--muted);font-size:12px}.daily-credit{font-weight:900;color:#8a4b10}.danger-note{background:#fff0ef;border:1px solid #efc6c2;border-radius:12px;padding:10px;margin-top:8px;font-size:12px}.dialog-no-zoom{touch-action:manipulation}
@media(max-width:650px){.tabs{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}.tab{font-size:10px;padding:10px 3px}dialog input,dialog select,dialog textarea{font-size:16px}.schedule-days{grid-template-columns:repeat(4,1fr)}dialog{max-height:92vh;overflow:auto}}

/* V18 — визуальные классы проектов */
.project{position:relative;overflow:hidden;border-left:1px solid var(--line);padding-top:0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;background:#fff}
.project:hover{transform:translateY(-1px)}
.project-accent{margin:0 -13px 12px;padding:9px 13px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:900;border-bottom:1px solid #0000000a}
.project-accent small{font-weight:650;opacity:.68;flex:1}
.project-type-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#ffffffb8;font-size:16px;box-shadow:inset 0 0 0 1px #0000000b}
.project-status{padding:5px 8px;border-radius:999px;background:#ffffffb8;font-size:10px;white-space:nowrap}
.project-daily{background:linear-gradient(180deg,#fbfffc,#fff 44%);border-color:#cfe7d7}
.project-daily .project-accent{background:#e4f4e9;color:#226d46}
.project-daily .fill{background:#3f9363}
.project-sport{background:linear-gradient(180deg,#fffafa,#fff 44%);border-color:#efd1d1}
.project-sport .project-accent{background:#f8e4e4;color:#9a3e3e}
.project-sport .fill{background:#c34f4f}
.project-finance{background:linear-gradient(180deg,#fffdf8,#fff 44%);border-color:#efdcb4}
.project-finance .project-accent{background:#fff0cf;color:#8b5c09}
.project-finance .fill{background:#d89522}
.project-progress{background:linear-gradient(180deg,#fafcff,#fff 44%);border-color:#d3e0f3}
.project-progress .project-accent{background:#e7effb;color:#285f9e}
.project-progress .fill{background:#3975bd}
.project-quest{background:linear-gradient(180deg,#fcfaff,#fff 44%);border-color:#dfd3ef}
.project-quest .project-accent{background:#eee5f7;color:#6f4591}
.project-quest .fill{background:#8d60af}
.project.status-attention{box-shadow:0 0 0 2px #63a87935,0 12px 30px #3f93631d}
.project.status-almost{box-shadow:0 0 0 2px #e1a83f36,0 12px 30px #d8952218}
.project.status-done{opacity:.82;box-shadow:none}
.project.status-done .project-accent{filter:saturate(.6)}
.project-status.status-attention{background:#fff;color:#247447;box-shadow:0 0 0 1px #63a87945}
.project-status.status-done{background:#dff1e5;color:#26754a}
.project-status.status-almost{background:#fff2cf;color:#8a5a0a}
.project-status.status-later{background:#f0ece8;color:#746b64}
.project-tags{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 6px}
.project-tags span{font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;background:#f3eee9;color:#665e58}
.project-main-head{align-items:flex-start}
.quick-action{min-height:48px;font-size:15px;box-shadow:0 8px 18px #00000013}
.finance-btn{background:#c98214}
.daily-actions .quick-action{grid-column:1/-1;font-size:17px;min-height:54px}
.not-scheduled{display:flex;align-items:center;justify-content:center;padding:10px;border-radius:12px;background:#f4f0ed;color:#746b64;font-size:12px;font-weight:800}
@media(max-width:650px){
 .project-accent small{display:none}.project-accent{margin-left:-13px;margin-right:-13px}
 .project-status{font-size:9px}.project-tags{margin-top:7px}
 .project .actions{grid-template-columns:1fr 1fr}.project .quick-action,.project .not-scheduled{grid-column:1/-1}
}

/* V20: profile and progression */
.rank-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:10px 0;font-size:12px;font-weight:900}.rank-rarity{padding:6px 10px;border-radius:99px;background:#e8ded4;text-transform:uppercase;letter-spacing:.08em}.rank-rarity[data-rarity="необычная"]{background:#dff2d6}.rank-rarity[data-rarity="редкая"]{background:#d9ecff}.rank-rarity[data-rarity="эпическая"]{background:#ead9ff}.rank-rarity[data-rarity="легендарная"]{background:#ffe3b4}.rank-rarity[data-rarity="мифическая"]{background:#ffd3cf}.rank-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 24px}.rank-stats>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;text-align:center}.rank-stats b{display:block;font-size:24px}.rank-stats span{font-size:10px;color:var(--muted);font-weight:800}.next-award{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;background:#211d1a;color:#fff;border-radius:18px;padding:14px;margin-bottom:18px}.next-award img{width:92px;height:92px;object-fit:contain}.next-award b,.next-award span,.next-award small{display:block}.next-award span{font-size:12px;opacity:.75;margin:4px 0 8px}.next-award progress{width:100%;height:10px;accent-color:#ff6a00}.next-award small{text-align:right;font-size:10px;opacity:.8}.award-collection{grid-template-columns:repeat(4,1fr)}.award-tile{position:relative;overflow:hidden}.award-tile:not(.unlocked)::after{content:'🔒';position:absolute;right:7px;top:7px;background:#211d1a;color:#fff;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:12px}.rank-tile b::before{content:'УР. ';opacity:.55}.rank-collection{max-height:430px;overflow:auto;padding:3px}
@media(max-width:650px){.rank-stats{grid-template-columns:repeat(2,1fr)}.award-collection{grid-template-columns:repeat(2,1fr)}.rank-collection{max-height:360px}.next-award{grid-template-columns:72px 1fr}.next-award img{width:72px;height:72px}}


/* Life RPG V21 */
:root{--ink:#1d1713;--paper:#fffaf6;--orange:#ff5a0a;--orange2:#ff8a3d;--line:#eadfd6;--green:#159b68;--shadow:0 18px 50px rgba(70,40,20,.10)}
body{background:radial-gradient(circle at 20% -10%,#ffd9bf 0,transparent 34%),linear-gradient(180deg,#fff8f2 0,#f6f2ee 100%);color:var(--ink);min-height:100vh}
.header{position:sticky;top:0;z-index:30;background:rgba(255,250,246,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,223,214,.8)}
.tabs{position:sticky;top:108px;z-index:25;background:rgba(255,250,246,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-bottom:8px}
.card,.project,.section{box-shadow:var(--shadow);border-color:rgba(234,223,214,.9)}
.game-dashboard{display:grid;gap:16px;margin-bottom:18px}.hero-card{position:relative;overflow:hidden;padding:24px;border-radius:28px;background:linear-gradient(135deg,#211914 0,#3a2418 55%,#7f310d 100%);color:#fff;box-shadow:0 24px 60px rgba(53,27,12,.28)}
.hero-card:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-80px;top:-95px;background:radial-gradient(circle,#ff9a4e,transparent 68%);opacity:.55}.hero-copy{max-width:68%;position:relative;z-index:2}.hero-copy h2{font-size:clamp(24px,5vw,38px);line-height:1.05;margin:7px 0}.hero-copy p{margin:0;color:#f4d8c7}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.13em;color:#ff9b59}.level-orb{position:absolute;right:22px;top:22px;z-index:2;width:104px;height:104px;border-radius:50%;display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 0 30px rgba(255,255,255,.08)}.level-orb small,.level-orb span{font-size:10px;color:#ffd9bf}.level-orb b{font-size:38px;line-height:1}.xp-track{height:10px;border-radius:99px;background:rgba(255,255,255,.12);margin:24px 0 18px;overflow:hidden;position:relative;z-index:2}.xp-track div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6a13,#ffc37e);box-shadow:0 0 20px #ff8a3d;transition:width .45s ease}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;position:relative;z-index:2}.hero-stats div{padding:12px;border-radius:16px;background:rgba(255,255,255,.08)}.hero-stats b{display:block;font-size:22px}.hero-stats span{font-size:11px;color:#e9cfc0}.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.daily-quests-card,.pulse-card{border-radius:24px}.quest-bonus{padding:8px 10px;border-radius:999px;background:#fff0e6;color:#c54b08;font-weight:900;font-size:11px}.quest-bonus.claimed{background:#e5f8ef;color:#087d52}.quest-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.quest-row:first-child{border-top:0}.quest-row.complete{opacity:.72}.quest-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#fff0e6;color:#d64e00;font-weight:900}.quest-row.complete .quest-icon{background:#dcf7eb;color:#087d52}.quest-row small{display:block;color:#8a776b;margin-top:3px}.mini-track{height:5px;background:#eee5df;border-radius:99px;margin-top:8px;overflow:hidden}.mini-track i{display:block;height:100%;background:linear-gradient(90deg,#ff5a0a,#ffae70);border-radius:inherit}.weekly-pulse{height:155px;display:flex;align-items:flex-end;gap:8px;margin-top:12px}.pulse-day{flex:1;text-align:center;display:grid;gap:4px}.pulse-day>div{height:105px;border-radius:9px;background:#f2ebe6;display:flex;align-items:flex-end;overflow:hidden}.pulse-day i{width:100%;background:linear-gradient(180deg,#ff9d5f,#ff5a0a);border-radius:9px 9px 0 0;transition:height .4s}.pulse-day b{font-size:11px}.pulse-day span{font-size:10px;color:#8a776b;text-transform:uppercase}.project{transition:transform .18s ease,box-shadow .18s ease}.project:active{transform:scale(.995)}.btn{min-height:42px}.rank-button{box-shadow:0 10px 25px rgba(255,90,10,.2)}
@media(max-width:760px){.dashboard-grid{grid-template-columns:1fr}.hero-card{padding:20px}.hero-copy{max-width:62%}.level-orb{width:88px;height:88px}.level-orb b{font-size:31px}.hero-stats div{padding:10px}.tabs{top:96px;overflow-x:auto;justify-content:flex-start}.tab{flex:0 0 auto}.game-dashboard{margin-top:4px}}
@media(max-width:460px){.hero-copy h2{font-size:23px}.hero-copy p{font-size:12px}.hero-stats span{font-size:9px}.hero-stats b{font-size:19px}.level-orb{right:14px;top:16px}.project .actions{gap:7px}.project .actions .btn{flex:1 1 44%}.header .brand img{width:48px;height:48px}}
@supports(padding:max(0px)){body{padding-bottom:max(14px,env(safe-area-inset-bottom))}.header{padding-top:max(10px,env(safe-area-inset-top))}}

/* Life RPG V22 */
.character-metrics{display:flex;gap:10px;align-items:stretch;margin-left:auto}.character-metrics .score{min-width:138px}.time-value-button{--time-color:#ebebeb;border-color:color-mix(in srgb,var(--time-color) 70%,#c9c9c9);background:linear-gradient(145deg,color-mix(in srgb,var(--time-color) 26%,white),white);box-shadow:0 10px 28px color-mix(in srgb,var(--time-color) 25%,transparent);cursor:pointer}.time-value-button span{color:color-mix(in srgb,var(--time-color) 82%,#222);font-size:27px}.time-value-button small{font-size:9px;letter-spacing:.08em}.time-value-button.positive strong{color:#148a49}.time-value-button.negative strong{color:#c52b31}.time-value-button.neutral strong{color:#777}.time-value-dialog form{width:min(920px,94vw)}.time-value-hero{display:flex;align-items:flex-end;gap:12px;padding:16px 0}.time-value-hero b{font-size:58px;line-height:1}.time-value-hero span{padding-bottom:8px;color:#777}.time-value-chart{height:105px;display:flex;align-items:center;gap:4px;padding:10px;border-radius:18px;background:#f5f1ed;overflow-x:auto}.time-day{height:85px;min-width:17px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.time-day i{width:11px;border-radius:7px;display:block}.time-day i.down{transform:translateY(8px)}.time-day small{font-size:9px;color:#888}.time-rules-wrap{overflow:auto;border:1px solid #eadfd7;border-radius:16px}.time-rules{width:100%;border-collapse:collapse;min-width:760px}.time-rules th,.time-rules td{padding:8px;border-bottom:1px solid #eee;text-align:center}.time-rules thead th{font-size:11px;color:#755f51;background:#fff8f3;position:sticky;top:0}.time-rules input{width:82px;padding:8px;text-align:center}.time-value-actions{display:flex;gap:8px;margin-top:12px}.dialog-close{border:0;background:#eee;width:36px;height:36px;border-radius:50%;font-size:23px}.project-kind-badge{font-size:11px;padding:5px 9px;border-radius:999px;background:#fff1e6;color:#9c4b12}.schedule-days{display:flex;flex-wrap:wrap;gap:6px}.schedule-check{min-width:46px;text-align:center}
@media(max-width:720px){.brand{align-items:flex-start;flex-wrap:wrap}.character-metrics{order:3;width:100%;margin:8px 0 0}.character-metrics .score{flex:1;min-width:0;padding:9px 7px}.character-metrics .score span{font-size:22px}.character-metrics .score small{font-size:8px}.time-value-hero b{font-size:46px}.time-value-actions{flex-direction:column}}

/* V22.2 — компактные действия и настройки внутри проекта */
.icon-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.icon-action{width:36px;height:36px;min-height:36px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:18px;display:grid;place-items:center;padding:0;cursor:pointer}.icon-action.add{color:#0d8a50;background:#eaf8f1}.icon-action.edit{color:#9a4c13;background:#fff3e9}.icon-action.delete{color:#b82f35;background:#fff0f0}.project-subprojects-block{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.project-subprojects-block h3{margin:0}.project-subproject-row{padding:11px;border:1px solid var(--line);border-radius:14px;margin:9px 0;background:#faf8f6}.project-subproject-row .top{align-items:center}.project-subproject-row .schedule-days{margin:8px 0 0}.project-subproject-empty{padding:18px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.rule-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.rule-dot.zero{background:#d94046}.rule-dot.weak{background:#ef9868}.rule-dot.normal{background:#c6c6c6}.rule-dot.good{background:#8bcf9f}.rule-dot.strong{background:#43ad68}.rule-dot.epic{background:#0b8f42}.time-value-button span{transition:color .25s ease,text-shadow .25s ease}.time-value-button strong[hidden]{display:none!important}.time-rules{min-width:1320px}.time-rules input{width:74px}.project-dialog-note{font-size:11px;color:var(--muted)}
@media(max-width:650px){.icon-action{width:34px;height:34px}.project-subproject-row .schedule-check{min-width:39px}.project-subprojects-block .top{align-items:center}.time-rules{min-width:1250px}}


/* Life RPG V22.4 — спортивный дневник и статистика проектов */
.icon-action.stats{color:#225ca8;background:#edf4ff}.sport-node-fields{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff8f2}.sport-entry-card{width:100%;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff;margin:8px 0}.sport-entry-card.complete{border-color:#9fd8b8;background:#f1fbf6}.sport-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.sport-entry-grid input,.sport-comment input{width:100%}.sport-comment{margin-top:8px}.subrow-wrap{width:100%}.project-stats-dialog{width:min(1000px,96vw);max-width:none}.project-stats-screen{padding:4px;max-height:88vh;overflow:auto}.stats-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.stat-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fff,#fff8f3)}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:11px}.stat-card b{display:block;font-size:25px;margin:5px 0}.stats-section{padding:15px;border:1px solid var(--line);border-radius:18px;margin:12px 0;background:#fff}.stats-section canvas{width:100%;height:260px}.exercise-stat{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.exercise-stat small{display:block;color:var(--muted);margin-top:4px}.exercise-stat span{font-size:12px}.stat-positive{color:#168c56}.stat-negative{color:#c8363d}
@media(max-width:650px){.sport-entry-grid{grid-template-columns:1fr 1fr}.stats-cards{grid-template-columns:repeat(2,1fr)}.exercise-stat{grid-template-columns:1fr 1fr}.exercise-stat .grow{grid-column:1/-1}.project-stats-dialog{width:96vw}.icon-actions{flex-wrap:wrap}}


/* V23 onboarding */
.onboarding{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 20% 0%,#ffeadb 0,#fff8f2 42%,#fff 100%);display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}
.onboarding[hidden]{display:none}.onboarding-shell{width:min(680px,100%);min-height:min(720px,90vh);background:rgba(255,255,255,.92);border:1px solid rgba(69,41,23,.1);border-radius:32px;box-shadow:0 24px 80px rgba(75,40,20,.16);padding:24px;position:relative;display:flex;flex-direction:column}.onboarding-progress{height:6px;background:#eee5de;border-radius:99px;overflow:hidden}.onboarding-progress i{display:block;height:100%;width:10%;background:linear-gradient(90deg,#ff7426,#ffb067);transition:width .35s}.onboarding-back{position:absolute;top:45px;left:22px;border:0;background:#f7eee8;border-radius:50%;width:42px;height:42px;font-size:22px}.onboarding-step{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:45px 8px 12px;text-align:center}.onboarding-logo{width:112px;height:112px;object-fit:contain;margin:0 auto}.onboarding-step h2{font-size:clamp(31px,7vw,52px);line-height:1.02;margin:0}.onboarding-step p{font-size:17px;line-height:1.45;color:#76685f;max-width:520px;margin:0 auto}.onboarding-actions{display:grid;gap:12px;margin-top:12px}.onboarding-primary,.onboarding-secondary{border:0;border-radius:18px;padding:17px 20px;font-size:17px;font-weight:800;cursor:pointer}.onboarding-primary{background:#1f1915;color:white}.onboarding-secondary{background:#f6ece5;color:#382a22}.onboarding-field{width:100%;font-size:21px;padding:17px;border-radius:17px;border:1px solid #daccc3;background:white}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.choice-card{border:1px solid #dfd2ca;background:white;border-radius:18px;padding:17px 12px;font-weight:750;text-align:left;cursor:pointer}.choice-card.selected{border-color:#ff7426;background:#fff1e8;box-shadow:0 0 0 2px rgba(255,116,38,.12)}.choice-card b{display:block;font-size:21px;margin-bottom:5px}.onboarding-footer{margin-top:auto}.world-building{display:grid;gap:12px;text-align:left;max-width:420px;margin:0 auto}.world-building div{padding:14px 16px;border-radius:15px;background:#f8f1ec}.world-building div.done:before{content:'✓ ';color:#2aa66c;font-weight:900}@media(max-width:520px){.onboarding-shell{min-height:100%;border-radius:0;padding:18px}.choice-grid{grid-template-columns:1fr 1fr}.onboarding-step{padding-top:50px}}

/* V24 — life architect and mentor */
.assistant-launch{border:0;border-radius:999px;padding:9px 13px;background:linear-gradient(135deg,#7b4dff,#ff6b7a);color:#fff;font-weight:800;box-shadow:0 8px 22px rgba(123,77,255,.22);white-space:nowrap}
.life-assistant-dialog,.mentor-dialog{width:min(760px,calc(100vw - 20px));max-height:92vh;border:0;border-radius:26px;padding:0;background:#fff;box-shadow:0 30px 90px rgba(44,30,20,.28)}
.life-assistant-dialog::backdrop,.mentor-dialog::backdrop{background:rgba(30,20,15,.52);backdrop-filter:blur(5px)}
.life-assistant-shell,.mentor-shell{padding:22px;overflow:auto;max-height:92vh}
.assistant-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.assistant-head h2{margin:3px 0 6px}.assistant-head p{margin:0}
.assistant-progress{height:8px;border-radius:99px;background:#eee7e2;margin:18px 0;overflow:hidden}.assistant-progress i{display:block;height:100%;width:10%;background:linear-gradient(90deg,#7b4dff,#ff6b7a);border-radius:inherit;transition:.25s}
.assistant-step{min-height:360px}.assistant-step h3{margin:10px 0}.assistant-question{margin:20px 0}.assistant-question>label{font-weight:800;display:block;margin-bottom:8px}.assistant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assistant-option{padding:14px;border:1px solid #eadfd8;border-radius:16px;background:#fff;text-align:left;font-weight:750}.assistant-option.selected{border-color:#7b4dff;background:#f3efff;box-shadow:0 0 0 2px rgba(123,77,255,.12)}
.assistant-field{width:100%;padding:13px;border:1px solid #e5d8d0;border-radius:14px;font:inherit}.assistant-range-row{display:grid;grid-template-columns:1fr 74px;gap:10px;align-items:center}.assistant-footer{display:flex;justify-content:space-between;gap:12px;position:sticky;bottom:-22px;background:#fff;padding:16px 0 4px}
.assistant-preview{display:grid;gap:12px}.assistant-preview-card{border:1px solid #eadfd8;border-radius:18px;padding:14px}.assistant-preview-card h4{margin:0 0 6px}.assistant-preview-card ul{margin:6px 0 0;padding-left:20px}.assistant-warning{background:#fff4df;border:1px solid #f1ca82;border-radius:15px;padding:12px}.assistant-mode{display:flex;gap:8px;flex-wrap:wrap}.assistant-mode button{border:1px solid #dfd2ca;background:#fff;border-radius:999px;padding:8px 12px}.assistant-mode button.selected{background:#222;color:#fff;border-color:#222}
.mentor-messages{display:grid;gap:12px;max-height:55vh;overflow:auto;padding:10px 2px}.mentor-bubble{padding:13px 15px;border-radius:17px;line-height:1.45;background:#f4f0ed}.mentor-bubble.user{background:#2b2b2b;color:#fff;margin-left:15%}.mentor-bubble.ai{margin-right:8%}.mentor-compose{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.mentor-compose textarea{border:1px solid #e4d8d0;border-radius:15px;padding:12px;font:inherit;resize:vertical}
@media(max-width:650px){.assistant-launch{font-size:0;width:42px;height:42px;padding:0}.assistant-launch::before{content:'✨';font-size:19px}.assistant-grid{grid-template-columns:1fr}.assistant-step{min-height:420px}.mentor-compose{grid-template-columns:1fr}.life-assistant-shell,.mentor-shell{padding:17px}}
.assistant-inline{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px 14px;border:1px solid #eadfd8;border-radius:17px;background:linear-gradient(135deg,#fff,#f7f3ff)}.assistant-inline small{color:#796e68}@media(max-width:650px){.assistant-inline{align-items:flex-start;flex-direction:column}}

/* V25 — universal voice assistant */
.voice-assistant-dialog{width:min(820px,calc(100vw - 16px));max-height:94vh;border:0;border-radius:28px;padding:0;background:#fff;box-shadow:0 30px 90px rgba(30,18,12,.3)}
.voice-assistant-dialog::backdrop{background:rgba(25,17,13,.56);backdrop-filter:blur(6px)}
.voice-assistant-shell{padding:22px;max-height:94vh;overflow:auto}.voice-assistant-home{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.voice-mode-card{border:1px solid #e8dcd5;border-radius:20px;background:linear-gradient(145deg,#fff,#fbf7f4);padding:18px;text-align:left;min-height:125px}.voice-mode-card b{display:block;font-size:17px;margin-bottom:8px}.voice-mode-card span{color:var(--muted);line-height:1.4}
.voice-interview{margin-top:16px}.coverage-card{border:1px solid #e8dcd5;border-radius:18px;padding:14px;background:#fbf7ff}.coverage-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.coverage-track{height:8px;background:#e9e1ee;border-radius:99px;margin-top:10px;overflow:hidden}.coverage-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7b4dff,#ff6b7a);transition:.3s}
.voice-conversation{display:grid;gap:10px;max-height:42vh;overflow:auto;padding:14px 2px}.voice-turn{padding:13px 15px;border-radius:18px;line-height:1.45}.voice-turn.ai{background:#f2edf8;margin-right:10%}.voice-turn.user{background:#29231f;color:#fff;margin-left:10%}.voice-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.voice-main-btn{border:0;border-radius:999px;padding:13px 18px;background:linear-gradient(135deg,#7b4dff,#ff5978);color:#fff;font-weight:850}.voice-main-btn.listening{animation:pulseVoice 1s infinite}.voice-main-btn.recording{background:#c52e3e}@keyframes pulseVoice{50%{transform:scale(1.04);box-shadow:0 0 0 10px rgba(123,77,255,.12)}}
.offline-voice-box{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee3dc;margin-top:18px;padding-top:14px}.offline-voice-box small{display:block;color:var(--muted);margin-top:3px}.offline-voice-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border:1px solid #eadfd8;border-radius:15px;margin-top:8px}.offline-voice-item audio{width:100%;margin-top:7px}.proposal-project{border:1px solid #eadfd8;border-radius:17px;padding:14px;margin:10px 0}.proposal-project h4{margin:0 0 6px}.proposal-project ul{margin:8px 0 0;padding-left:20px}
@media(max-width:650px){.voice-assistant-shell{padding:16px}.voice-assistant-home{grid-template-columns:1fr}.voice-mode-card{min-height:auto}.voice-controls>*{flex:1}.voice-turn.ai{margin-right:2%}.voice-turn.user{margin-left:2%}}

/* Life RPG AI 1.0 — OpenAI Realtime voice */
.ai-talk-card{align-items:center;background:linear-gradient(135deg,#17131f,#39235e);color:#fff;border:0;box-shadow:0 15px 35px rgba(56,34,91,.24)}
.ai-talk-card small{display:block;color:rgba(255,255,255,.72);margin-top:4px}.ai-talk-button{background:linear-gradient(135deg,#ff7d42,#ff3d79);color:#fff;border:0;white-space:nowrap}
.realtime-dialog{width:min(720px,calc(100vw - 16px));max-height:94vh;border:0;border-radius:28px;padding:0;background:#fff;box-shadow:0 30px 90px rgba(25,16,33,.38)}
.realtime-dialog::backdrop{background:rgba(18,12,24,.66);backdrop-filter:blur(7px)}.realtime-shell{padding:22px;overflow:auto;max-height:94vh}
.realtime-head{display:flex;justify-content:space-between;gap:16px}.realtime-head h2{margin:4px 0 6px}.realtime-head p{margin:0}
.realtime-stage{text-align:center;padding:28px 15px 20px}.realtime-stage>b{display:block;font-size:20px;margin-top:14px}.realtime-stage p{max-width:520px;margin:9px auto;color:var(--muted);line-height:1.45}
.realtime-orb{width:116px;height:116px;border-radius:50%;display:grid;place-items:center;margin:auto;background:radial-gradient(circle at 35% 30%,#ff9d75,#ff4f7f 45%,#7041c7);box-shadow:0 18px 50px rgba(118,59,187,.35);transition:.25s}.realtime-orb span{font-size:40px}.realtime-orb.connecting{animation:pulseVoice 1s infinite}.realtime-orb.live{animation:aiBreath 1.4s ease-in-out infinite alternate}.realtime-orb.speaking{animation:aiSpeak .55s ease-in-out infinite alternate}
@keyframes aiBreath{to{transform:scale(1.06);box-shadow:0 20px 60px rgba(255,68,123,.48)}}@keyframes aiSpeak{to{transform:scale(1.11) rotate(2deg)}}
.realtime-transcript{min-height:76px;max-height:200px;overflow:auto;background:#f7f3fa;border:1px solid #e8dff0;border-radius:18px;padding:13px;margin:6px 0 15px}.realtime-note{font-size:13px;color:var(--muted);padding:5px}.realtime-event{font-size:13px;padding:7px 8px;border-bottom:1px solid #e9e1ed}.realtime-event:last-child{border-bottom:0}
.realtime-actions{display:flex;gap:10px;flex-wrap:wrap}.realtime-actions>*{flex:1}.realtime-privacy{font-size:12px;color:var(--muted);line-height:1.4;margin:14px 0 0}
@media(max-width:650px){.realtime-shell{padding:17px}.realtime-actions{display:grid}.ai-talk-card{align-items:flex-start}.ai-talk-button{width:100%}}
