:root{
  --bg:#030812;--bg2:#071326;--surface:rgba(10,24,43,.76);--surface-strong:rgba(7,17,32,.97);
  --line:rgba(237,225,183,.13);--line-soft:rgba(255,255,255,.065);--text:#f4f6fb;--muted:#8e9bb0;
  --gold:#dbc477;--gold2:#f3dfa0;--rose:#ffb3bf;--blue:#9dc5ff;--radius:23px;
  --shadow:0 22px 60px rgba(0,0,0,.28);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg);scroll-behavior:smooth}body{min-height:100%;margin:0;color:var(--text);background:radial-gradient(circle at 50% -10%,#102744 0,#06101f 37%,#030812 75%);overflow-x:hidden}button,input,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}canvas#stars{position:fixed;inset:0;z-index:-3;pointer-events:none}.page-glow{position:fixed;z-index:-2;border-radius:50%;filter:blur(60px);pointer-events:none}.page-glow-a{width:260px;height:260px;top:4%;left:-130px;background:rgba(61,103,167,.12)}.page-glow-b{width:300px;height:300px;right:-160px;top:34%;background:rgba(218,190,101,.065)}
.topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:linear-gradient(180deg,rgba(3,8,18,.94),rgba(3,8,18,.68),transparent);backdrop-filter:blur(13px)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}.brand-orb{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:linear-gradient(145deg,#fff6cc,#c3a349);font-family:Georgia,serif;color:#101827;font-weight:700;box-shadow:0 0 30px rgba(234,213,149,.15)}.brand>span:nth-child(2){display:grid;gap:1px}.brand b{font-size:14px;letter-spacing:.22em}.brand small{font-size:6.8px;color:var(--muted);letter-spacing:.15em}.beta-badge{align-self:flex-start;margin:1px 0 0 -4px;padding:2px 5px;border:1px solid rgba(234,213,149,.22);border-radius:999px;color:var(--gold);font-size:8px}.header-actions{display:flex;align-items:center;gap:8px}.round-button,.language-button,.close-button{border:1px solid var(--line);background:rgba(255,255,255,.035);cursor:pointer}.round-button,.close-button{border-radius:50%}.round-button{width:38px;height:38px;color:var(--gold);font-family:Georgia,serif}.language-button{height:36px;min-width:43px;padding:0 10px;border-radius:999px;color:#cdd7e6;font-size:10px;letter-spacing:.08em}
main{max-width:780px;margin:0 auto;padding:4px 16px 42px}.balance-card{text-align:center;padding:39px 12px 31px}.overline{margin:0 0 8px;color:var(--gold);font-size:9px;letter-spacing:.22em;font-weight:670}.balance{margin:0;font-weight:230;font-size:clamp(52px,15vw,84px);letter-spacing:-.055em;font-variant-numeric:tabular-nums;text-shadow:0 0 42px rgba(238,218,157,.12)}.unit{margin:1px 0 15px;color:var(--gold);font-size:9px;letter-spacing:.25em}.change{display:inline-flex;margin:0;padding:7px 11px;border-radius:999px;font-size:10px;border:1px solid var(--line);background:rgba(255,255,255,.03)}.change.positive{color:var(--gold2);border-color:rgba(234,213,149,.3)}.change.negative{color:#ffc0c8;border-color:rgba(255,157,171,.28)}.intro{margin:18px auto 0;max-width:470px;color:var(--muted);font-size:11px;line-height:1.82}.review-note{display:inline-flex;align-items:center;gap:7px;margin:14px 0 0;color:#74839a;font-size:8.5px;letter-spacing:.04em}.review-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px var(--gold)}
.section-title{margin:0 4px 13px}.section-title.inline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.section-title h1,.section-title h2{margin:0;font-size:20px;letter-spacing:.01em;font-weight:620}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action{position:relative;overflow:hidden;min-height:173px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(150deg,rgba(17,35,59,.91),rgba(8,18,33,.94));box-shadow:var(--shadow);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.action:active{transform:scale(.985)}.action:first-child{grid-column:1/-1;min-height:146px;flex-direction:row;align-items:center;justify-content:flex-start;gap:18px}.action::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-70px;top:-75px;filter:blur(5px);background:rgba(255,255,255,.025)}.action-plus{border-color:rgba(234,213,149,.22);background:linear-gradient(145deg,rgba(27,46,67,.95),rgba(11,23,40,.94))}.action-collision{border-color:rgba(159,183,218,.13)}.action-released{border-color:rgba(255,179,191,.12)}.sign{display:grid;place-items:center;flex:0 0 auto;width:49px;height:49px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.025);font-size:27px;font-weight:250}.action-plus .sign{color:var(--gold2);border-color:rgba(234,213,149,.38);box-shadow:0 0 28px rgba(234,213,149,.08)}.action-minus .sign{color:#ffc0c8}.action-text{display:grid;gap:7px}.action-kicker{color:#71839c;font-size:7.5px;letter-spacing:.16em}.action-plus .action-kicker{color:#aa9b67}.action-text b{font-size:14.5px;line-height:1.48}.action-text small{color:var(--muted);font-size:9.5px;line-height:1.5}
.boundary-card,.today-card,.journal-card,.meaning-card{margin-top:13px;padding:21px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.boundary-card{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:flex-start;background:linear-gradient(140deg,rgba(15,34,57,.78),rgba(7,19,35,.77));border-color:rgba(157,197,255,.13)}.boundary-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:50%;border:1px solid rgba(157,197,255,.2);color:var(--blue);background:rgba(157,197,255,.04);font-size:20px}.boundary-card b{font-size:11.5px;color:#d7e4f5}.boundary-card p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.75}.link-button{border:0;background:none;color:var(--muted);font-size:11px;padding:5px;cursor:pointer}.link-button:disabled{opacity:.35}.today-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:20px}.today-grid div{text-align:center;padding:13px 4px;border:1px solid rgba(255,255,255,.05);border-radius:17px;background:rgba(255,255,255,.025)}.today-grid b{display:block;font-size:18px;font-weight:520;font-variant-numeric:tabular-nums}.today-grid small{display:block;margin-top:5px;color:var(--muted);font-size:8.6px}.journal{display:grid;gap:8px;margin-top:17px}.empty{min-height:145px;display:grid;place-items:center;align-content:center;gap:14px;text-align:center;color:var(--muted);font-size:11px;line-height:1.65}.empty p{margin:0}.empty-light{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8d7,#d5b85e 35%,rgba(213,184,94,.1) 68%,transparent 70%);box-shadow:0 0 28px rgba(234,213,149,.22)}.entry{display:grid;grid-template-columns:39px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:17px;background:rgba(255,255,255,.025)}.entry-sign{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;border:1px solid var(--line);font-size:18px}.entry.plus .entry-sign,.entry.plus .entry-value{color:var(--gold2)}.entry.minus .entry-sign,.entry.minus .entry-value{color:#ffc0c8}.entry-copy{min-width:0}.entry-copy b{display:block;font-size:11px;line-height:1.45}.entry-copy small{display:block;margin-top:4px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-copy em{display:block;margin-top:5px;color:#bec8d7;font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-value{font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.meaning-card{background:rgba(10,23,40,.62)}.meaning-card h2{margin:0;font-size:18px}.meaning-card>p:not(.overline){margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.8}.meaning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.meaning-grid span{text-align:center;padding:9px 5px;border:1px solid rgba(255,255,255,.055);border-radius:13px;color:#aab6c7;font-size:8.5px;background:rgba(255,255,255,.02)}footer{text-align:center;max-width:780px;margin:0 auto;padding:0 16px calc(29px + env(safe-area-inset-bottom));color:#617086;font-size:8px;letter-spacing:.16em}footer p{margin:0 0 7px}footer span{letter-spacing:.07em}
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:30;display:grid;align-items:end}.modal-backdrop{position:absolute;inset:0;background:rgba(0,4,11,.8);backdrop-filter:blur(8px)}.sheet,.dialog-card{position:relative;z-index:1;background:var(--surface-strong);border:1px solid var(--line);box-shadow:0 -24px 80px rgba(0,0,0,.5)}.sheet{width:min(100%,580px);max-height:92dvh;overflow-y:auto;margin:0 auto;border-radius:28px 28px 0 0;padding:9px 20px calc(25px + env(safe-area-inset-bottom));animation:sheetUp .24s ease-out}.handle{width:42px;height:4px;border-radius:999px;margin:1px auto 18px;background:rgba(255,255,255,.18)}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.sheet-head h2,.dialog-card h2{margin:0;font-size:23px}.close-button{width:36px;height:36px;font-size:19px;line-height:1}.sheet-description{margin:13px 0 11px;color:var(--muted);font-size:11px;line-height:1.7}.sheet-safety{margin:0 0 17px;padding:11px 12px;border:1px solid rgba(157,197,255,.15);border-radius:14px;background:rgba(157,197,255,.04);color:#bfcfe4;font-size:9.5px;line-height:1.65}fieldset{border:0;padding:0;margin:0 0 19px}legend,.field-label{display:block;margin:0 0 8px;color:#cbd4e2;font-size:10px}.field-label span{color:#6f7e94}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button,.presets button{border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:999px;color:var(--muted);cursor:pointer}.chips button{padding:8px 10px;font-size:10px}.chips button.selected,.presets button.selected{color:var(--gold2);border-color:rgba(234,213,149,.42);background:rgba(234,213,149,.08)}.amount-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.why-button{margin:0 0 8px;border:0;background:none;color:#778ca8;font-size:8.7px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.amount-row{display:grid;grid-template-columns:43px 1fr 43px;align-items:center;gap:10px;margin:4px 0 5px}.amount-row button{height:40px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.03);font-size:20px;cursor:pointer}.amount-row output{text-align:center;font-size:42px;font-weight:270;letter-spacing:-.04em;font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:#e7cf86}.presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:11px 0 18px}.presets button{padding:9px 2px;border-radius:12px;font-size:10px}.text-field{width:100%;margin:0 0 16px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);font-size:16px;resize:vertical}.text-field::placeholder{color:#627087}.save-button{width:100%;border:0;border-radius:17px;padding:15px;background:linear-gradient(135deg,#fff0b8,#c8a64e);color:#101a2a;font-weight:750;cursor:pointer;box-shadow:0 13px 34px rgba(190,151,50,.18)}.modal:has(.dialog-card){align-items:center;padding:16px}.dialog-card{width:min(100%,540px);max-height:89dvh;overflow-y:auto;margin:auto;border-radius:27px;padding:28px 23px;animation:dialogIn .2s ease-out}.dialog-card.compact{max-width:470px}.close-button.floating{position:absolute;right:17px;top:17px}.dialog-lead{margin:14px 35px 0 0;color:#c4cedc;font-size:11px;line-height:1.8}.principles{list-style:none;padding:0;margin:22px 0 18px;display:grid;gap:9px}.principles li{display:grid;grid-template-columns:39px 1fr;gap:11px;padding:13px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.principles span{color:var(--gold);font-size:9px;letter-spacing:.13em}.principles p{margin:0;font-size:11px;line-height:1.7}.explain-block{margin-top:9px;padding:14px;border:1px solid var(--line-soft);border-radius:16px;background:rgba(255,255,255,.021)}.explain-block.safety{border-color:rgba(157,197,255,.14);background:rgba(157,197,255,.035)}.explain-block b{font-size:10.5px;color:#d7dfeb}.explain-block p{margin:7px 0 0;color:var(--muted);font-size:9.6px;line-height:1.75}.small-note{margin:17px 0 0;color:var(--muted);font-size:10px;line-height:1.75}.settings-list{display:grid;gap:8px;margin-top:22px}.settings-list button{text-align:left;padding:13px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);cursor:pointer}.settings-list b,.settings-list small{display:block}.settings-list b{font-size:11px}.settings-list small{margin-top:4px;color:var(--muted);font-size:9px}.settings-list .danger b{color:#ffadb8}.version-line{margin:15px 0 0;color:#52627a;font-size:8px;letter-spacing:.08em}.toast{position:fixed;z-index:50;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100% - 32px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:10px 15px;border-radius:999px;background:rgba(250,248,240,.96);color:#101827;font-size:11px;box-shadow:0 15px 45px rgba(0,0,0,.4);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}body.modal-open{overflow:hidden}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes dialogIn{from{opacity:0;transform:scale(.98) translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:700px){main{padding-left:20px;padding-right:20px}.actions{grid-template-columns:1.2fr 1fr 1fr}.action:first-child{grid-column:auto;min-height:184px;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px}.action{min-height:184px}.balance-card{padding-top:50px}.modal{align-items:center;padding:18px}.sheet{border-radius:28px;max-height:90dvh}}
@media(max-width:380px){.brand small{display:none}.topbar{padding-left:12px;padding-right:12px}.actions{gap:8px}.action{padding:15px}.action-text b{font-size:13.5px}.meaning-grid{grid-template-columns:1fr}.today-grid small{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
