:root{--bg:#090e18;--panel:#141d2e;--panel2:#1a263a;--edge:#29354b;--text:#f3f5ff;--muted:#94a2b7;--dim:#6d7d94;--cyan:#70e4df;--cyan2:#3daead;--gold:#eac27e;--green:#7bd7a6;--danger:#e9a0ab;--bottom:88px;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;font-synthesis:none; color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 80% -5%,#19314a 0%,transparent 43%),var(--bg);min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:var(--cyan)}.app-shell{max-width:530px;margin:0 auto;min-height:100dvh;position:relative;padding-bottom:calc(var(--bottom) + env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 21px 14px;position:sticky;top:0;z-index:9;background:linear-gradient(180deg,#0a111ef7,#0a111ee7);backdrop-filter:blur(12px);border-bottom:1px solid #ffffff09}.brand{display:flex;gap:9px;align-items:center}.brand-mark{width:28px;height:28px;border:1px solid #69c5c7;border-radius:9px;color:var(--cyan);display:grid;place-items:center;font-family:Georgia,serif;font-weight:bold;font-size:19px;box-shadow:inset 0 0 12px #48b6af18}.brand-text{font-size:13px;letter-spacing:2px;font-weight:850}.brand-v{font-size:9px;letter-spacing:1px;color:var(--cyan);padding:2px 4px;border:1px solid #448f946b;border-radius:3px;vertical-align:1px}.date-label{font-size:11px;color:var(--muted)}.screen{padding:15px 18px 25px}.kicker{font-size:10px;color:var(--cyan);letter-spacing:1.8px;font-weight:800;text-transform:uppercase;margin:3px 0 8px}.headline{font-size:25px;font-weight:800;letter-spacing:-.7px;line-height:1.45;margin:0 0 6px}.subline{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 18px}.section-title{font-size:14px;font-weight:800;letter-spacing:.1px;margin:23px 0 10px;display:flex;justify-content:space-between;align-items:center}.section-title small{font-size:11px;color:var(--muted);font-weight:500}.link-btn{background:none;border:0;color:var(--cyan);font-weight:650;font-size:11px;padding:5px}.panel{background:linear-gradient(135deg,#182437,#141d2d);border:1px solid #30405a;border-radius:19px;padding:17px;margin-bottom:12px;box-shadow:0 6px 22px #02070d29}.panel.raised{background:linear-gradient(125deg,#203248,#111a2b 70%)}.flex{display:flex}.between{justify-content:space-between}.center{align-items:center}.gap8{gap:8px}.gap12{gap:12px}.muted{color:var(--muted)}.tiny{font-size:11px}.small{font-size:12px}.micro{font-size:10px}.gold{color:var(--gold)}.cyan{color:var(--cyan)}.strong{font-weight:750}.card-label{color:var(--muted);font-size:10px;letter-spacing:1.2px;font-weight:700}.big-number{font-size:28px;font-weight:900;line-height:1.25;font-variant-numeric:tabular-nums}.mini-pill{font-size:10px;color:var(--gold);border:1px solid #b8975b55;padding:5px 9px;background:#eabd7620;border-radius:99px;white-space:nowrap}.hero{position:relative;overflow:hidden;min-height:250px;border-color:#3c5a70;background:radial-gradient(circle at 76% 34%,#274759 0%,#17283a 32%,#101a2b 82%)}.hero:before{content:"";position:absolute;right:-64px;top:-65px;width:260px;height:260px;border:1px solid #7cd6d420;border-radius:50%;box-shadow:0 0 0 27px #7cd6d407,0 0 0 56px #7cd6d406}.hero-figure{position:absolute;right:4px;top:32px;width:162px;height:180px;pointer-events:none;opacity:.95}.hero-figure svg{width:100%;height:100%;filter:drop-shadow(0 4px 21px #2bceb843)}.hero-copy{position:relative;z-index:1;max-width:62%}.hero-level{font-size:39px;font-weight:900;letter-spacing:-1.4px;margin:10px 0 0;font-variant-numeric:tabular-nums}.hero-name{font-size:20px;font-weight:850;margin:4px 0}.hero-role{font-size:12px;color:#c9d6e8;line-height:1.7;margin:3px 0 21px}.hero-bar-wrap{position:relative;z-index:1;margin-top:13px}.meter{background:#2b3b50;border-radius:12px;height:8px;overflow:hidden}.meter>span{height:100%;display:block;background:linear-gradient(90deg,var(--cyan2),#97f6dc);border-radius:12px;min-width:0;transition:width .25s}.meter.goldmeter>span{background:linear-gradient(90deg,#d2a461,#f8dfa5)}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.metric{background:#151f30;border:1px solid #293a50;border-radius:14px;padding:13px 10px}.metric .value{font-size:22px;font-weight:850;margin:5px 0 3px;font-variant-numeric:tabular-nums}.metric .suffix{font-size:11px;font-weight:600}.metric .cap{font-size:10px;color:var(--muted);line-height:1.4}.quest-row{display:flex;gap:11px;align-items:center;padding:12px 1px;border-bottom:1px solid #ffffff12}.quest-row:last-child{border-bottom:0;padding-bottom:3px}.quest-check{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:31px;height:31px;border:1px solid #586a80;border-radius:10px;color:transparent;background:#101a29;font-size:16px}.quest-check.completed{background:#235d5a;border-color:#5fc5b3;color:#d7fff4}.quest-name{font-size:12px;font-weight:750;line-height:1.5}.quest-done{text-decoration:line-through;color:#7a94a3}.quest-meta{font-size:10px;color:var(--muted);margin-top:3px}.xp{font-size:11px;color:var(--gold);font-weight:750;white-space:nowrap}.text-btn{border:0;background:transparent;color:var(--cyan);font-size:12px;font-weight:700;padding:8px 0}.primary-btn{background:linear-gradient(110deg,#6ce4da,#66b9bc);color:#0a2730;border:0;border-radius:12px;padding:13px 15px;font-size:13px;font-weight:850;min-height:45px}.secondary-btn{border:1px solid #465a72;color:#deedfa;background:#233247;border-radius:12px;padding:11px 14px;font-size:12px;font-weight:700;min-height:43px}.danger-btn{border:1px solid #8b4b58;color:#f0a4af;background:#4727333d;border-radius:12px;padding:11px 14px;font-size:12px;font-weight:700}.full{width:100%}.chip{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid #4b596e;border-radius:99px;background:#19273b;color:#d4deed;font-size:11px}.progress-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;margin-bottom:9px}.task-progress{height:7px}.day-summary{display:flex;align-items:center;gap:17px}.donut{width:138px;height:138px;border-radius:50%;position:relative;flex:0 0 138px;display:grid;place-items:center}.donut-inner{border-radius:50%;width:96px;height:96px;background:#151f2d;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #41536a55}.donut-value{font-size:21px;font-weight:850}.donut-unit{font-size:10px;color:var(--muted)}.legend{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.legend-item{font-size:10px;display:flex;justify-content:space-between;gap:6px;color:#b4c4d5}.legend-dot{width:8px;height:8px;flex-shrink:0;border-radius:3px;margin-right:6px;display:inline-block}.legend-left{display:flex;align-items:center;min-width:0}.legend-left span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insight{background:#172938;border:1px solid #355666;border-radius:14px;padding:13px 14px;color:#d4e3e8;font-size:12px;line-height:1.8}.insight b{color:var(--cyan)}.bottom-nav{position:fixed;z-index:12;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:530px;display:grid;grid-template-columns:repeat(5,1fr);background:#111b2aef;border-top:1px solid #4052689a;backdrop-filter:blur(20px);padding:8px 7px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #040a1380}.nav-item{border:0;background:transparent;color:#8999ac;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;padding:5px 0;font-size:10px;min-height:48px}.nav-icon{font-size:24px;font-weight:450;line-height:1.1}.nav-item.selected{color:var(--cyan);font-weight:850}.field{display:flex;flex-direction:column;gap:7px;margin:0 0 14px}.field label{color:#c7d5e4;font-size:11px;font-weight:750}.input,.select,.textarea{width:100%;border-radius:10px;border:1px solid #52627a;background:#101a29;color:#e9f3ff;padding:12px 12px;min-height:43px;outline:none;font-size:14px}.input:focus,.textarea:focus,.select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #70e4df22}.textarea{min-height:80px;resize:vertical;line-height:1.6}.input::placeholder,.textarea::placeholder{color:#677992}.select{appearance:auto}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.route-choice{background:#172436;color:#d1e0ed;border:1px solid #34475f;border-radius:12px;min-height:80px;text-align:left;padding:12px;line-height:1.5}.route-choice.active{border-color:var(--cyan);background:#183940;box-shadow:0 0 0 1px #70e4df44}.route-choice .route-icon{font-size:23px;display:block;margin-bottom:5px}.route-choice .route-label{font-size:12px;font-weight:800}.route-choice .route-desc{font-size:9px;color:#a7b9c6}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.seg button{font-size:11px;border:1px solid #40536a;border-radius:10px;background:#152235;color:#d1deec;padding:11px 5px}.seg button.selected{background:#225351;border-color:var(--cyan);color:#e1fffb;font-weight:800}.date-picker{text-align:center;color:var(--text)}.entries{display:flex;flex-direction:column;gap:8px}.entry{padding:11px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-radius:12px;background:#111c2b;border:1px solid #2c3e53}.entry .entry-note{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5}.entry .value{font-weight:800;font-size:12px;white-space:nowrap}.entry .delete{border:0;color:#aabbcb;background:transparent;font-size:18px;padding:0 3px}.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:7px;height:132px;padding-top:10px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}.bar-track{height:94px;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar-fill{max-width:29px;width:100%;min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(0deg,#226667,#70e4df)}.bar-label{font-size:10px;color:var(--muted)}.bar-value{font-size:10px;color:#d2ecee;font-weight:700}.satisfaction-list{display:grid;gap:11px}.satisfaction-row{display:grid;grid-template-columns:80px 1fr 37px;align-items:center;gap:9px;font-size:11px}.score-bar{height:8px;border-radius:10px;background:#314255;overflow:hidden}.score-bar>span{height:100%;display:block;background:linear-gradient(90deg,#bc9162,#f3c782);border-radius:10px}.empty{text-align:center;padding:25px 13px;color:var(--muted);font-size:12px;line-height:1.9}.helper{font-size:10px;color:var(--dim);line-height:1.6}.note{font-size:11px;color:#c4d8e4;line-height:1.8;background:#1c2d3b;border-left:3px solid var(--cyan2);padding:12px;border-radius:0 9px 9px 0}.modal-root:empty{display:none}.modal-root{position:fixed;inset:0;z-index:20;background:#030711c9;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(3px)}.modal-sheet{width:100%;max-width:530px;max-height:92dvh;overflow:auto;background:#142032;border:1px solid #40516a;border-radius:22px 22px 0 0;padding:23px 20px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -22px 70px #0007}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-title{font-size:17px;font-weight:850}.modal-close{font-size:23px;color:#cfdfeb;border:0;background:transparent;padding:4px 8px}.toast{position:fixed;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);background:#e8f9f5;color:#123d43;padding:11px 17px;border-radius:10px;font-size:12px;font-weight:750;white-space:nowrap;z-index:30;opacity:0;transition:.22s;pointer-events:none;box-shadow:0 10px 30px #0007}.toast.show{transform:translate(-50%,0);opacity:1}.divider{height:1px;background:#ffffff18;margin:16px 0}.number-line{display:flex;gap:9px;align-items:center}.number-line .n{border:1px solid #4a6678;border-radius:8px;color:var(--cyan);width:25px;height:25px;display:grid;place-items:center;font-size:11px;font-weight:850}.stat-line{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff15;font-size:12px}.stat-line:last-child{border-bottom:0}.timer-display{font-size:37px;font-weight:850;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:2px;padding:12px 0;color:var(--cyan)}.row-gap{display:flex;gap:9px;flex-wrap:wrap}.level-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;background:#213748;border:1px solid #426a76;color:var(--cyan);font-size:12px;font-weight:800}.warning{color:#efc393}.report{white-space:pre-wrap}.stat-sub{font-size:10px;color:var(--muted)}@media(min-width:560px){.app-shell{border-left:1px solid #273447;border-right:1px solid #273447;box-shadow:0 0 60px #0006}.screen{padding:18px 24px 25px}}@media(max-width:350px){.day-summary{gap:9px}.donut{width:116px;height:116px;flex-basis:116px}.donut-inner{width:80px;height:80px}.hero-figure{right:-14px;width:143px}.hero-copy{max-width:67%}.metric .value{font-size:19px}}

/* v2: iOS standalone safe-area header fix */
.topbar{padding-top:calc(14px + env(safe-area-inset-top, 0px));padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));min-height:calc(61px + env(safe-area-inset-top,0px));}
.brand{min-width:0}.brand-text{font-size:12px;letter-spacing:1.4px}.date-label{white-space:nowrap;flex-shrink:0;margin-left:9px}
@media(max-width:380px){.brand-v{display:none}.brand-text{font-size:11px;letter-spacing:1px}}
.route-crest{position:absolute;right:16px;top:12px;font-size:31px;color:var(--gold);opacity:.65;z-index:1;text-shadow:0 0 15px #ffc67861}
.hero.route-harmony,.character-identity.route-harmony{background:radial-gradient(circle at 84% 24%,#294e79,#15243a 60%,#101a2b)}
.hero.route-learning,.character-identity.route-learning{background:radial-gradient(circle at 84% 24%,#433973,#15243a 60%,#101a2b)}
.hero.route-freedom,.character-identity.route-freedom{background:radial-gradient(circle at 84% 24%,#37584b,#15243a 60%,#101a2b)}
.hero.route-creator,.character-identity.route-creator{background:radial-gradient(circle at 84% 24%,#674630,#15243a 60%,#101a2b)}
.hero.route-community,.character-identity.route-community{background:radial-gradient(circle at 84% 24%,#663d59,#15243a 60%,#101a2b)}
.route-harmony .hero-figure svg,.route-harmony .character-avatar svg{filter:drop-shadow(0 4px 12px #80b3ff33)}
.route-learning .hero-figure svg,.route-learning .character-avatar svg{filter:drop-shadow(0 4px 12px #b3a0ff33)}
.route-freedom .hero-figure svg,.route-freedom .character-avatar svg{filter:drop-shadow(0 4px 12px #b4f7b533)}
.route-creator .hero-figure svg,.route-creator .character-avatar svg{filter:drop-shadow(0 4px 12px #ffb28433)}
.route-community .hero-figure svg,.route-community .character-avatar svg{filter:drop-shadow(0 4px 12px #f29fff33)}
.stat-panel-intro{font-size:11px;line-height:1.75;color:var(--muted);margin-bottom:12px}
.stat-panel-intro strong{color:#d7e4f0;font-weight:600}
.rpg-stats{display:grid;gap:12px}
.rpg-stat-main{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;margin-bottom:6px}
.rpg-stat-main strong{font-variant-numeric:tabular-nums;font-size:13px;color:var(--cyan)}
.stat-focus{font-size:9px;color:var(--gold);border:1px solid #bfa36a50;border-radius:5px;padding:2px 4px;margin-left:3px}
.stat-breakdown{font-size:10px;color:var(--muted);margin-top:5px}
.rpg-stats+.link-btn{margin-top:13px}
.character-identity{min-height:170px;position:relative;overflow:hidden;border:1px solid #40566c;border-radius:15px;display:flex;align-items:center;gap:10px;background:radial-gradient(circle at 84% 24%,#264c54,#15243a 60%,#101a2b);margin-bottom:18px}
.character-avatar{width:125px;height:168px;flex:0 0 125px;overflow:hidden;align-self:flex-end;margin-left:-9px}
.character-avatar svg{width:150px;height:180px;transform:translate(-7px,0)}
.identity-copy{flex:1;min-width:0;padding:11px 10px 11px 0}
.identity-crest{color:var(--gold);font-size:28px;margin:4px 0}
.identity-name{font-size:17px;font-weight:850;line-height:1.5;margin-bottom:7px}


/* v3 - Original illustrated job cards */
.hero-v3{position:relative;isolation:isolate;overflow:hidden;margin-bottom:13px;height:430px;border:1px solid #bba47c88;border-radius:21px;background:#14223a;box-shadow:0 16px 38px #0007,0 0 27px #23b9c41a}
.hero-v3-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%;z-index:-2}
.hero-v3:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#030a1726 0%,#07131d00 20%,#07121d25 43%,#07121dec 73%,#07121efb 100%)}
.hero-v3:after{content:"";position:absolute;inset:3px;border:1px solid #d6c48b38;border-radius:17px;pointer-events:none}
.hero-v3-sheen{position:absolute;right:-80px;top:-100px;width:230px;height:230px;border:1px solid #6ee5e525;border-radius:50%;box-shadow:0 0 0 26px #79e6eb08,0 0 0 60px #79e6eb04;pointer-events:none}
.hero-v3-top{position:absolute;inset:16px 19px auto;display:flex;align-items:flex-start;justify-content:space-between;z-index:1}
.hero-v3-label{background:#08131ec9;border:1px solid #c9b77d62;border-radius:7px;padding:7px 9px;color:#f1d39c;font-size:10px;letter-spacing:1.5px;font-weight:850}
.hero-v3-crest{font-size:30px;color:var(--gold);text-shadow:0 0 14px #e3b770b0}
.hero-v3-copy{position:absolute;left:18px;right:16px;bottom:86px;z-index:2}
.hero-v3-level{font-size:11px;letter-spacing:1.6px;color:#e7cf9d;font-weight:900}
.hero-v3-level span{font-size:9px;letter-spacing:.7px;color:#a1c8d0}
.hero-v3-name{margin:5px 0 4px;color:#fff9f1;font-size:clamp(20px,6vw,26px);letter-spacing:.5px;font-weight:950;text-shadow:0 3px 9px #000e}
.hero-v3-player{font-size:12px;font-weight:800;color:#f0f4fc;text-shadow:0 2px 6px #000b;line-height:1.5}
.hero-v3-player span{font-size:10px;color:#afc0d0;font-weight:600}
.hero-v3-change{margin-top:12px;padding:8px 12px;border-radius:9px;background:#0a1b28bd;border:1px solid #6dbac199;color:#b9f5ef;font-size:11px;font-weight:800;min-height:37px}
.hero-v3-change:focus-visible,.job-tile:focus-visible{outline:2px solid #91fff0;outline-offset:3px}
.hero-v3-footer{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:12px 18px 13px;background:linear-gradient(180deg,#0c162400,#09131eeb 20%,#07131df0)}
.hero-v3-footer .progress-head{margin-bottom:6px;font-size:10px}.hero-v3-footer .meter{height:7px}
.hero-v3-hint{color:#9fb5c7;font-size:10px;margin-top:7px}
.profile-v3-hero{height:235px;position:relative;overflow:hidden;border-radius:14px;border:1px solid #c4aa7a78;background:#121d31;margin-bottom:17px}
.profile-v3-hero img{height:100%;width:100%;object-fit:cover;object-position:center 28%}
.profile-v3-hero:after{position:absolute;content:"";inset:0;background:linear-gradient(180deg,transparent 20%,#07111fdb 85%,#07111ff7)}
.profile-v3-copy{position:absolute;bottom:14px;left:16px;right:10px;z-index:1}
.profile-v3-copy h2{font-size:22px;margin:4px 0;font-weight:900;color:#fff4e9}
.profile-v3-copy p{font-size:11px;margin:0;color:#c1d3dc}
.job-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:4px}
.job-tile{position:relative;background:#142238;border:1px solid #3a5068;border-radius:14px;padding:0;color:#eef5fb;text-align:left;min-width:0;overflow:hidden;box-shadow:0 6px 17px #0003}
.job-tile.is-current{border-color:#6deae1;box-shadow:0 0 0 1px #70e4df60,0 7px 24px #188e9a39}
.job-tile-media{height:155px;position:relative;overflow:hidden;background:#0d1b2b}
.job-tile-media img{height:100%;width:100%;object-fit:cover;object-position:center 19%;display:block}
.job-tile-media:after{position:absolute;content:"";inset:0;background:linear-gradient(180deg,transparent 50%,#0a162edd)}
.job-tile-icon{position:absolute;right:10px;top:8px;z-index:1;color:#f1d49e;text-shadow:0 1px 6px #000; font-size:18px}
.job-tile-caption{display:flex;flex-direction:column;gap:4px;padding:10px 9px 11px;min-height:73px}
.job-tile-caption strong{font-size:12px;line-height:1.4}.job-tile-caption small{font-size:9px;line-height:1.5;color:#9eb3c8}
.job-tile-current{position:absolute;top:9px;left:8px;z-index:2;background:#092a31e8;color:#8ffff0;border:1px solid #64d4c6;border-radius:6px;padding:4px 7px;font-size:9px;font-weight:800}
.job-gallery-note{color:#9dafc2;font-size:10px;line-height:1.7;margin-top:10px}
@media(max-width:360px){.hero-v3{height:395px}.hero-v3-copy{left:13px}.job-tile-media{height:135px}}
@media(prefers-reduced-motion:no-preference){.hero-v3-cover{animation:heroAppear .7s ease-out both}@keyframes heroAppear{from{transform:scale(1.035);opacity:.65}to{transform:scale(1);opacity:1}}}

/* v5 finance / resource screen */
.finance-home,.finance-hero{border-color:#49706f;background:linear-gradient(135deg,#1c333f,#111c2d 70%)}
.money-large{font-size:clamp(23px,6.2vw,32px);font-weight:900;color:#f5f7ff;font-variant-numeric:tabular-nums;line-height:1.4;letter-spacing:-.6px;overflow-wrap:anywhere}
.money-micro{font-size:11px;color:#a5bdc8;line-height:1.7;margin:2px 0 13px}
.money-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0 16px}
.money-mini-grid>div{padding:10px 8px;border-radius:10px;background:#07172976;border:1px solid #36526588;min-width:0}
.money-mini-grid small{display:block;font-size:10px;color:#9bb3bd;margin-bottom:8px}
.money-mini-grid b{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.money-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.money-actions button{padding:12px 6px;font-size:12px;white-space:nowrap}
.account-list{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.account-row{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:13px;padding-bottom:10px;border-bottom:1px solid #ffffff14}
.account-row:last-child{border-bottom:0;padding-bottom:0}
.account-row strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}
.money-filter{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 11px}
.money-entries{margin:0}
.money-entry-text{flex:1;min-width:0}
.money-entry-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:80px}
.money-entry-right strong{font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}
.finance-category{font-size:12px;margin-bottom:15px}
.finance-category:last-child{margin-bottom:0}
.finance-category .meter{margin-top:8px;height:6px}
@media(max-width:370px){.money-mini-grid{gap:5px}.money-mini-grid>div{padding:9px 5px}.money-mini-grid small{font-size:9px}.money-mini-grid b{font-size:11px}.money-actions button{font-size:11px}}

/* v6 - upcoming cash flow, scheduled payments and receipt scan */
.plan-home-note{font-size:11px;color:#b4c7cb;border-top:1px solid #ffffff1a;margin-top:14px;padding-top:11px}
.plan-home-note strong{color:#fff7e5;font-variant-numeric:tabular-nums}
.plan-panel{background:linear-gradient(150deg,#163043,#111e31);border-color:#4a7a79}
.plan-forecast{font-size:clamp(23px,6vw,30px);font-weight:900;color:#f5f8ff;margin-top:10px;font-variant-numeric:tabular-nums}
.plan-list{display:flex;flex-direction:column;gap:15px}
.plan-item{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #ffffff1b;padding-bottom:13px}
.plan-item:last-child{border:0;padding-bottom:0}
.plan-copy{flex:1;min-width:0}
.plan-name{font-size:13px;font-weight:800;line-height:1.45;margin-bottom:4px;overflow-wrap:anywhere}
.plan-copy .link-btn{font-size:10px;margin-top:6px}
.plan-right{text-align:right;display:flex;flex-direction:column;gap:7px;align-items:flex-end;min-width:100px}
.plan-right strong{font-size:14px;font-variant-numeric:tabular-nums}
.planned-in{color:#8bdfc9}.planned-out{color:#f2d1a9}
.small-action{border:1px solid #63cfc2a0;border-radius:8px;background:#193d47;color:#a6fff2;padding:8px 7px;font-size:10px;font-weight:750;min-height:34px}
.mini-link{border:0;color:#92a9c1;background:none;font-size:10px;text-decoration:underline;padding:5px}
.receipt-launch{width:100%;margin:0 0 18px;background:#102937;border:1px dashed #65d4c0;border-radius:11px;padding:15px 12px;color:#b9fff3;font-size:13px;font-weight:800}
.receipt-box{border:1px solid #4e8e8c;background:#102b36;border-radius:13px;padding:13px;margin-bottom:16px}
.receipt-box .row2{margin:10px 0}
.photo-select{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #547a91;border-radius:9px;padding:8px;color:#cff5f1;background:#193447;font-size:12px;font-weight:700;text-align:center;cursor:pointer}
.receipt-photo-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.receipt-preview{display:block;width:100%;max-height:230px;object-fit:contain;background:#0d1420;border-radius:8px;margin:10px 0}
.receipt-preview[hidden]{display:none}
.receipt-text{white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto;font-size:11px;color:#a7bbc7;background:#07121e;padding:10px;border-radius:8px}
.receipt-box .secondary-btn:disabled{opacity:.45}
@media(max-width:370px){.plan-right{min-width:87px}.small-action{font-size:9px}}

/* v7: BOOK QUEST — reflective reading and life-skill progression */
.book-home{background:linear-gradient(145deg,#20283d,#102b35 94%);border-color:#667e9a}
.book-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.book-stats>div{display:flex;flex-direction:column;align-items:center;border-radius:11px;padding:12px 6px;background:#0b172788;border:1px solid #52657855}
.book-stats strong{font-size:24px;color:#f7e9ca}.book-stats small{font-size:10px;color:#aebcc9;margin-top:3px}
.book-skill-meta{font-size:11px;line-height:1.8;color:#b6c6d6;margin:10px 0 14px}
.book-banner{position:relative;background:radial-gradient(ellipse at 52% 40%,#286d7f,#18253d 60%,#0d162a);border:1px solid #6a92ac88;border-radius:16px;min-height:136px;text-align:center;padding:20px 12px 16px;box-shadow:inset 0 0 45px #2d7c8930}
.book-banner-symbol{font-size:27px;letter-spacing:10px;color:#e4bc7a;margin-bottom:8px;text-shadow:0 0 14px #5fe2eb}
.book-banner strong{display:block;font-size:18px;letter-spacing:2px;color:#faead4}
.book-banner p{font-size:11px;color:#b5ced7;margin:7px 0 0}
.book-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
.book-skill{background:#152b3b;border:1px solid #41617a;border-radius:14px;padding:13px 11px;display:flex;flex-direction:column;gap:5px;min-width:0}
.book-skill-icon{width:38px;height:38px;border-radius:12px;background:#2e5474;display:grid;place-items:center;font-size:20px;margin-bottom:4px}
.book-skill b{font-size:13px}.book-skill small{font-size:11px;color:#dfc18d}
.book-skill-desc{font-size:10px;color:#a8bfcd;line-height:1.6;min-height:32px}.book-skill .meter{margin-top:3px}
.book-library{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.book-row{display:flex;align-items:center;gap:12px;background:#17273a;border:1px solid #3c5269;border-radius:12px;padding:12px}
.book-spine{flex:0 0 42px;height:53px;border-radius:5px;background:linear-gradient(120deg,#5b4f7c,#2f4f70);display:grid;place-items:center;font-size:24px;box-shadow:inset 4px 0 #f3c78366}
.book-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.book-meta strong{font-size:13px;overflow-wrap:anywhere}.book-meta small{font-size:10px;color:#abbacb}
.book-session-card{border-color:#48647a;margin-bottom:12px;padding:14px}
.book-session-learn{font-size:13px;line-height:1.75;color:#f1f2e6;margin:9px 0;overflow-wrap:anywhere;white-space:pre-line;max-height:170px;overflow:hidden}
.book-row-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.book-row-actions .secondary-btn{flex:1 1 120px;font-size:11px;min-height:40px;padding:10px 8px}
.book-photo-box{border:1px dashed #6c92a7;border-radius:12px;padding:12px;margin:14px 0;background:#102434}
.book-dialogue-head{border:1px solid #426d89;background:#112b3c;border-radius:12px;padding:13px}.book-dialogue-head b{font-size:13px}.book-dialogue-head p{font-size:12px;color:#cbdde5;line-height:1.7;white-space:pre-line;max-height:120px;overflow:auto}.book-dialogue-head span{font-size:10px;color:#9bb3c4}
.book-prompt-tabs{display:flex;gap:7px;margin:15px 0}.book-prompt-tabs button{flex:1;background:#162b43;color:#a3b7ca;border:1px solid #445a74;padding:9px 4px;border-radius:8px}.book-prompt-tabs button.active{color:#e7fff7;background:#20566a;border-color:#69c9bc}
.book-q{border-left:3px solid #d1b47d;background:#1a2e40;padding:14px;border-radius:8px;margin-bottom:13px;font-size:13px;line-height:1.8}
.book-ai-promo{border-radius:12px;border:1px solid #a18b5e;background:#2b2a32;padding:13px;margin:16px 0}.book-ai-promo b{color:#fde7b9}.book-ai-promo p{font-size:12px;color:#e2d4bd;line-height:1.75}
@media(max-width:360px){.book-row-actions .secondary-btn{flex-basis:100%}.book-skill{padding:10px}}

/* v8 - Training / real workout log */
.workout-home{background:linear-gradient(135deg,#183346,#182439 80%);border-color:#527a87}
.workout-cover{display:flex;align-items:center;gap:18px;border-radius:15px;background:radial-gradient(ellipse at 20% 10%,#326178,#1c293d 52%,#101c30);border:1px solid #6098a2;padding:22px 18px;margin:18px 0 14px;min-height:140px;box-shadow:inset 0 0 45px #4386a52b}
.workout-cover>span{font-size:52px;filter:drop-shadow(0 0 18px #68cdb8a0)}.workout-cover small{font-size:10px;letter-spacing:2px;color:#8ce0dd;display:block;font-weight:800}.workout-cover strong{font-size:19px;margin:9px 0 3px;display:block}.workout-cover p{font-size:11px;color:#9ebdcc;line-height:1.6;margin:0}
.workout-metrics{margin:16px 0}.workout-best-row{display:flex;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #ffffff1a;align-items:center}
.workout-best-row:last-of-type{border-bottom:0}.workout-best-row>div{display:flex;flex-direction:column;gap:5px;min-width:0}.workout-best-row>div:last-child{text-align:right}.workout-best-row strong{font-size:13px}.workout-best-row b{font-size:16px;color:#dce5fa}.workout-best-row small{font-size:10px;color:#9eb6c5;line-height:1.5}
.workout-session{margin-bottom:12px}.workout-exercise-summary{padding:9px 0;border-bottom:1px solid #ffffff15;display:flex;flex-direction:column;gap:4px}
.workout-exercise-summary strong{font-size:13px;color:#d8f9f3}.workout-exercise-summary span{font-size:11px;line-height:1.65;color:#b6c7d8;overflow-wrap:anywhere}.workout-session-note{white-space:pre-wrap;font-size:12px;line-height:1.75;color:#d8d7cc}.workout-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:11px}.workout-actions .secondary-btn{padding:9px 16px;font-size:12px}
.training-exercise{background:#102436;border:1px solid #567688;border-radius:13px;padding:12px;margin:0 0 13px}.training-exercise-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.training-exercise-head strong{font-size:14px;color:#d3eee7}.training-set-label{color:#afc2c9;font-size:11px;margin:10px 0 5px}.training-set-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) 28px;gap:7px;align-items:end;margin:8px 0}.training-set-row label{font-size:10px;color:#afc9cf;display:flex;flex-direction:column;gap:5px}.training-set-row .input{width:100%;min-width:0;padding:12px 7px}.training-minus{height:44px;border-radius:9px;background:#304058;border:1px solid #56728b;color:#dce9f0;font-size:18px}.training-add-set{margin-top:9px;padding:10px 9px;font-size:11px}.training-exercise .input{font-size:13px}
@media(max-width:360px){.workout-cover{gap:10px;padding:16px 11px}.workout-cover>span{font-size:39px}.training-set-row{gap:5px}}


/* POSITION Ver.9 — adventure hub for body & wealth. Presentation only; saved data and XP rules unchanged. */
.rpg-hub-card,.rpg-feature-hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #6bb9bf78;border-radius:19px;background:linear-gradient(148deg,#132743,#081421);box-shadow:0 13px 33px #0007, inset 0 0 20px #3ddfd30b;margin:0 0 14px}
.rpg-hub-card:before,.rpg-feature-hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,#071421f0 0%,#0c1b2fe0 58%,#0a16229b 100%)}
.rpg-hub-card:after,.rpg-feature-hero:after{content:"";position:absolute;top:0;left:19%;right:19%;height:1px;opacity:.75;background:linear-gradient(90deg,transparent,#77f5e4,transparent)}
.rpg-hub-card.wealth-hub{border-color:#cbad7193;box-shadow:0 13px 32px #0008,inset 0 0 18px #f6c8790c}
.rpg-hub-card.wealth-hub:after,.rpg-wealth-feature:after{background:linear-gradient(90deg,transparent,#f0d08d,transparent)}
.rpg-hub-art{position:absolute;inset:0 0 0 auto;width:57%;height:100%;object-fit:cover;object-position:center 25%;z-index:-2;opacity:.76;filter:saturate(.8)}
.rpg-hub-content{position:relative;padding:19px 17px 17px;z-index:1}
.rpg-hub-top,.rpg-feature-top{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:16px;font-size:10px;font-weight:900;letter-spacing:1.25px;color:#92e9df}
.wealth-hub .rpg-hub-top,.rpg-wealth-feature .rpg-feature-top{color:#edce93}
.rpg-overline{line-height:1.3}
.rpg-rank{color:#ffdfab;background:#6d562a57;border:1px solid #ceb47872;border-radius:999px;padding:5px 9px;letter-spacing:0;font-size:10px;white-space:nowrap}
.body-hub .rpg-rank,.rpg-training-feature .rpg-rank{color:#a3f9f1;background:#10555b55;border-color:#66e6d980}
.rpg-hub-card h3{margin:0;color:#f9f6ed;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;letter-spacing:.6px;text-shadow:0 3px 13px #000b}
.rpg-hub-lede{font-size:11px;color:#cfdeea;line-height:1.7;margin:5px 0 18px}
.rpg-two-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0 16px}
.rpg-two-stats.rpg-three-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.rpg-two-stats>div{background:#0714249c;border:1px solid #52708387;border-radius:11px;padding:11px 9px;min-width:0}
.rpg-two-stats small{display:block;color:#aabfcb;font-size:9px;line-height:1.5;margin-bottom:6px}
.rpg-two-stats strong{font-size:14px;display:block;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:#f7f3e8}
.rpg-progress-title{font-size:10px;color:#d2e2ed;display:flex;justify-content:space-between;gap:9px;margin:10px 0 7px}
.rpg-progress-title b{color:#a7f0e9;font-variant-numeric:tabular-nums}
.rpg-hub-note{font-size:10px;color:#aec5d0;line-height:1.75;margin:12px 0 16px;overflow-wrap:anywhere}
.rpg-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.rpg-actions button{min-height:44px;border-radius:10px;font-size:12px;font-weight:800;padding:10px 13px;line-height:1.35}
.rpg-action-main{border:1px solid #70e4dfb9;color:#c8fff4;background:#2c727960;box-shadow:inset 0 0 14px #40ccbf1e}
.rpg-action-gold{border-color:#d9bd84ac;color:#f7e1af;background:#7f623d80}
.rpg-action-minor{background:#26334bcc;color:#d7e8f4;border:1px solid #5671888a}
.rpg-wealth-number{font-size:clamp(24px,7vw,31px);line-height:1.4;color:#fff5de;font-weight:900;letter-spacing:-.7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.rpg-money-row{display:flex;justify-content:space-between;align-items:end;gap:7px}
.rpg-micro,.rpg-feature-balance-label{font-size:11px;color:#c1d2dc;line-height:1.55;display:block}
.rpg-visibility{flex-shrink:0;border:1px solid #66848991;border-radius:9px;background:#101f2cb9;color:#b3ece6;font-size:10px;padding:8px 9px;min-height:38px}
.rpg-visibility-inline{margin-top:9px}
.rpg-feature-hero{min-height:305px;margin-bottom:14px;border-color:#81dcd494}
.rpg-feature-art{position:absolute;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;z-index:-2;opacity:.65}
.rpg-feature-hero:before{background:linear-gradient(95deg,#081323f2 0%,#09172bd6 57%,#0915277b 100%),linear-gradient(0deg,#061121d0,transparent 65%)}
.rpg-wealth-feature{border-color:#d8b97999}
.rpg-feature-content{position:relative;padding:19px 18px 20px;z-index:1}
.rpg-feature-main-title{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:27px;font-weight:850;color:#f4f4f9;margin:0 0 8px;text-shadow:0 4px 12px #030915}
.rpg-feature-number{color:#fff4db;font-size:clamp(28px,8vw,36px);font-weight:900;line-height:1.4;letter-spacing:-.7px;overflow-wrap:anywhere;margin:5px 0}
.rpg-money-quick{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin:12px 0}
.rpg-money-quick button{font-size:10px;padding:10px 5px;min-height:46px;white-space:normal}
.rpg-recovery-note{font-size:11px;color:#aabfc8;line-height:1.7;margin:10px 0 18px}
.rpg-primary-glow{border:1px solid #a2f5e6;box-shadow:0 5px 24px #44d6c834}
.rpg-hub-card .meter,.rpg-feature-hero .meter{height:8px;background:#253950}
.rpg-hub-card button:focus-visible,.rpg-feature-hero button:focus-visible{outline:2px solid #abfff0;outline-offset:3px}
@media(max-width:360px){.rpg-hub-content,.rpg-feature-content{padding:15px 12px}.rpg-two-stats{gap:5px}.rpg-two-stats>div{padding:9px 6px}.rpg-two-stats strong{font-size:12px}.rpg-two-stats small{font-size:8px}.rpg-actions button{padding:9px 7px;font-size:10px}.rpg-hub-card h3{font-size:23px}.rpg-money-quick{gap:5px}}
@media(prefers-reduced-motion:no-preference){.rpg-hub-card:after,.rpg-feature-hero:after{animation:rpgGleam 6s ease-in-out infinite}@keyframes rpgGleam{0%,100%{opacity:.45}50%{opacity:.95}}}
@media(prefers-reduced-motion:reduce){.rpg-hub-card *, .rpg-feature-hero *{animation:none!important;transition:none!important}}


/* POSITION Ver.10 — BOOK QUEST: Arcane archive, visual upgrade only.
   These decorative ranks do not claim to measure intelligence. */
.arcane-hub,.arcane-feature{border-color:#b79be09c!important;background:radial-gradient(circle at 95% 0%,#50437455,transparent 52%),linear-gradient(147deg,#181a35,#0a1425)!important;box-shadow:0 15px 42px #01030a92,inset 0 0 27px #9f7dee1a,0 0 0 1px #927ac819!important}
.arcane-hub:before{background:linear-gradient(94deg,#080e20f8 0%,#13162df1 55%,#0a152bbb 100%),linear-gradient(0deg,#070d1e,transparent 70%)!important}
.arcane-hub:after,.arcane-feature:after{background:linear-gradient(90deg,transparent,#e3c78f,#b69bf7,transparent)!important}
.arcane-hub-art{width:68%;object-position:center 29%;filter:saturate(.95) contrast(1.08);opacity:.77}
.arcane-hub-content{min-height:300px}
.arcane-hub h3,.arcane-feature h2{color:#fff4dd!important;text-shadow:0 1px 16px #bb80ff55,0 3px 10px #000e}
.arcane-hub-crest{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;color:#f7d697;background:#604e813a;border:1px solid #efcea96b;box-shadow:0 0 17px #c4a0e33e;margin-bottom:10px;font-size:24px}
.arcane-rank{background:#594777a1!important;border-color:#d6b7fb9b!important;color:#f4dbff!important}
.arcane-hub .rpg-hub-top,.arcane-feature .rpg-feature-top{color:#d3bfff}
.arcane-hub .rpg-hub-lede{color:#e3d5f3}
.arcane-hub .rpg-two-stats>div,.arcane-feature .rpg-two-stats>div{background:#101627bf;border-color:#8e7bb56a}
.arcane-hub .rpg-progress-title b,.arcane-feature .rpg-progress-title b{color:#ffe1a2}
.arcane-primary{background:linear-gradient(115deg,#645da3a8,#38647ba3)!important;border-color:#c5afef!important;color:#fff4e8!important;box-shadow:0 0 19px #a188e535}
.arcane-primary:active,.arcane-cta:active{transform:scale(.985)}
.arcane-feature{min-height:340px}
.arcane-feature-art{width:68%;height:100%;object-position:center 31%;right:0;opacity:.86;filter:saturate(1.04)}
.arcane-feature:before{background:linear-gradient(92deg,#080f22fa 0%,#101627ef 53%,#18132ba4 100%),linear-gradient(0deg,#060918c0,transparent 75%)!important}
.arcane-feature-content{min-height:340px;padding:20px 17px}
.arcane-feature-symbol{display:grid;place-items:center;width:43px;height:43px;color:#f7dfa8;font-size:31px;margin:2px 0 12px;border:1px solid #b89dd98a;border-radius:50%;background:#6c568035;box-shadow:0 0 35px #b28ae242,inset 0 0 15px #ffedbb24}
.arcane-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0 18px}
.arcane-cta,.arcane-cta-secondary{min-width:0;font-size:12px;line-height:1.4;min-height:48px}
.arcane-cta{border:1px solid #e7d0a2;background:linear-gradient(105deg,#f0d7a0,#a99cdd);color:#181525;box-shadow:0 5px 25px #bca2e126}
.arcane-cta-secondary{border:1px solid #8877a7;background:#23233c}
.arcane-tree{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 0%,#58417b66,transparent 48%),linear-gradient(145deg,#1d1d35,#10192d 85%);border:1px solid #816ba7a9;border-radius:18px;padding:15px 14px 17px;margin-bottom:10px;box-shadow:inset 0 0 24px #a990cf16}
.arcane-tree:before{content:'✦';position:absolute;font-size:260px;right:-75px;top:8px;opacity:.025;color:#fff;pointer-events:none}
.arcane-tree-head{display:flex;align-items:center;justify-content:space-between;gap:9px;color:#d6baef;font-size:9px;letter-spacing:1.1px;font-weight:850}
.arcane-tree-head small{color:#a6a4bd;letter-spacing:0;font-size:10px}
.arcane-tree-core{width:132px;margin:19px auto 15px;display:flex;gap:3px;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:92px;border:1px solid #d3bbf08c;border-radius:50%;background:radial-gradient(circle,#4f497e88,#141a35c7 73%);box-shadow:0 0 0 11px #c3a9e30b,0 0 27px #bba5ed54}
.arcane-tree-core:after{content:'';position:absolute;height:16px;width:1px;bottom:-16px;background:linear-gradient(#d8b5ed,#7d70ac55)}
.arcane-tree-core span{font-size:27px;color:#ffe4a5;line-height:1.1}.arcane-tree-core b{font-size:11px;color:#f1e3fd}
.arcane-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;position:relative}
.arcane-skill{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;min-width:0;min-height:164px;padding:15px 9px 12px;border:1px solid #69648e91;border-radius:14px;background:linear-gradient(150deg,#302a4c,#151f34);box-shadow:inset 0 1px 0 #cbb9ff19}
.arcane-skill-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-size:28px;color:#ffe4b9;border:1px solid #e6caa46b;background:radial-gradient(circle,#67507bbf,#302844 65%);box-shadow:0 0 17px #a584d144}
.arcane-skill-name{font-size:13px;font-weight:850;color:#fff4ef}.arcane-skill-level{font-size:10px;color:#e7cda1;font-weight:800}.arcane-skill-level span{color:#b6abc7;font-weight:500}
.arcane-skill .meter{height:6px;width:100%;margin:2px 0;background:#282b49}.arcane-skill .meter>span{background:linear-gradient(90deg,#917fe5,#f5d9b5)}
.arcane-skill-desc{font-size:10px;line-height:1.5;color:#b6b8c9}
.arcane-disclaimer{margin:0 2px 17px}
.arcane-library{display:flex;flex-direction:column;gap:10px;margin:0 0 20px}
.arcane-book{display:flex;align-items:center;gap:13px;padding:12px;border-radius:15px;background:linear-gradient(110deg,#24273e,#121d31);border:1px solid #63597891;min-width:0;box-shadow:inset 3px 0 #e8c99a28}
.arcane-book-cover{display:grid;place-items:center;width:56px;height:76px;flex-shrink:0;border-radius:6px 11px 11px 6px;background:radial-gradient(ellipse at 50% 46%,#665783,#2d2749 72%);border:2px solid #c3a67f7f;box-shadow:inset 5px 0 #e3c3a039,5px 5px 12px #0006}
.arcane-book-cover span{width:33px;height:44px;display:grid;place-items:center;border:1px solid #e4c3938f;color:#fff2bf;font-size:23px}
.arcane-book-meta{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1;overflow-wrap:anywhere}.arcane-book-meta strong{font-size:13px;color:#fff2de}.arcane-book-meta small{font-size:10px;color:#bfc3cf}.arcane-book-meta>span{font-size:10px;color:#c5a9e5}
.arcane-book .mini-link{flex-shrink:0;align-self:flex-start;font-size:10px}
.arcane-timeline{display:flex;flex-direction:column;gap:1px}
.arcane-session{position:relative;border-color:#65547ea6;background:radial-gradient(circle at 0% 0%,#594e6a23,transparent 55%),linear-gradient(135deg,#1d233b,#131a2a)}
.arcane-session:before{content:'';position:absolute;inset:10px auto 10px 0;width:2px;background:linear-gradient(#e8d0a8,#8472d6);border-radius:20px}
.arcane-session-top{display:flex;justify-content:space-between;gap:9px;font-size:10px;color:#bcb0d4;letter-spacing:.25px}.arcane-session-top b{color:#f5d49d;font-size:11px}
.arcane-session-book{color:#f2e6ce;font-size:12px;font-weight:750;margin:11px 0 7px;overflow-wrap:anywhere}
.arcane-session-learn{font-size:12px;line-height:1.8;color:#ececf3;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:5px 0 12px}
.arcane-session-flags{display:flex;flex-wrap:wrap;gap:6px}.arcane-session-flags span{font-size:10px;border-radius:99px;border:1px solid #80739c66;color:#c8bad6;background:#3a304d59;padding:5px 8px}
.arcane-session .book-row-actions .secondary-btn{border-color:#7c6e979e;background:#282943;color:#f0e8fa}
.arcane-empty{padding:22px 13px;text-align:center;border-color:#746393;background:linear-gradient(145deg,#25213b,#121b31)}.arcane-empty-icon{font-size:38px;color:#efd1a6;margin-bottom:8px}.arcane-empty b{color:#f7e9cd}.arcane-empty p{font-size:11px;line-height:1.7;color:#b8b4c9}
@media(max-width:365px){.arcane-feature-content{padding:16px 12px}.arcane-cta-row{gap:7px}.arcane-book{gap:9px;padding:10px}.arcane-book-cover{width:46px;height:66px}.arcane-feature-art{width:75%}.arcane-skill{padding:12px 7px;min-height:159px}.arcane-hub-content{padding:15px 12px}.arcane-hub .rpg-actions{grid-template-columns:1fr}.arcane-hub .rpg-actions button{min-height:40px}.arcane-hub h3{font-size:23px}}
@media(prefers-reduced-motion:no-preference){.arcane-feature-symbol{animation:arcanePulse 4.5s ease-in-out infinite}@keyframes arcanePulse{0%,100%{box-shadow:0 0 19px #b28ae23c}50%{box-shadow:0 0 38px #dbb4f38e}}}}
@media(prefers-reduced-motion:reduce){.arcane-feature-symbol{animation:none!important}}

/* Ver.11 — CHARACTER EVOLUTION / AWAKENING */
.hero-v3{height:464px}.hero-v3-copy{bottom:90px}.hero-v3-evolution{font-size:11px;font-weight:850;color:#ffe2a8;text-shadow:0 2px 8px #000;margin:3px 0 0}.hero-v3-evolution span{color:#b7d9e6;font-weight:600}.evo-hero-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:10px}.evo-hero-actions .hero-v3-change{margin:0;padding:9px 10px}.hero-v3-awaken{border:1px solid #d4b075bd;background:linear-gradient(110deg,#533e25bc,#132a39df);color:#fff0bd;font-weight:900;font-size:11px;border-radius:9px;padding:10px 12px;min-height:38px;box-shadow:inset 0 0 12px #cfa75a1a}.hero-v3-awaken:focus-visible,.evo-route-step:focus-visible,.evo-awaken-btn:focus-visible{outline:2px solid #89ffec;outline-offset:3px}
.hero-v3.evo-home-stage-0 .hero-v3-cover{filter:saturate(.52) brightness(.75)}.hero-v3.evo-home-stage-1 .hero-v3-cover{filter:saturate(.86) brightness(.9)}.hero-v3.evo-home-stage-2 .hero-v3-cover{filter:saturate(1.12) brightness(1.07) drop-shadow(0 0 7px #4adbe140)}.hero-v3.evo-home-stage-3 .hero-v3-cover{filter:saturate(1.3) brightness(1.16) drop-shadow(0 0 12px #f6bd6970)}.hero-v3.evo-home-stage-3{border-color:#ecd098;box-shadow:0 12px 42px #c5a25c2b}
.evo-growth-summary{border-color:#97795190;background:linear-gradient(135deg,#1c2a3a,#25202c)}.evo-growth-summary .helper{margin:9px 0 14px}
.evo-hero{position:relative;isolation:isolate;min-height:440px;border-radius:20px;border:1px solid #647f8f;overflow:hidden;background:#101e30;box-shadow:0 14px 42px #0208119a;margin:0 0 11px}.evo-hero-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;z-index:-2}.evo-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0006 0%,transparent 23%,#0a131725 52%,#07101ff5 96%);z-index:-1}.evo-hero::after{content:"";position:absolute;inset:5px;border:1px solid #b9dae12c;border-radius:16px;pointer-events:none}.evo-hero-orbit{position:absolute;top:40px;right:-70px;width:220px;height:220px;border:1px solid #66e4e544;border-radius:50%;box-shadow:0 0 0 25px #76e4df0a,0 0 0 55px #76e4df08;pointer-events:none}.evo-hero-crown{position:absolute;right:23px;top:54px;font-family:Georgia,serif;font-size:50px;color:#fadca1;text-shadow:0 0 25px #ffe9a893}.evo-hero-head{position:absolute;top:16px;left:15px;right:15px;display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:9px;font-weight:850;letter-spacing:1.2px;color:#d1e7ea}.evo-hero-head span{padding:6px 8px;border-radius:6px;background:#071423d4;border:1px solid #5272827a}.evo-hero-copy{position:absolute;bottom:22px;left:19px;right:18px;text-shadow:0 2px 11px #000e}.evo-eyebrow{font-size:11px;color:#e5cf9e;letter-spacing:2px;font-weight:900}.evo-hero-copy h2{font-size:clamp(25px,7.5vw,33px);line-height:1.3;margin:8px 0;font-weight:950}.evo-hero-copy p{font-size:12px;color:#d2e3e8;line-height:1.75;max-width:290px;margin:0}.evo-hero-meta{font-size:10px;color:#d2bd91;margin-top:11px}.evo-stage-0 .evo-hero-cover,.evo-stage-0 .evo-awaken-art img{filter:grayscale(.65) brightness(.66) saturate(.45)}.evo-stage-0 .evo-hero-orbit{opacity:.3}.evo-stage-1 .evo-hero-cover,.evo-stage-1 .evo-awaken-art img{filter:brightness(.92) saturate(.88)}.evo-stage-1 .evo-hero-orbit{box-shadow:0 0 24px #36d9f55e,0 0 0 42px #67d5e10a}.evo-stage-2 .evo-hero-cover,.evo-stage-2 .evo-awaken-art img{filter:brightness(1.07) saturate(1.15)}.evo-stage-2{border-color:#947cd1;box-shadow:0 5px 35px #9c6bd13a}.evo-stage-2 .evo-hero-orbit{border-color:#d0a5f4;box-shadow:0 0 45px #9666df77,0 0 0 42px #8463d617}.evo-stage-3 .evo-hero-cover,.evo-stage-3 .evo-awaken-art img{filter:brightness(1.14) saturate(1.27)}.evo-stage-3{border-color:#f7cc83;box-shadow:0 0 35px #e8b76555,0 12px 38px #0009}.evo-stage-3 .evo-hero-orbit{border-color:#fad491;box-shadow:0 0 55px #e9b75d9b,0 0 0 48px #efc26e1a}.evo-hero.is-preview{border-style:dashed}
.evo-requirements{border-color:#86734e;background:linear-gradient(150deg,#243043,#1a2131 75%)}.evo-next-name{font-size:17px;font-weight:900;color:#ffe2ad;margin:15px 0 13px}.evo-req-line{margin:14px 0 18px}.evo-req-line .progress-head{color:#d7e4e9}.evo-req-desc{font-size:11px;color:#bdcdd6;line-height:1.7;margin:10px 0 13px}.evo-awaken-btn{border:1px solid #f0d196cf;border-radius:11px;color:#18222b;background:linear-gradient(110deg,#b9a16b,#fbe4ac,#c99d50);box-shadow:0 0 18px #c6ae6650;font-size:14px;font-weight:950;padding:13px 12px;width:100%;min-height:49px}.evo-awaken-btn:disabled{color:#9da9b6;background:#243448;border-color:#5b6877;box-shadow:none}.evo-path{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;position:relative}.evo-path::before{content:"";position:absolute;left:24px;top:20px;bottom:20px;border-left:1px dashed #69cddc51}.evo-route-step{position:relative;display:flex;align-items:center;gap:12px;border:1px solid #3e5369;border-radius:13px;padding:12px 10px;background:linear-gradient(110deg,#1d2b3d,#131b2a);color:#e6f0f4;text-align:left;width:100%;min-height:88px}.evo-route-step.is-selected{border-color:#7ee2d8;box-shadow:inset 0 0 12px #52dfd818}.evo-route-step.is-unlocked{border-color:#8b7657}.evo-route-symbol{display:grid;place-items:center;flex:0 0 30px;width:30px;height:36px;font-size:22px;z-index:1;color:#f7c77f;text-shadow:0 0 8px #e1b56a82;background:#1a293a;border:1px solid #517585;border-radius:10px}.evo-route-step.is-locked .evo-route-symbol{color:#617e94;text-shadow:none}.evo-route-detail{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.evo-route-detail small{font-size:9px;letter-spacing:1px;color:#d2b887}.evo-route-detail strong{font-size:13px;line-height:1.4}.evo-route-detail>span{font-size:10px;color:#a9becd}.evo-route-status{font-size:9px;border:1px solid #5b7183;border-radius:6px;padding:5px 6px;color:#c8d7de;white-space:nowrap}.evo-route-step.is-locked .evo-route-status{color:#8a99a9}.evo-awaken-result{text-align:center;padding:4px 0 0}.evo-awaken-shine{font-family:Georgia,serif;font-size:23px;font-weight:bold;color:#f9ddaa;text-shadow:0 0 14px #efc67586;padding:8px}.evo-awaken-art{height:240px;overflow:hidden;border-radius:14px;border:1px solid #d6b87a;margin:12px 0}.evo-awaken-art img{width:100%;height:100%;object-fit:cover;object-position:center 23%}.evo-awaken-title{font-size:25px;font-weight:950;color:#f5daa6;margin:10px 0}.evo-awaken-result p{font-size:12px;color:#c7d4df;line-height:1.8}.evo-awaken-note{font-size:10px;color:#aac2cf;margin:10px 0 18px}@media(max-width:350px){.evo-hero{min-height:400px}.hero-v3{height:436px}.evo-hero-actions{gap:5px}.evo-hero-actions button{font-size:10px;padding:8px 8px}.evo-route-status{font-size:8px;padding:4px}}@media(prefers-reduced-motion:no-preference){.evo-stage-3 .evo-hero-orbit{animation:evoPulse 5s ease-in-out infinite}@keyframes evoPulse{0%,100%{transform:scale(.97);opacity:.75}50%{transform:scale(1.05);opacity:1}}.evo-awaken-shine{animation:evoShine 1s ease-in-out both}@keyframes evoShine{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}}

/* POSITION v12: job-specific reality achievement requirements */
.reality-card{border:1px solid #b79a635c;background:linear-gradient(135deg,#1d2337,#111b2f 75%);margin-top:18px;margin-bottom:18px;box-shadow:0 9px 22px #0005}
.reality-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.reality-kicker{font-size:9px;letter-spacing:1.4px;color:#edc990;font-weight:850}.reality-top h3{font-size:19px;margin:7px 0 3px;color:#f9e4b9}.reality-badge{font-size:10px;padding:5px 8px;border:1px solid #d1ae7861;border-radius:8px;color:#dcc7a3;max-width:130px;text-align:center}.reality-card p{font-size:12px;color:#a8bfd2;line-height:1.8}.reality-card .secondary-btn{margin-top:13px}
.reality-metric{padding:12px 0;border-top:1px solid #c4a47735}.reality-metric .progress-head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px}.reality-metric .progress-head span{font-size:11px;color:#e7decb;flex:1 0 125px}.reality-metric .progress-head strong{font-size:10px;color:#ddc392;overflow-wrap:anywhere}.reality-metric .meter{margin:8px 0 5px}.reality-source{font-size:10px;color:#9aaaba;line-height:1.5}.reality-disclaimer{font-size:10px;line-height:1.75;color:#99a9bb;margin-top:12px}.reality-done{border:1px solid #cfb07260;background:#a8792c11;padding:15px;border-radius:10px;color:#f1d9ac;font-size:13px}.reality-req-group{border:1px solid #c4a47755;background:#9d7d3510;border-radius:12px;margin-top:15px;padding:12px}.reality-req-title{font-size:12px;font-weight:850;color:#edce9f;margin-bottom:8px}.reality-req-group .reality-metric:first-of-type{border-top:0}.reality-modal-title{font-weight:900;font-size:16px;color:#efcc95;margin:0 0 12px}.evo-requirements>.secondary-btn{margin:10px 0}.reality-card strong,.reality-card span{font-variant-numeric:tabular-nums}
@media(max-width:360px){.reality-badge{font-size:9px;max-width:95px}}

/* Ver13 LIFE ORIGIN */
.life-summary{margin:14px 0 18px;border:1px solid #78bdd651;background:linear-gradient(140deg,#14283c,#121b2b)}
.life-summary h3{font-size:18px;line-height:1.4;color:#f2e7d2;margin:9px 0 7px}.life-summary p{font-size:12px;color:#bbcad8;line-height:1.7;margin-bottom:12px}
.life-eyebrow{font-size:10px;color:#f0ce8d;font-weight:800;letter-spacing:1.3px}
.life-mini-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.life-mini-chips>span{font-size:10px;background:#c6d9ee12;color:#cad6e3;border:1px solid #abbec333;border-radius:99px;padding:5px 10px}
.life-home-link{margin:15px 0 19px;padding:16px 18px;border:1px solid #72b5cf48;border-radius:15px;background:linear-gradient(105deg,#16283b,#131b2d)}.life-home-link>span{font-size:10px;color:#e7c788;font-weight:800;letter-spacing:1.1px}.life-home-link p{font-size:12px;color:#c5d4df;margin:7px 0 12px;line-height:1.7}
.life-form-panel{padding-top:20px}.life-step{margin:16px 0;padding:12px 0;border-bottom:1px solid #697e903a}.life-step:first-child{margin-top:0}.life-step span{font-size:10px;letter-spacing:1.5px;color:#dfc18e;font-weight:800}.life-step h2{font-size:18px;color:#eaf2f8;margin:8px 0}.life-step p{font-size:12px;color:#aebecd;line-height:1.65}
.life-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.life-check{display:flex;min-width:0;gap:7px;align-items:center;background:#111d30;border:1px solid #62778d70;border-radius:10px;padding:12px 9px;font-size:12px;cursor:pointer;line-height:1.45}.life-check input{width:17px;height:17px;flex:0 0 auto;accent-color:#d4b36b}.life-check:has(input:checked){border-color:#c49e5d;background:#59442033}.life-check span{overflow-wrap:anywhere}
.life-result-intro{margin-bottom:12px;line-height:1.7}.life-suggestions{display:grid;gap:13px}.life-suggestion{display:grid;grid-template-columns:88px minmax(0,1fr);background:#101d30;border:1px solid #708fa24c;border-radius:14px;padding:10px;gap:12px}.life-suggestion>img{width:88px;height:150px;object-fit:cover;border-radius:9px}.life-suggestion-info{min-width:0}.life-suggestion h3{font-size:17px;line-height:1.4;color:#f0deb8;margin:5px 0}.life-suggestion p{font-size:11px;color:#b9c7d4;line-height:1.5;margin:0 0 8px}.life-reasons{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.life-reasons span{font-size:10px;color:#a7d5df;background:#4b9fbd20;border-radius:6px;padding:4px 6px}.life-suggestion .secondary-btn{font-size:11px;padding:10px 5px}
.life-empty{background:#111c2c;border:1px dashed #8dacc570;padding:20px;border-radius:13px;color:#ebd6a9}.life-empty p{font-size:12px;line-height:1.7;color:#bac8d6;margin-top:10px}
@media (max-width:340px){.life-check{padding:10px 7px;font-size:11px}.life-suggestion{grid-template-columns:78px minmax(0,1fr);gap:9px}.life-suggestion>img{width:78px;height:138px}}

/* POSITION v14 — LIFE PATH (local-only branching life narrative) */
.path-home{margin:15px 0 19px;border:1px solid #cbac7059;background:linear-gradient(125deg,#273246,#121d2e 76%);position:relative;overflow:hidden}
.path-home::before{content:'✦';position:absolute;right:14px;top:2px;color:#e6c18a29;font-size:100px;line-height:1;pointer-events:none}
.path-eyebrow{position:relative;z-index:1;letter-spacing:1.6px;color:#dfbf85;font-size:10px;font-weight:850}
.path-home-title{position:relative;z-index:1;color:#f8e2be;font-size:21px;line-height:1.4;font-weight:900;margin:9px 0}
.path-home p{position:relative;z-index:1;color:#bcccd8;line-height:1.8;font-size:12px;overflow-wrap:anywhere}
.path-home p strong{color:#e8d3a6}
.path-home-mini{position:relative;display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}
.path-home-mini>span{font-size:10px;background:#0c17257a;border:1px solid #5d687249;border-radius:8px;padding:8px;color:#bdcdd8}
.path-home-mini b{color:#a8f0e4}
.path-home .secondary-btn{position:relative;z-index:1;margin-top:10px}
.path-cover{height:220px;overflow:hidden;border-radius:18px;border:1px solid #bda67583;position:relative;margin:0 0 14px;background:#101c2e}
.path-cover img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 26%}
.path-cover::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06111cef,#0b1428af 47%,#0a15280a 100%)}
.path-cover-shade{position:absolute;z-index:1;inset:auto 14px 20px 17px;display:flex;flex-direction:column;gap:6px;max-width:80%;text-shadow:0 2px 6px #07121f}
.path-cover-shade>span{font-size:10px;letter-spacing:1.6px;font-weight:850;color:#e9c587}
.path-cover-shade>strong{color:#fff2d9;font-size:clamp(20px,6vw,27px);line-height:1.3}
.path-cover-shade>small{color:#bfd6db;font-size:11px;line-height:1.5}
.path-story,.path-branch,.path-activity,.path-todo,.path-outcomes,.path-config{padding:18px}
.path-story h2,.path-branch h2,.path-activity h2,.path-todo h2,.path-outcomes h2,.path-config h2{font-size:18px;line-height:1.45;margin:8px 0 13px;color:#ecf3f9}
.path-helper{font-size:11px;line-height:1.8;color:#a9bbca;overflow-wrap:anywhere;margin:4px 0 12px}
.path-why{border-left:3px solid #e8bf79;background:#ddaf6a10;padding:12px 13px;color:#f1e4ca;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 8px 8px 0}
.path-tagline{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 6px}
.path-tagline span{font-size:10px;border-radius:99px;padding:7px 10px;color:#c9e7ef;border:1px solid #72b6c36e;background:#1940505a;line-height:1.45}
.path-branch{background:linear-gradient(135deg,#262238,#19273a 74%);border-color:#9275af66}
.path-branch-name{font-size:25px;font-weight:900;letter-spacing:1px;line-height:1.4;color:#eddda9;margin:17px 0 12px}
.path-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.path-stats>div{border:1px solid #64869b4a;background:#101d2e;padding:12px 5px 10px;border-radius:12px;display:flex;gap:4px;flex-direction:column;text-align:center;align-items:center}
.path-stats strong{font-size:24px;color:#a9f0e5;font-variant-numeric:tabular-nums}
.path-stats span{font-size:9px;color:#a7b9cb;line-height:1.4}
.path-activity-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}
.path-activity-item{border:1px solid #5d72905b;background:#17263a;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
.path-activity-label{font-size:10px;color:#a8c5d3;line-height:1.5}
.path-activity-item strong{font-size:16px;color:#f5dfae}
.path-event-list{margin:12px 0}
.path-event{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #ffffff16;padding:12px 0}
.path-event>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.path-event strong{font-size:12px;color:#e7eff8;line-height:1.5;overflow-wrap:anywhere}
.path-event small{font-size:10px;color:#99b2c7}
.path-event>span{flex:0 0 auto;border-radius:6px;font-size:10px;padding:5px 7px;background:#375268;color:#cfe8ed}
.path-no-record{border:1px dashed #5e738f;border-radius:11px;color:#aebfd2;background:#122034a1;font-size:12px;line-height:1.8;padding:16px 12px;margin:12px 0}
.path-task{display:flex;align-items:center;gap:8px;border:1px solid #45627a64;background:#111f31;border-radius:12px;padding:11px 9px;margin:10px 0}
.path-task-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.path-task-text strong{font-size:12px;color:#e8edf2;line-height:1.5;overflow-wrap:anywhere}
.path-task-text small{font-size:10px;color:#a9bbce}
.path-task .secondary-btn,.path-task .path-done{font-size:10px;line-height:1.3;flex-shrink:0;max-width:108px;padding:8px 7px;min-height:35px}
.path-done{background:#183b3b;border:1px solid #5d998c;border-radius:9px;color:#b6e8d6}
.path-remove{border:0;background:transparent;color:#a3acba;min-width:23px;min-height:36px;font-size:22px;padding:3px;flex:0 0 auto}
.path-outcome{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff18;padding:12px 0}
.path-outcome>div{flex:1;min-width:0}
.path-outcome strong{font-size:12px;color:#f4e5c4;line-height:1.5;overflow-wrap:anywhere}
.path-outcome small{display:block;font-size:10px;color:#93b3be;margin:5px 0}
.path-outcome p{font-size:11px;line-height:1.7;color:#bac9d5;white-space:pre-wrap;overflow-wrap:anywhere}
.path-details{border-top:1px solid #ffffff23;padding-top:10px}
.path-details summary{font-size:12px;color:#a7e9e1;font-weight:750;cursor:pointer;padding:8px 0}
.path-form{margin-top:15px}
.path-reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.path-reason{display:flex;align-items:center;gap:7px;background:#101d2e;border:1px solid #53718a;border-radius:10px;padding:12px 8px;font-size:11px;line-height:1.5;cursor:pointer;min-width:0}
.path-reason input{width:16px;height:16px;flex:0 0 auto;accent-color:#debd80}
.path-reason:has(input:checked){background:#b2943e1c;border-color:#debc82}
.path-history{border-top:1px solid #ffffff13;padding:12px 0;color:#d7e6f1;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.path-history small{color:#8fabc0;font-size:10px;display:block;margin-bottom:4px}
@media(max-width:360px){.path-cover{height:193px}.path-stats strong{font-size:21px}.path-task{flex-wrap:wrap}.path-task .secondary-btn,.path-task .path-done{max-width:none}.path-reason-grid{gap:5px}.path-reason{padding:9px 6px;font-size:10px}}

/* POSITION v15 — LIFE SKILL TREE */
.skill-entry{border:1px solid #c6a46b65;background:linear-gradient(130deg,#262f43,#111c30 85%);position:relative;overflow:hidden;margin:15px 0}
.skill-entry::after{content:'✧';position:absolute;right:11px;top:-15px;font-size:108px;color:#edd6a40c;pointer-events:none}
.skill-entry h3{margin:9px 0;font-size:18px;color:#f7e7c7}
.skill-entry p{font-size:11px;line-height:1.8;color:#b1c6d6;position:relative}
.skill-entry .secondary-btn{position:relative}
.skill-entry-name{font-size:21px;font-weight:900;color:#efdaa3;margin:9px 0 2px;line-height:1.5}
.skill-entry-score{display:flex;align-items:baseline;gap:8px;margin:13px 0 15px;color:#a4d8dd;font-size:11px}
.skill-entry-score strong{font-size:33px;color:#f5db9d;font-variant-numeric:tabular-nums}
.skill-hero{padding:22px 18px;border:1px solid #e0ba7b70;border-radius:17px;background:radial-gradient(ellipse at top right,#2c536169,transparent 55%),linear-gradient(135deg,#28243d,#0e1b2e);margin-bottom:16px}
.skill-hero h2{font-size:clamp(22px,6vw,28px);line-height:1.4;font-weight:900;margin:9px 0 4px;color:#f1dbab}
.skill-hero p{color:#b8ccd9;font-size:11px;line-height:1.75}
.skill-hero-stat{margin-top:16px;font-size:12px;color:#f3dba5;font-weight:750}
.skill-hero-stat span{font-weight:500;font-size:10px;color:#94aebf}
.skill-branch{padding:17px;margin:0 0 16px;background:linear-gradient(145deg,#14273b,#111a2b)}
.skill-branch-top{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.skill-crest{width:47px;height:47px;border:1px solid #d6ae755a;background:#243b50;display:grid;place-items:center;color:#f7d9aa;font-size:26px;border-radius:13px;flex:0 0 auto}
.skill-branch-top h2{font-size:19px;font-weight:900;color:#e7eff9;margin:5px 0 2px}
.skill-branch-top p{font-size:11px;line-height:1.6;color:#a1b7ca;margin:0}
.skill-tally{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}
.skill-tally span{border:1px solid #53728b5c;background:#0b192b;padding:7px 9px;border-radius:8px;color:#94b5c9;font-size:10px}
.skill-tally strong{color:#e1cb9e}
.skill-node-line{display:flex;flex-direction:column;gap:15px;position:relative;padding-left:13px;border-left:2px solid #8aa5bd42;margin-left:9px;margin-bottom:18px}
.skill-node{border:1px solid #526b835b;border-radius:12px;padding:14px 11px 11px;background:#0e1b2df0;position:relative}
.skill-node::before{content:'';position:absolute;left:-21px;top:20px;width:12px;height:12px;border-radius:50%;border:2px solid #8ba2ad;background:#142238}
.skill-ready{background:linear-gradient(130deg,#183e42,#152639);border-color:#82c7ae8e;box-shadow:inset 0 0 22px #54b6a709}
.skill-ready::before{background:#97e2c2;border-color:#c7f5d8;box-shadow:0 0 14px #8cdac580}
.skill-node-head{display:flex;align-items:center;gap:9px;min-width:0}
.skill-rank{background:#23364a;border:1px solid #6d8494;color:#cae2e7;border-radius:7px;font-size:10px;padding:8px 6px;font-weight:800}
.skill-node-head>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.skill-node-head strong{font-size:13px;line-height:1.5;color:#f3e4c7}
.skill-node-head small{font-size:9px;color:#849bb0;letter-spacing:.6px}
.skill-status{font-size:9px;font-weight:750;color:#c0b7a3;max-width:79px;text-align:right;line-height:1.5}
.skill-ready .skill-status{color:#b1f1d6}
.skill-requirements{display:flex;flex-direction:column;gap:7px;border-top:1px solid #fff1;padding:11px 0 0;margin-top:12px}
.skill-requirements span{font-size:11px;color:#a7b3c2;line-height:1.4}
.skill-requirements .skill-good{color:#a5ebd0}
.skill-task-hint{color:#b1bfd0;font-size:10px;line-height:1.7;margin:11px 0 0;overflow-wrap:anywhere}
.skill-fusion{padding:19px;background:linear-gradient(135deg,#2e2941,#18253a);border:1px solid #b48ac374;margin:0 0 16px}
.skill-fusion h2,.skill-guide h2{font-size:19px;line-height:1.55;color:#efdbad;margin:8px 0}
.skill-fusion p,.skill-guide p{font-size:11px;line-height:1.8;color:#b1c4d3}
.skill-fusion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}
.skill-fusion-grid>div{border:1px solid #c1a46d65;background:#0d192b9c;border-radius:10px;padding:13px;display:flex;flex-direction:column;gap:7px}
.skill-fusion-grid strong{color:#f0d79f;font-size:13px}
.skill-fusion-grid small{font-size:10px;color:#b7d0de}
.skill-fusion-status{border-radius:9px;padding:12px;background:#191b2dc9;border:1px solid #8c8b9067;color:#ddd3c0;font-size:11px;line-height:1.65}
.skill-fusion-done{color:#b4f1d8;border-color:#73bea1;background:#183d3b}
.skill-guide{padding:19px}
.skill-buttons{display:flex;flex-direction:column;gap:8px;margin-top:15px}
@media(max-width:360px){.skill-node-head{gap:5px}.skill-status{max-width:67px;font-size:8px}.skill-node-head strong{font-size:12px}.skill-tally{gap:4px}.skill-tally span{font-size:9px;padding:6px}.skill-branch{padding:12px}}

/* POSITION Ver.16 – character visual evolution (record-based, separate from official awakening) */
.visual-panel{border:1px solid #b49a68;border-radius:18px;padding:11px;background:linear-gradient(155deg,#162536,#0c1727 65%,#171e33);margin:15px 0 20px;box-shadow:0 13px 29px #01080f8a;overflow:hidden}
.visual-header{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:9px;letter-spacing:1px;color:#e6c88c;font-weight:850;margin:3px 3px 11px}.visual-header span:last-child{font-size:10px;letter-spacing:0;color:#9ec5d1;font-weight:650}
.visual-portrait{height:min(107vw,430px);min-height:320px;position:relative;border-radius:13px;overflow:hidden;border:1px solid #8e977d;background:#091324}
.visual-portrait>img{height:100%;width:100%;object-fit:cover;object-position:center 29%;display:block}
.visual-shade{position:absolute;inset:0;background:linear-gradient(to bottom,#0003 4%,transparent 32%,#08142325 51%,#06101df7 100%)}
.visual-copy{position:absolute;left:17px;right:14px;bottom:18px;text-shadow:0 2px 13px #000}
.visual-eyebrow{font-size:10px;color:#f3d79f;letter-spacing:.6px;font-weight:850}
.visual-copy h2{font-weight:950;color:#fff0c8;font-size:clamp(23px,7vw,30px);line-height:1.3;margin:6px 0}
.visual-copy p{color:#d4e1e9;font-size:11px;line-height:1.5;margin:0}
.visual-stage-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 14px}
.visual-stage-option{min-width:0;background:#17273b;border:1px solid #4d6178;border-radius:10px;color:#a9c1cd;padding:4px 4px 8px;cursor:pointer;font-size:10px}
.visual-stage-option.active{border-color:#f4c773;box-shadow:0 0 0 1px #f4c77370,0 0 19px #d3a65d36;color:#ffe3b0}
.visual-stage-option.unavailable img{filter:grayscale(.85) brightness(.53)}
.visual-stage-option img{width:100%;height:75px;object-fit:cover;object-position:center 25%;border-radius:6px;margin-bottom:6px;display:block}
.visual-stage-option span{display:block;white-space:nowrap}
.visual-progress{padding:3px 4px 10px}.visual-progress>strong{font-size:14px;color:#f0d3a1}.visual-progress>p{font-size:11px;color:#b4ced9;line-height:1.65;margin:7px 0 13px}
.visual-next{border:1px solid #577d897a;background:#1328389c;padding:12px;border-radius:10px;display:grid;gap:5px}.visual-next span{font-size:10px;color:#a6c3d2}.visual-next b{font-size:12px;line-height:1.6;color:#e5eef4;font-weight:750}
.visual-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0}.visual-actions .secondary-btn{font-size:10px;min-width:0;padding:10px 5px;white-space:normal}
.visual-disclaimer{color:#9eb3bf;font-size:10px;line-height:1.7;padding:0 4px}
.visual-entry-stage{font-size:11px;color:#f7d79c;margin-top:7px;line-height:1.5}
.skill-node.skill-locked .skill-status{color:#b7cbd2}
@media(max-width:350px){.visual-portrait{min-height:290px}.visual-stage-option img{height:60px}.visual-header{font-size:8px}}
@media(prefers-reduced-motion:no-preference){.visual-stage-option.active{animation:visualGlow 3.5s ease-in-out infinite}@keyframes visualGlow{0%,100%{box-shadow:0 0 0 1px #f4c77370,0 0 7px #d3a65d19}50%{box-shadow:0 0 0 1px #f4c773aa,0 0 20px #d3a65d55}}}

/* POSITION Ver.17: meaningful appearance, secondary strategy variants, and evidence timeline */
.visual-panel{border-color:#ba9a61;background:linear-gradient(155deg,#172638 2%,#0c1829 60%,#1b2434)}
.visual-portrait{height:min(119vw,500px);min-height:355px;border-color:#bd9f69}
.visual-portrait>img{object-position:center 30%}
.visual-stage-option{padding:4px 3px 8px}
.visual-stage-option img{height:85px;object-position:center 28%}
.visual-branch{background:linear-gradient(110deg,#163047,#122338);border:1px solid #558e9e9c;border-radius:12px;padding:12px;margin-bottom:14px;display:grid;gap:6px}
.visual-tag{font-size:10px;letter-spacing:1.1px;color:#ddbc79;font-weight:800}
.visual-branch strong{font-size:16px;color:#e3f4f4}
.visual-branch p,.visual-history p{font-size:10px;line-height:1.8;color:#b1c5d0;margin:0}
.visual-history{border:1px solid #596e7b;border-radius:12px;background:#101e2d;padding:13px;margin:12px 0}
.visual-history-row{display:flex;gap:10px;align-items:flex-start;margin:12px 0;border-left:1px solid #508492;padding-left:9px}
.visual-history-dot{width:22px;min-width:22px;height:22px;border-radius:50%;background:#173949;border:1px solid #d2b879;color:#ffe5b5;font-size:11px;font-weight:900;display:grid;place-items:center}
.visual-history-row div{display:grid;gap:3px}
.visual-history-row strong{font-size:12px;color:#fff0d1}
.visual-history-row small{font-size:10px;color:#acc3cc;line-height:1.6}
.visual-history>p{margin-top:14px;border-top:1px solid #3b5263;padding-top:10px}
.visual-preview-locked>img{filter:grayscale(.25) brightness(.8)}
@media(max-width:360px){.visual-stage-option img{height:67px}.visual-branch strong{font-size:14px}}


/* POSITION Ver.18 — full-body evolution artwork, distinct branch equipment, unlock ceremony */
.v18-panel{border-color:#e2bb7d9c;padding:12px;background:linear-gradient(155deg,#17273e,#071522 60%,#1e2233)}
.visual-portrait.v18-full-portrait{height:auto;aspect-ratio: 0.70;min-height:0;max-height:700px;background:radial-gradient(circle at 50% 40%,#254d60,#07131e 74%);display:flex;align-items:center;justify-content:center}
.visual-portrait.v18-full-portrait>img{width:100%;height:100%;object-fit:contain;object-position:50% 50%;position:absolute;inset:0}
.visual-portrait.v18-full-portrait .visual-shade{background:linear-gradient(180deg,#07101e05 0%,transparent 56%,#07121dbd 83%,#06111ef3 100%)}
.v18-portrait-caption{position:relative;inset:auto;bottom:auto;left:auto;right:auto;padding:14px 13px;margin:-1px 0 12px;border:1px solid #b99b69;border-top:0;border-radius:0 0 13px 13px;background:linear-gradient(110deg,#263147,#112038);text-shadow:0 2px 8px #000}
.v18-portrait-caption h2{font-size:clamp(20px,6vw,27px);margin:5px 0}
.v18-panel .visual-stage-option img{height:116px;object-fit:contain;object-position:center;background:#0b1b2b}
.v18-panel .visual-stage-option.unavailable img{filter:grayscale(.9) brightness(.47)}
.v18-current-gear,.v18-next-reward{padding:13px;margin-bottom:13px;background:linear-gradient(110deg,#243048,#111f31);border:1px solid #8b764f;border-radius:12px;display:grid;gap:7px}
.v18-current-gear strong,.v18-next-reward strong{color:#ffe1a5;font-size:15px}
.v18-current-gear p,.v18-next-reward p{color:#c3d1dd;font-size:11px;line-height:1.7;margin:0}
.v18-style{border-color:var(--branch-accent,#6c9999);box-shadow:inset 0 0 18px #35e4ed09}
.v18-style strong{color:var(--branch-accent,#c8edea)}
.v18-branch-symbol{color:var(--branch-accent,#8dd5e5);font-size:21px}
.v18-branch-equipped{display:flex;gap:10px;align-items:center;margin:9px 0 3px;min-width:0}
.v18-branch-equipped img{width:87px;height:76px;flex:0 0 87px;object-fit:cover;object-position:50% 35%;border-radius:8px;border:1px solid var(--branch-accent,#658e9b)}
.v18-branch-equipped div{display:grid;gap:6px;min-width:0}
.v18-branch-equipped b{font-size:12px;color:#f1ead5;line-height:1.5}
.v18-branch-equipped small{font-size:10px;line-height:1.5;color:#b9c8d7}
.v18-branch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 9px}
.v18-branch-card{border:1px solid #59718a;border-radius:10px;overflow:hidden;background:#101c2c;min-width:0}
.v18-branch-card.is-active{border-color:#89e7e6;box-shadow:0 0 0 1px #8ff5ed55}
.v18-branch-card img{width:100%;height:63px;display:block;object-fit:cover;object-position:center 35%}
.v18-branch-card div{padding:7px 5px;display:grid;gap:3px}
.v18-branch-card strong{font-size:9px;color:#dce9f0}
.v18-branch-card small{font-size:8px;color:#93abbc}
.v18-progress-row{display:flex;justify-content:space-between;gap:7px;align-items:center;font-size:10px;color:#b0c9d9}
.v18-progress-row b{color:#ffe4ae;font-size:14px}
.v18-progress-track{height:10px;border-radius:999px;background:#364a61;overflow:hidden}
.v18-progress-track i{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,#4ec4c0,#acece9);box-shadow:0 0 13px #67e6e1aa}
.v18-home-track{background:linear-gradient(130deg,#1a3146,#0c1828);border:1px solid #d6b87c91;border-radius:16px;padding:14px;margin-bottom:13px}
.v18-home-track-label{font-size:10px;font-weight:900;color:#e8c78f;letter-spacing:1px;margin-bottom:9px}
.v18-home-track-row{display:flex;gap:13px;align-items:center}
.v18-home-track-row img{width:79px;height:112px;object-fit:contain;flex:0 0 79px;border-radius:9px;border:1px solid #997e52;background:#102233}
.v18-home-track-row div{display:grid;gap:6px;min-width:0}
.v18-home-track-row small{font-size:9px;color:#a7c3d5}
.v18-home-track-row strong{font-size:17px;line-height:1.4;color:#f8dfa9}
.v18-home-track-row span{font-size:10px;line-height:1.6;color:#bdcfdc}
.v18-home-next{font-size:11px;line-height:1.65;color:#d7e5ef;border-top:1px solid #a0b4c54a;margin:11px 0;padding-top:10px}
.v18-creator-home{height:480px;background:radial-gradient(circle at 50% 40%,#21405a,#0b1729 72%)}
.v18-creator-home .hero-v3-cover{object-fit:contain;object-position:50% 35%;filter:saturate(1.08)!important}
.v18-creator-home:before{background:linear-gradient(180deg,#06101d44,transparent 26%,#07121d18 42%,#06111ef1 72%,#07121eff 100%)}
.visual-awakening-layer[hidden]{display:none!important}
.visual-awakening-layer{position:fixed;inset:0;z-index:1005;display:grid;place-items:center;padding:20px;isolation:isolate}
.v18-reveal-backdrop{position:absolute;inset:0;background:#020815ed;backdrop-filter:blur(9px)}
.v18-reveal-card{position:relative;width:min(100%,430px);max-height:94dvh;overflow-y:auto;border:2px solid #e9c57b;border-radius:18px;background:radial-gradient(circle at 50% 30%,#21456a,#0d192c 76%);padding:12px;box-shadow:0 0 55px #f5ca7690;z-index:1;text-align:center}
.v18-reveal-rays{font-size:20px;letter-spacing:9px;color:#ffe3ab;text-shadow:0 0 20px #f6d28a;margin:3px 0}
.v18-reveal-img{width:100%;max-height:47dvh;object-fit:contain;border-radius:11px;border:1px solid #bfa268;background:#102134;margin:9px auto}
.v18-reveal-copy{padding:9px 9px 13px}
.v18-reveal-copy span{font-size:11px;letter-spacing:2px;color:#a5e9e5}
.v18-reveal-copy h2{font-size:clamp(22px,7vw,30px);color:#fbe4a8;margin:6px 0}
.v18-reveal-copy p{color:#d2dae4;font-size:12px;line-height:1.7;margin-bottom:13px}
@media(max-width:360px){.v18-panel .visual-stage-option img{height:88px}.v18-branch-card img{height:51px}.v18-home-track-row img{width:72px;flex-basis:72px}.v18-creator-home{height:450px}}
@media(prefers-reduced-motion:no-preference){.v18-reveal-card{animation:v18Reveal .55s cubic-bezier(.23,.82,.3,1) both}.v18-reveal-rays{animation:v18Gold 1.4s ease-in-out 3}@keyframes v18Reveal{from{opacity:0;transform:scale(.88) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes v18Gold{0%,100%{opacity:.6}50%{opacity:1;text-shadow:0 0 32px #fff0be}}}

/* Ver.19: use tall native artwork rather than magnified 186x282px UI thumbnails. */
.v18-panel .visual-portrait.v19-portrait {
  aspect-ratio: .70;
  max-height: 665px;
  isolation: isolate;
  background: radial-gradient(ellipse at 55% 29%,#253952,#07121e 80%);
  border: 1px solid #a9977b;
}
.v18-panel .visual-portrait.v19-portrait::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(ellipse at 50% 38%,#2e57754d,#0e1728 74%);
}
.v18-panel .visual-portrait.v19-portrait>img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  object-position: center center;
  filter: contrast(1.03) saturate(1.03);
  transform: none;
}
.v18-panel .visual-portrait.v19-portrait .visual-shade {
  background: linear-gradient(180deg,#07111d00 3%,#07111d00 76%,#07111d68 100%);
}
.v18-panel .visual-stage-option img {
  object-fit: contain;
  background: #0a1b2e;
}
.v19-portrait-caption { margin-top: -1px; }
.v19-portrait-caption .visual-eyebrow { letter-spacing: .9px; }
.v18-home-track-row img { object-fit: contain; background: #111e31; }
.v18-creator-home .hero-v3-cover { object-fit: contain; object-position: 50% 50%; }
@media(max-width:380px){
  .v18-panel .visual-portrait.v19-portrait{aspect-ratio:.73}
}

/* POSITION v20 — LIFE ATLAS / horizontal rooms */
.v20-home{margin:-5px -7px 0;max-width:100%;overflow:hidden}
.v20-home-head{display:flex;justify-content:space-between;align-items:center;padding:7px 4px 0}
.v20-eyebrow{font-size:10px;letter-spacing:2px;color:#eac589;font-weight:850}
.v20-home-head h1{font-size:21px;margin:7px 0 0;color:#f3e1be;letter-spacing:.3px}
.v20-hint-icon{font-size:25px;color:#dabb7f;text-shadow:0 0 16px #f3c87a}
.v20-home-guide{color:#aebed0;font-size:10px;line-height:1.7;margin:9px 4px 13px}
.v20-hero-grid{display:grid;grid-template-columns:minmax(51px,19%) minmax(0,1fr) minmax(51px,19%);gap:5px;height:min(116vw,520px);min-height:390px}
.v20-edge-column{min-width:0;display:flex;flex-direction:column;justify-content:space-evenly;gap:5px}
.v20-edge{color:#d9e4f0;background:linear-gradient(155deg,#1d3147,#101b2c);border:1px solid #4a677f;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;flex:1;max-height:122px;gap:4px;padding:7px 1px;box-shadow:inset 0 1px 10px #70b5be0a}
.v20-edge:active{border-color:#f0d392;transform:scale(.98)}
.v20-edge-icon{font-size:22px;line-height:1;color:#d9bb7d}
.v20-edge-short{font-size:10px;letter-spacing:.4px;font-weight:800}
.v20-edge strong{font-size:10px;color:#92ece0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 1px;font-variant-numeric:tabular-nums}
.v20-edge-meter{width:75%;height:3px;border-radius:5px;background:#3a4658;overflow:hidden}.v20-edge-meter i{display:block;height:100%;background:#75ddd6}
.v20-persona{position:relative;overflow:hidden;isolation:isolate;border:1px solid #bfa16b;border-radius:18px;background:#102236;min-width:0;box-shadow:0 10px 31px #0007,0 0 19px #e5b66a12}
.v20-persona>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;z-index:-2;background:radial-gradient(circle at 50% 31%,#234964,#0b1627 72%)}
.v20-persona-sheen{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07111f70 0%,transparent 25%,transparent 55%,#0915238d 73%,#081321fa 100%)}
.v20-persona-top{position:absolute;top:10px;left:9px;right:9px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;align-items:center;font-size:8px;letter-spacing:.7px;font-weight:900;color:#edd4a5}
.v20-persona-top span,.v20-persona-top b{background:#091725bd;padding:6px;border-radius:7px;border:1px solid #7f715662}
.v20-persona-bottom{position:absolute;bottom:13px;left:10px;right:10px;text-shadow:0 2px 8px #000d;display:flex;flex-direction:column;gap:4px}
.v20-persona-stg{font-size:9px;font-weight:900;color:#ebc482;letter-spacing:1px}
.v20-persona-bottom strong{font-size:clamp(13px,4.2vw,21px);color:#fff7e7;line-height:1.4}
.v20-persona-bottom>span:not(.v20-persona-stg){font-size:10px;color:#d2e1ee}
.v20-hero-xp{font-size:9px;color:#f1d9a8;display:flex;flex-direction:column;gap:4px;margin-top:4px}.v20-hero-xp .meter{height:5px}
.v20-swipe-cue{display:flex;justify-content:space-between;gap:3px;color:#abc1d1;font-size:9px;margin:11px 2px;text-align:center}.v20-swipe-cue span:nth-child(2){font-weight:900;color:#e0c18b;letter-spacing:.8px}
.v20-mini-map{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:stretch;gap:3px;margin:10px 0 12px;padding:6px 2px;border-radius:13px;border:1px solid #38536a;background:#132237}
.v20-map-point{display:flex;flex-direction:column;gap:4px;justify-content:center;align-items:center;min-height:52px;border:1px solid transparent;border-radius:8px;background:transparent;color:#9fb2c4;padding:3px 0;font-size:9px;min-width:0}
.v20-map-point.current{color:#ffe6a8;border-color:#cfac7180;background:#55452548}.v20-map-point .v20-map-icon{font-size:15px;line-height:1}
.v20-goal-card,.v20-today-card{border:1px solid #47627b;border-radius:15px;padding:14px;background:linear-gradient(130deg,#1b2b40,#112035);margin-bottom:10px}
.v20-goal-label{color:#dcc28f;font-size:10px;font-weight:900;margin-bottom:7px}.v20-goal-card strong{display:block;font-size:16px;line-height:1.5;color:#f8e9c6}.v20-goal-card p{color:#b1cad5;font-size:11px;line-height:1.6;margin:7px 0}.v20-goal-card button{background:transparent;border:0;padding:6px 0 0;color:#8ceddf;font-size:11px;font-weight:800}
.v20-today-card{display:flex;align-items:center;gap:12px;justify-content:space-between}.v20-today-card>div{display:flex;flex-direction:column;gap:5px;min-width:0}.v20-today-card span{font-size:10px;color:#eac88b;font-weight:850}.v20-today-card strong{font-size:13px;line-height:1.5}.v20-today-card small{font-size:10px;color:#9fb8c7}.v20-today-card button{flex-shrink:0;border:1px solid #d7b67d;border-radius:9px;padding:10px 11px;background:#715a3180;color:#ffe8bc;font-size:11px;font-weight:900}
.v20-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0 8px}.v20-shortcuts button{background:#162538;color:#b4d4e0;border:1px solid #3b5770;border-radius:10px;padding:11px 4px;font-size:10px}
.v20-deck-bar{border:1px solid #927c59a3;background:linear-gradient(120deg,#1e3145,#111e30);padding:11px;border-radius:16px;margin-bottom:18px}.v20-deck-count{display:flex;justify-content:space-between;letter-spacing:1px;color:#e4c894;font-size:9px;font-weight:800}.v20-deck-count b{color:#a7c8d0}
.v20-deck-head{display:grid;grid-template-columns:68px 1fr 68px;gap:4px;align-items:center;padding-top:11px}.v20-deck-neighbor{border:1px solid #46667c;border-radius:9px;padding:9px 1px;background:#14283a;color:#b6d9e4;display:flex;gap:4px;justify-content:center;align-items:center;min-height:43px;font-size:15px}.v20-deck-neighbor span{font-size:10px}.v20-deck-current{text-align:center;min-width:0;display:flex;flex-direction:column;gap:3px}.v20-deck-current strong{font-size:13px;color:#f2dfb9}.v20-deck-current small{color:#adc6d0;font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.v20-deck-tip{display:flex;justify-content:space-between;align-items:center;gap:7px;color:#8aa9bd;font-size:9px;margin:10px 0 2px}.v20-deck-tip button{background:none;color:#e5c58c;border:0;font-weight:750;font-size:10px;padding:5px 0}.v20-deck-bar .v20-mini-map{margin-bottom:0}
.screen{touch-action:pan-y}
@media(max-width:360px){.v20-hero-grid{height:410px;min-height:365px;grid-template-columns:minmax(48px,18%) minmax(0,1fr) minmax(48px,18%)}.v20-edge-icon{font-size:19px}.v20-edge-short,.v20-edge strong{font-size:9px}.v20-home-head h1{font-size:19px}.v20-persona-bottom strong{font-size:13px}.v20-map-point{font-size:8px}}
@media(min-width:500px){.v20-hero-grid{height:560px}.v20-edge{max-height:135px}.v20-persona-bottom strong{font-size:22px}}
@media(prefers-reduced-motion:no-preference){.v20-home,.v20-deck-bar{animation:v20fade .25s ease-out both}@keyframes v20fade{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}


/* POSITION Ver.20 home command center: goal → character → action → evolution */
.v20-dashboard{width:100%;display:flex;flex-direction:column;gap:12px;padding-bottom:20px}
.v20-dashboard-lede{display:flex;flex-direction:column;gap:4px;margin:0 0 2px}
.v20-dashboard-lede strong{font-size:18px;color:#f2e5ce;line-height:1.4}
.v20-destination{display:flex;align-items:center;gap:12px;background:linear-gradient(106deg,#142842,#182a3c 60%,#102030);border:1px solid #bca16b;border-radius:17px;padding:13px 12px;box-shadow:inset 0 1px 0 #ecd6a020,0 8px 24px #050b1755;min-width:0}
.v20-destination-symbol{display:grid;place-items:center;flex:0 0 41px;width:41px;height:41px;border-radius:50%;border:1px solid #d4b7737a;color:#e5c37b;background:#d2b07011;font-size:27px}
.v20-destination-copy{flex:1;min-width:0;overflow-wrap:anywhere}
.v20-destination-copy>span{display:block;font-size:9px;font-weight:850;letter-spacing:.8px;color:#dfc48d}
.v20-destination-copy h2{font-size:15px;color:#fff6e9;line-height:1.5;margin:5px 0 3px}
.v20-destination-copy p{font-size:10px;line-height:1.5;margin:0;color:#c3d1dc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v20-destination-open{flex:0 0 32px;background:#223b51;border:1px solid #506f7f;border-radius:9px;color:#efdbb4;font-size:23px;height:46px}
.v20-champion{height:344px;border:1px solid #bc9f6e;border-radius:18px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 72% 35%,#27465b,#081a2b 74%);box-shadow:0 13px 31px #0007}
.v20-champion>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:contain;object-position:77% center;transform:translateX(11%);filter:contrast(1.02) saturate(1.04)}
.v20-champion-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081523f5 0%,#081523a8 36%,#08152313 78%),linear-gradient(0deg,#081522dc 0%,transparent 26%)}
.v20-champion-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:19px 13px 14px;text-shadow:0 2px 7px #0009;pointer-events:none}
.v20-champion-kicker{font-size:9px;letter-spacing:1.2px;color:#e5c68a;font-weight:900;margin-bottom:6px}
.v20-champion-content h2{font-size:clamp(18px,5vw,25px);line-height:1.3;margin:0 0 7px;color:#fff3dc;max-width:70%;overflow-wrap:anywhere}
.v20-champion-content p{font-size:10px;color:#d6e5f0;margin:0 0 10px;max-width:64%;line-height:1.6}
.v20-champion-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.v20-champion-badges span{font-size:9px;font-weight:800;color:#f9dfb0;border:1px solid #b38a528a;border-radius:999px;background:#0d1e32c9;padding:6px 8px}
.v20-champion-xp{width:min(175px,70%);display:flex;flex-direction:column;gap:4px;color:#e6d9b9;font-size:9px}
.v20-champion-xp .meter{height:6px}
.v20-champion-open{pointer-events:auto;align-self:flex-start;border:1px solid #bca376;background:#152b3fdc;color:#f2dda7;padding:8px 10px;border-radius:9px;font-size:10px;font-weight:750;margin-top:12px}
.v20-daily-stack{display:grid;gap:12px;grid-template-columns:1fr}
.v20-quest-board,.v20-evo-board,.v20-stat-board{background:linear-gradient(160deg,#162a40,#0f1f31);border:1px solid #587082;border-radius:16px;padding:15px 13px;min-width:0}
.v20-evo-board{border-color:#bb9b63;background:radial-gradient(circle at 93% 2%,#453b2d,#102033 50%)}
.v20-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.v20-section-heading>span{font-weight:850;font-size:14px;color:#ebcf9b}
.v20-section-heading button{font-size:11px;color:#92dfe3;background:transparent;border:0;padding:5px}
.v20-section-heading small{font-size:9px;color:#9eb9c7}
.v20-quest-tally{font-size:10px;color:#aec2d0;margin:0 0 10px}
.v20-task-row{display:flex;gap:11px;align-items:center;border:1px solid #304c66;border-radius:10px;background:#0c1b2d88;padding:10px 9px;min-height:58px;margin-bottom:7px}
.v20-task-check{flex:0 0 29px;width:29px;height:29px;border:2px solid #8197ab;border-radius:7px;background:#0b1a28;color:#a2f6d8;font-size:17px;font-weight:900}
.v20-task-check.is-done{background:#18483d;border-color:#79dfac}
.v20-task-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.v20-task-copy>span{font-size:12px;color:#f0f4fb;line-height:1.45;overflow-wrap:anywhere}
.v20-task-copy>span.is-done{text-decoration:line-through;color:#8b9fb0}
.v20-task-copy small{font-size:9px;color:#8eb9c7}
.v20-quest-add button{width:100%;min-height:37px;border:1px dashed #477284;background:#102a3b;color:#9fd8d6;border-radius:9px;font-size:11px;margin-top:2px}
.v20-tasks-empty{font-size:11px;color:#aebdc7;padding:14px 0;line-height:1.6}
.v20-next-title{color:#f7e5c0;font-size:13px;font-weight:850;margin:3px 0 10px;line-height:1.5}
.v20-evo-strategy{display:block;color:#e2cda1;font-size:10px;margin:7px 0 4px}
.v20-progress-label{display:flex;justify-content:space-between;gap:7px;font-size:11px;color:#c7d7e6;margin:8px 0 4px}
.v20-progress-label b{color:#8eede8;font-variant-numeric:tabular-nums}
.v20-evo-board .meter{height:8px;background:#314358;border-radius:7px}.v20-evo-board .meter>span{background:linear-gradient(90deg,#3ea4af,#95ebeb)}
.v20-evo-branch+.v20-evo-branch{border-top:1px solid #ffffff1b;padding-top:7px;margin-top:10px}
.v20-evo-note{font-size:9px;line-height:1.7;margin:13px 0 0;color:#a8bbca}
.v20-evo-completed{font-size:11px;line-height:1.7;color:#a2e8db}
.v20-no-path{font-size:11px;line-height:1.7;color:#b1c6d2}.v20-no-path button{display:block;color:#e7d0a4;background:#2a3d53;border:1px solid #977b52;border-radius:9px;padding:8px 12px;margin-top:11px}
.v20-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.v20-stat-item{background:#0c1b2eb8;border:1px solid #29445a;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 3px;min-width:0;min-height:87px;color:#e6eaf1}
.v20-stat-item>span{font-size:18px;color:#e8c484;line-height:1}.v20-stat-item small{font-size:10px;color:#c3d6e2}.v20-stat-item strong{font-size:11px;color:#86e7e0;max-width:100%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.v20-dashboard-foot{display:flex;justify-content:space-between;align-items:center;gap:9px;color:#7d9aac;font-size:10px;padding:2px 1px}.v20-dashboard-foot button{background:transparent;border:0;color:#d7c393;font-size:10px}
@media(min-width:460px){.v20-champion{height:385px}.v20-daily-stack{grid-template-columns:1.12fr .88fr}.v20-quest-board,.v20-evo-board{padding:14px 11px}.v20-champion>img{transform:translateX(9%)}}
@media(max-width:350px){.v20-champion{height:310px}.v20-champion-content h2{font-size:18px}.v20-champion-content p{font-size:9px}.v20-stat-grid{gap:4px}.v20-stat-item{padding:9px 2px}.v20-stat-item strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){.v20-dashboard *{animation:none!important;transition:none!important}}


/* Ver.20.3 — one-screen home. Detail pages remain fully scrollable. */
.screen.v21-compact-screen{
 height:calc(100dvh - var(--v21-header,63px) - var(--v21-nav,76px));
 padding:8px 12px 6px; overflow:hidden;
}
.v21-dashboard{
 height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(145px,1fr) auto auto auto;
 gap:7px;max-width:100%;
}
.v21-dashboard button{-webkit-tap-highlight-color:transparent}
.v21-goal{border:1px solid #bca274;background:linear-gradient(120deg,#192b45,#112237);border-radius:13px;display:flex;align-items:center;gap:8px;text-align:left;padding:9px 10px;color:#fff1d9;min-height:58px;min-width:0}
.v21-goal-mark{font-size:26px;color:#ecc689;flex:0 0 31px;text-align:center}
.v21-goal-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.v21-goal-copy small{color:#caaa78;font-size:8px;letter-spacing:.5px;font-style:normal;font-weight:800}
.v21-goal-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v21-goal-copy em{font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#a9bbc9}
.v21-goal-arrow{color:#e6cd95;font-size:24px;padding:0 2px}
.v21-hero{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 72% 35%,#264c62,#0c1828 67%);border:1px solid #bda270;border-radius:17px;isolation:isolate}
.v21-hero>img{position:absolute;z-index:-2;right:0;top:0;height:100%;width:75%;object-fit:contain;object-position:center;filter:contrast(1.03) saturate(1.07)}
.v21-hero-fade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#091723f8 0%,#0a1824a9 27%,transparent 66%),linear-gradient(0deg,#0a1823b8 0%,transparent 35%)}
.v21-hero-top{position:absolute;top:11px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:9px;color:#e5c897;font-weight:850;letter-spacing:1px}
.v21-hero-pill{background:#13263ae8;border:1px solid #bd99636a;border-radius:100px;font-size:9px;padding:5px 9px;letter-spacing:0}
.v21-hero-copy{position:absolute;left:13px;bottom:15px;max-width:62%;text-shadow:0 1px 7px #000}
.v21-hero-copy small{color:#f2d4a3;font-size:9px}
.v21-hero-copy h2{font-size:clamp(17px,5vw,22px);line-height:1.24;margin:4px 0 4px;overflow-wrap:anywhere;color:#fff2dc}
.v21-hero-copy p{margin:0 0 8px;line-height:1.25;color:#c4dbeb;font-size:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v21-hero-level{display:flex;gap:9px;justify-content:space-between;color:#f7dba8;font-weight:700;font-size:10px;margin-bottom:5px}
.v21-hero-copy .meter{height:5px}
.v21-hero-visit{position:absolute;right:9px;bottom:10px;border:1px solid #ccaf71;background:#172c40e8;border-radius:8px;color:#ffe4ab;font-size:11px;padding:10px 10px;min-height:38px}
.v21-quests,.v21-evo{background:linear-gradient(155deg,#152b43,#102031);border:1px solid #496981;border-radius:13px;padding:9px 10px;min-width:0;color:#e7edf7}
.v21-row-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.v21-row-heading strong{color:#f1d29a;font-size:12px}
.v21-row-heading strong span{color:#92d5d2;font-weight:750;font-size:10px}
.v21-row-heading button{border:0;background:none;color:#91dfd9;font-size:10px;padding:2px 5px}
.v21-quest-list{display:flex;flex-direction:column;gap:5px}
.v21-quest-line{display:flex;align-items:center;gap:7px;background:#0b1b2e9c;border:1px solid #28465e;border-radius:9px;min-height:34px;padding:3px 7px}
.v21-check{flex:0 0 27px;width:27px;height:27px;background:#0d2235;border:1px solid #7692a9;border-radius:6px;color:#b3fae0;font-size:16px;padding:0}
.v21-check.checked{background:#1c5746;border-color:#77d4b4}
.v21-quest-line>span{flex:1;min-width:0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v21-quest-line>span.done{text-decoration:line-through;color:#91aabb}
.v21-quest-line small{font-size:9px;flex-shrink:0;color:#e7ca98}
.v21-empty-quest{background:#112c3b;color:#9ce9df;border:1px dashed #5f8592;border-radius:9px;min-height:39px;font-size:11px}
.v21-evo{display:flex;flex-direction:column;gap:5px;text-align:left;border-color:#ac8c5c;background:linear-gradient(115deg,#182d42,#1b2937)}
.v21-evo-top{display:flex;gap:8px;justify-content:space-between;align-items:center}
.v21-evo-top strong{font-size:11px;color:#f3d39b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v21-evo-top b{color:#f0edf0;font-weight:750}
.v21-evo-top>span{font-size:11px;color:#8ae9dc;font-weight:850;white-space:nowrap}
.v21-evo-progress .meter{height:6px}
.v21-evo-caption{font-size:10px;color:#bbd0de;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v21-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.v21-stats button{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:61px;border-radius:11px;background:#152639;border:1px solid #37556d;padding:4px 2px;color:#f2e9d9}
.v21-stats button>span{font-size:15px;color:#dfbb7a}
.v21-stats button small{font-size:9px;color:#d2d9de}
.v21-stats button strong{font-size:11px;color:#8ce9e0;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
@media(max-width:360px){.screen.v21-compact-screen{padding-inline:8px}.v21-dashboard{gap:5px}.v21-hero-copy{max-width:66%}.v21-hero-visit{font-size:10px}.v21-goal{padding:7px 8px}}
@media(max-height:755px){.v21-dashboard{gap:5px}.v21-goal{min-height:48px;padding:6px 8px}.v21-goal-copy em{display:none}.v21-quests,.v21-evo{padding:7px 9px}.v21-quest-line{min-height:31px}.v21-stats button{min-height:50px}.v21-hero{min-height:124px}.v21-hero-copy h2{font-size:17px}}
/* For unusually short phones, landscape, or enlarged accessibility text, content can scroll rather than being cut off. */
@media(max-height:590px) and (orientation:landscape){.screen.v21-compact-screen{height:auto;overflow:visible}.v21-dashboard{height:auto;grid-template-rows:auto minmax(180px,1fr) auto auto auto}}

.app-shell.v21-one-screen{height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}
@media(max-height:630px){
 .app-shell.v21-one-screen{height:auto;min-height:100dvh;padding-bottom:calc(var(--bottom) + env(safe-area-inset-bottom));overflow:visible}
 .screen.v21-compact-screen{height:auto;overflow:visible;padding-bottom:8px}
 .v21-dashboard{height:auto;grid-template-rows:auto minmax(190px,auto) auto auto auto}
 .v21-hero{height:195px}
}

/* Ver.21 / personal goal-linked daily quests */
.v22-recommendations{border:1px solid #947a58;background:linear-gradient(135deg,#162c43,#111e32)}
.v22-reco-head{display:flex;align-items:center;justify-content:space-between;gap:9px;color:#f1d79c;margin-bottom:9px}
.v22-reco-goal{font-size:12px;margin:4px 0 6px;font-weight:750;color:#fff1d2}
.v22-reco-goal small{font-size:10px;color:#77dbdc;font-weight:700}
.v22-reco-goal span{font-weight:450;color:#a6bed0}
.v22-reco-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.v22-reco-card{border:1px solid #3e637b;background:#0b192a;border-radius:12px;padding:12px}
.v22-reco-title{display:flex;flex-direction:column;gap:5px}
.v22-reco-title span{font-size:10px;letter-spacing:.04em;color:#8cddd9}
.v22-reco-title strong{font-size:14px;color:#f7edd9}
.v22-reco-card p{font-size:11px;line-height:1.5;color:#aabfd0;margin:8px 0 10px}
.v22-reco-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.v22-reco-actions>span{font-size:10px;color:#edc98b;margin-right:auto}
.v22-reco-actions button{min-height:34px;min-width:60px;padding:6px 10px;font-size:11px}
.v22-reco-disclaimer{font-size:10px;line-height:1.5;color:#9aaebd;margin:12px 0 0}
.v22-reco-done{font-size:12px;padding:12px;border-radius:8px;background:#183d38;color:#b0e7cc;margin-top:12px}
.v22-home-reco{border-color:#508b90;background:#123344}
.v22-home-reco>span{color:#bbede4}
.v22-home-reco>button{flex-shrink:0;border:1px solid #6da9a6;background:#25535c;color:#dcfff0;padding:4px 7px;border-radius:7px;font-size:10px;font-weight:800}
@media(max-height:755px){.v22-home-reco>button{padding:2px 5px}}

/* Ver.22 project workspace */
.v22-project-entry{border-color:#9c805a88;background:linear-gradient(130deg,#1c3045,#142033);padding:15px}
.v22-project-entry-top,.v22-project-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.v22-project-kicker,.v22-project-eyebrow{font-size:10px;letter-spacing:1.5px;color:#eac27e;font-weight:900}
.v22-project-link{border:none;background:none;color:#83e3dd;font-size:11px;font-weight:750;white-space:nowrap}
.v22-project-entry-name{font-size:16px;font-weight:900;line-height:1.55;margin:5px 0}
.v22-project-entry-name small{display:inline-block;font-size:10px;color:#8ad8d1;font-weight:650;margin-left:4px}
.v22-project-entry p,.v22-project-goal{font-size:12px;color:#b7cbd7;line-height:1.75;margin:5px 0 12px}
.v22-project-hint,.v22-project-meta{font-size:11px;color:#82e0d4;margin:8px 0 11px}
.v22-project-heading{margin:12px 0 14px}.v22-project-heading strong{font-size:15px}.v22-project-heading small{font-size:11px;color:#94aabb}
.v22-project-heading .primary-btn{min-width:96px;padding:9px 12px;font-size:12px}
.v22-project-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#121f31;border:1px solid #364a63;border-radius:14px;padding:13px;margin-bottom:9px}
.v22-project-list-item.is-focus{border-color:#c4a16a;background:linear-gradient(110deg,#243044,#13233a)}
.v22-project-list-item>div:first-child{min-width:0;flex:1}.v22-project-list-item strong{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.v22-project-list-item small{display:block;font-size:10px;color:#94abbc;margin-top:5px}
.v22-project-controls{display:flex;flex:0 0 auto;gap:5px}.v22-project-controls button{border-radius:8px;border:1px solid #51647e;color:#a5e3e5;background:#223248;padding:8px 9px;font-size:10px;font-weight:800}
.v22-project-focus{border-color:#c6a8717a}.v22-project-focus h2{font-size:22px;margin:7px 0}
.v22-project-phases{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0}
.v22-project-phases span{font-size:9px;color:#879fb1;border:1px solid #394e63;border-radius:7px;padding:5px 6px;background:#122033}
.v22-project-phases span.here{border-color:#bdaa74;color:#f3d99e;background:#382e28}
.v22-project-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0}.v22-project-facts>div{background:#0b1a2d;border:1px solid #315269;border-radius:12px;padding:12px;min-width:0}
.v22-project-facts small{display:block;color:#8ac9cd;font-size:10px;margin-bottom:7px}.v22-project-facts strong{font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.v22-project-task{border:1px solid #385771;border-radius:12px;background:#0d1c2f;margin:9px 0;padding:11px;display:flex;align-items:center;gap:10px}
.v22-project-task>div{min-width:0;flex:1}.v22-project-task strong{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.v22-project-task small{display:block;color:#9fb6c7;font-size:10px;line-height:1.6;margin-top:5px}
.v22-project-task .primary-btn{padding:9px 10px;font-size:11px;white-space:nowrap;min-width:68px}
.v22-project-result{display:flex;flex-direction:column;gap:5px;border-bottom:1px solid #ffffff15;padding:10px 0;font-size:12px}.v22-project-result small,.v22-project-result span{color:#a2b5c5;font-size:10px;line-height:1.55}
.v22-project-note,.v22-project-empty{font-size:12px;color:#a8bfd0;line-height:1.7;margin:12px 0}
@media(max-width:360px){.v22-project-facts{grid-template-columns:1fr}.v22-project-entry-top{gap:6px}.v22-project-kicker{letter-spacing:.5px}}

/* Ver.23 / EXPERIENCE CYCLE */
.v23-review-panel{border-color:#68c9c4a6;background:linear-gradient(145deg,#183344,#14243a)}
.v23-review-panel .v22-project-entry-top strong{font-size:14px;line-height:1.6}
.v23-cycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:12px 0 15px}
.v23-cycle span{font-size:10px;color:#d3f4ef;text-align:center;padding:10px 3px;border-radius:9px;border:1px solid #4a7b86;background:#0d2337;font-weight:750}
.v23-review-stats{display:flex;gap:8px;margin:12px 0 14px}
.v23-review-stats>div{flex:1;min-width:0;border:1px solid #3d5d75;border-radius:10px;padding:10px;background:#0d1d2e}
.v23-review-stats small{display:block;font-size:10px;color:#a2bdca}.v23-review-stats strong{font-size:13px;color:#eef5f7}
.v23-latest{margin-top:15px;border:1px solid #bca16a8c;border-radius:13px;background:#132b3b;padding:14px;overflow-wrap:anywhere}
.v23-latest>small,.v23-history-item small{display:block;font-size:10px;color:#96d5d4;margin-bottom:8px}
.v23-latest>strong,.v23-history-item strong{display:block;font-size:13px;line-height:1.65}
.v23-latest p,.v23-history-item p{font-size:11px;color:#c4d5db;margin:7px 0;line-height:1.65;white-space:pre-wrap}
.v23-next{border-top:1px solid #ffffff30;padding-top:11px;margin-top:12px;display:flex;flex-direction:column;gap:8px}
.v23-next span{font-size:10px;letter-spacing:.6px;color:#dec38a}.v23-next strong{font-size:13px}
.v23-next button{align-self:flex-end;font-size:11px}
.v23-history{margin-top:16px}.v23-history summary{cursor:pointer;font-size:12px;color:#b5ece5;padding:11px 0}
.v23-history-item{border-bottom:1px solid #ffffff1a;padding:12px 0;display:flex;gap:8px;justify-content:space-between;align-items:start}
.v23-history-item>div{min-width:0;flex:1;overflow-wrap:anywhere}
.v23-remove{border:1px solid #4c6580;background:#132c40;color:#e6c8c8;padding:5px 10px;border-radius:9px}
.v23-review-link{font-size:10px;border:1px solid #81dcd3;color:#a7f0e4;background:#194651;border-radius:9px;padding:8px;white-space:nowrap}
.v23-optin{display:flex;align-items:center;gap:9px;border:1px solid #42637a;border-radius:10px;padding:11px;margin-bottom:14px;font-size:12px;color:#cbdce5}
.v23-optin input{width:17px;height:17px;accent-color:#69cfc6}
@media(max-width:360px){.v23-cycle span{font-size:9px}.v23-review-link{font-size:9px;padding:6px 5px}}

/* Ver.23.1 - Prevent iOS Safari/PWA automatic zoom on small form text.
   Keep viewport user-zoom enabled for accessibility. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select, textarea, [contenteditable="true"] {
  font-size: 16px !important;
}
