:root{--paper:#f5eedf;--glass:#f7f1e4d6;--ink:#1d1b17;--muted:#6d655a;--faint:#a39a8c;--line:#1d1b1721;--vermilion:#c23b22;--leaf:#4f7a4a;--serif:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:ui-sans-serif, -apple-system, "Segoe UI", system-ui, sans-serif;--jp:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--shadow:0 14px 34px -18px #30241273, 0 2px 6px -2px #3024121f;--radius:14px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}html,body{height:100%;color:var(--ink);font:14px/1.35 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#efe6cf;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{touch-action:none;display:block}button,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--vermilion);outline-offset:2px}[hidden]{display:none!important}.panel,.rail,.timebar,.menu-sheet,.choose{background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--line);box-shadow:var(--shadow)}.hud{pointer-events:none;z-index:2;position:fixed;inset:0}.hud>*{pointer-events:auto;transition:opacity .35s,transform .35s}.hud.hidden>*{opacity:0;pointer-events:none}.hud.hidden>.show-ui{opacity:.55;pointer-events:auto}.show-ui{right:calc(16px + var(--safe-right));bottom:calc(16px + var(--safe-bottom));opacity:0;pointer-events:none;position:absolute}.icon-btn,.tool{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;transition:background .2s,color .2s,transform .15s;display:grid}.icon-btn:hover,.tool:hover{background:#1d1b170f}.icon-btn:active,.tool:active{transform:scale(.94)}.icon-btn.active,.tool.active{background:var(--ink);color:var(--paper)}.tool:disabled{opacity:.3;cursor:default;background:0 0}.corner{z-index:2;left:calc(20px + var(--safe-left));top:calc(18px + var(--safe-top));position:absolute}.seal{background:var(--vermilion);color:#f6ecd8;width:46px;height:64px;font:700 19px/1.1 var(--jp);border:0;border-radius:4px;transition:transform .2s;transform:rotate(-2deg);box-shadow:0 6px 16px -8px #781e0ab3,inset 0 0 0 3px #c23b22,inset 0 0 0 4.5px #f6ecd8b3}.seal:hover{transform:rotate(0)scale(1.04)}.menu-sheet{border-radius:var(--radius);flex-direction:column;min-width:240px;padding:6px;animation:.2s rise;display:flex;position:absolute;top:74px;left:0}.menu-item{text-align:left;font:500 17px/1.2 var(--serif);background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.menu-item:hover{background:#1d1b170f}.menu-item svg{color:var(--muted);flex:none}.appraisal{right:calc(20px + var(--safe-right));top:calc(18px + var(--safe-top));border-radius:var(--radius);width:248px;position:absolute;overflow:hidden}.plaque{text-align:right;background:0 0;border:0;flex-direction:column;align-items:flex-end;width:100%;padding:12px 16px 10px;display:flex}.eyebrow{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.value{font:600 36px/1 var(--serif);letter-spacing:.01em;font-variant-numeric:lining-nums tabular-nums;margin-top:4px}.best{min-height:1em;font:italic 500 14px/1 var(--serif);color:var(--faint);margin-top:3px}.details{gap:8px;max-height:520px;padding:2px 16px 14px;transition:max-height .35s,padding .35s,opacity .25s;display:grid;overflow:hidden}.folded .details{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.score{grid-template-columns:78px 1fr;align-items:center;gap:10px;display:grid}.score .label,.field>.label,.care .label{font:500 15px/1.2 var(--serif);color:var(--muted)}.bar{background:#1d1b171a;border-radius:2px;height:4px;overflow:hidden}.bar-fill,.fill{background:var(--ink);border-radius:2px;width:0;height:100%;transition:width .4s}.fill.water{background:#4f7fa8}.fill.vigor{background:var(--leaf)}.fill.vigor.low{background:var(--vermilion)}.advice{font:italic 500 15px/1.3 var(--serif);color:var(--ink);margin:4px 0 0}.rail{right:calc(20px + var(--safe-right));border-radius:18px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tool{position:relative}.tool .tip{background:var(--ink);color:var(--paper);font:500 12px/1 var(--sans);white-space:nowrap;opacity:0;pointer-events:none;border-radius:7px;padding:5px 9px;transition:opacity .15s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.tool:hover .tip{opacity:1}.care-toggle{display:none}.care-dot{background:0 0;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:9px}.care-dot.alert{background:var(--vermilion)}.care{left:calc(20px + var(--safe-left));top:calc(98px + var(--safe-top));border-radius:var(--radius);width:248px;position:absolute;overflow:hidden}.panel-head{width:100%;font:600 18px/1 var(--serif);background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px 10px 14px;display:flex}.panel-head svg:first-child{color:#4f7fa8}.panel-head span{text-align:left;flex:1}.panel-head svg:last-child{color:var(--muted);transition:transform .3s}.folded .panel-head svg:last-child{transform:rotate(-90deg)}.care .details{padding-top:0}.care .score{grid-template-columns:52px 1fr}.row{align-items:center;gap:8px;display:flex}.care select{border:1px solid var(--line);min-width:0;height:36px;font:500 15px var(--serif);background:#ffffff73;border-radius:10px;flex:1;padding:0 10px}.text-btn,.btn{border:1px solid var(--ink);height:36px;font:600 15px var(--serif);white-space:nowrap;background:0 0;border-radius:10px;padding:0 14px;transition:background .2s,color .2s}.text-btn:hover,.btn:hover{background:var(--ink);color:var(--paper)}.segmented{border:1px solid var(--line);border-radius:10px;gap:0;overflow:hidden}.seg{border:0;border-right:1px solid var(--line);height:34px;font:500 15px var(--serif);background:0 0;flex:1}.seg:last-child{border-right:0}.seg.active{background:var(--ink);color:var(--paper)}.hint{font:italic 500 14px/1.3 var(--serif);color:var(--muted);margin:0}.hint.good{color:var(--leaf)}.timebar{left:50%;bottom:calc(20px + var(--safe-bottom));border-radius:999px;align-items:center;gap:4px;width:min(620px,100vw - 640px);min-width:420px;padding:6px 14px 6px 6px;display:flex;position:absolute;transform:translate(-50%)}.timebar .icon-btn{border-radius:50%}.timebar .fast svg{transform:scale(.82)}.scrubber{appearance:none;background:0 0;flex:1;min-width:60px;height:28px;margin:0 10px}.scrubber::-webkit-slider-runnable-track{background:linear-gradient(var(--ink), var(--ink)) center / 100% 1px no-repeat;opacity:.6;height:2px}.scrubber::-moz-range-track{background:var(--ink);opacity:.6;height:1px}.scrubber::-webkit-slider-thumb{-webkit-appearance:none;background:var(--paper);border:1.5px solid var(--ink);border-radius:50%;width:16px;height:16px;margin-top:-7px;box-shadow:0 2px 6px -2px #00000059}.scrubber::-moz-range-thumb{background:var(--paper);border:1.5px solid var(--ink);border-radius:50%;width:14px;height:14px}.when{white-space:nowrap;align-items:center;gap:8px;display:flex}.kanji{font:600 22px/1 var(--jp);color:var(--vermilion)}.date{font:500 17px/1 var(--serif);color:var(--muted);min-width:132px}.date b{color:var(--ink);font-weight:600}.rewound .scrubber::-webkit-slider-thumb{border-color:var(--vermilion);background:var(--vermilion)}.rewound .date b{color:var(--vermilion)}.progress{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:italic 500 22px/1.3 var(--serif);text-align:center;background:#efe6cfb8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.toast{left:50%;bottom:calc(96px + var(--safe-bottom));z-index:9;background:var(--ink);color:var(--paper);font:500 16px/1.2 var(--serif);box-shadow:var(--shadow);pointer-events:none;border-radius:999px;padding:10px 18px;animation:.25s rise;position:fixed;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(var(--tx,0), 6px)}}.toast{--tx:-50%}.onboarding{z-index:5;pointer-events:none;position:fixed;inset:0}.onboarding>*{pointer-events:auto}.title-screen{text-shadow:0 0 18px var(--paper), 0 0 6px var(--paper), 0 0 2px var(--paper);left:calc(56px + var(--safe-left));bottom:calc(64px + var(--safe-bottom));max-width:440px;animation:.6s rise;position:absolute}.title-seal{background:var(--vermilion);color:#f6ecd8;width:52px;height:74px;font:700 22px/1.1 var(--jp);text-align:center;box-shadow:inset 0 0 0 3px var(--vermilion), inset 0 0 0 4.5px #f6ecd8b3;border-radius:4px;place-items:center;margin-bottom:18px;display:grid;transform:rotate(-2deg)}.title-screen h1{font:600 88px/.9 var(--serif);letter-spacing:-.01em;margin:0}.tagline{font:italic 500 22px/1.3 var(--serif);color:var(--muted);margin:14px 0 26px}.actions{flex-wrap:wrap;gap:10px;display:flex}.btn{border-radius:999px;height:46px;padding:0 22px;font-size:18px}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:#000}.choose{right:calc(28px + var(--safe-right));border-radius:20px;width:380px;max-height:calc(100dvh - 56px);padding:22px 22px 20px;animation:.35s rise;position:absolute;top:50%;overflow-y:auto;transform:translateY(-50%)}.choose .actions{background:linear-gradient(#f7f1e400,#f7f1e4f5 30%);justify-content:space-between;margin:18px -22px -20px;padding:12px 22px 20px;position:sticky;bottom:-20px}.choose h2{font:600 32px/1.05 var(--serif);margin:6px 0 14px}.crumbs{counter-reset:step;gap:14px;margin:0;padding:0;list-style:none;display:flex}.crumbs li{counter-increment:step;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}.crumbs li:before{content:counter(step) "  "}.crumbs li.current{color:var(--vermilion)}.crumbs li.done{color:var(--muted)}.options{gap:8px;display:grid}.option{border:1px solid var(--line);text-align:left;background:#ffffff59;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:56px 1fr;align-items:center;column-gap:12px;padding:12px 14px;transition:border-color .2s,background .2s;display:grid}.option:hover{background:#fff9}.option.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#ffffffbf}.option .kanji{font:600 26px/1 var(--jp);color:var(--ink);text-align:center;grid-row:span 2}.option.locked{cursor:default;opacity:.55;background:0 0;border-style:dashed}.option.locked .text{color:var(--vermilion);font-style:italic}.option.selected .kanji{color:var(--vermilion)}.option .name{font:600 20px/1.1 var(--serif)}.option .text{font:500 15px/1.3 var(--serif);color:var(--muted);margin-top:3px}.vessel{gap:14px;display:grid}.field{gap:7px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);height:34px;font:500 15px var(--serif);background:#ffffff59;border-radius:999px;padding:0 13px}.chip.selected{border-color:var(--ink);background:var(--ink);color:var(--paper)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{width:34px;height:34px;box-shadow:0 0 0 1px var(--line);border:2px solid #0000;border-radius:50%;padding:0}.swatch.selected{border-color:var(--paper);box-shadow:0 0 0 2px var(--ink)}.daily-card{border:1px solid var(--line);border-left:3px solid var(--vermilion);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);text-shadow:none;border-radius:14px;gap:4px;margin-top:26px;padding:16px 18px;display:grid}.daily-card .eyebrow{color:var(--vermilion)}.daily-title{font:600 24px/1.1 var(--serif)}.daily-text{font:italic 500 16px/1.3 var(--serif);color:var(--muted)}.daily-card .actions{margin-top:10px}.daily-card .btn{height:40px;font-size:16px}.daily-note{font:italic 500 15px/1.2 var(--serif);color:var(--vermilion);margin-top:8px}.modal{z-index:8;background:#28201447;place-items:center;padding:20px;animation:.25s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal-card{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:22px;width:min(440px,100%);max-height:calc(100dvh - 40px);padding:26px 26px 18px;animation:.35s rise;overflow-y:auto;box-shadow:0 30px 80px -30px #281c0a99}.modal-card h2{font:600 30px/1.1 var(--serif);margin:4px 0 2px}.modal-card .eyebrow{color:var(--vermilion)}.big-value{font:600 64px/1 var(--serif);font-variant-numeric:lining-nums;margin:10px 0 4px}.sub{font:italic 500 17px/1.35 var(--serif);color:var(--muted);margin:6px 0 14px}.result{min-height:1.3em;font:600 22px/1.3 var(--serif);color:var(--vermilion);margin:10px 0}.name-form{gap:8px;display:flex}.name-form input{border:1px solid var(--line);min-width:0;height:46px;font:500 18px var(--serif);color:var(--ink);background:#fff9;border-radius:999px;flex:1;padding:0 14px}.modal-card .actions{justify-content:center;margin-top:8px}.link-btn{font:italic 500 16px var(--serif);color:var(--muted);text-underline-offset:3px;background:0 0;border:0;margin-top:12px;padding:8px 12px;text-decoration:underline}.board{text-align:left;margin:0;padding:0;list-style:none}.board li{border-bottom:1px solid var(--line);font:500 18px/1.2 var(--serif);grid-template-columns:36px 1fr auto;align-items:baseline;gap:10px;padding:9px 4px;display:grid}.board .rank{color:var(--faint);font-variant-numeric:tabular-nums;font-weight:700}.board li:nth-child(-n+3) .rank{color:var(--vermilion)}.board .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board .worth{font-variant-numeric:tabular-nums;font-weight:600}.board li.you{background:#c23b2214;border-radius:8px}.title-screen{scrollbar-width:none;max-height:calc(100dvh - 48px);overflow-y:auto}@media (width>=701px){.title-screen{animation:none;top:50%;bottom:auto;transform:translateY(-50%)}.title-screen h1{font-size:76px}.tagline{margin:10px 0 20px}.daily-card{margin-top:20px}}@media (width>=701px) and (height<=820px){.title-seal{display:none}.title-screen h1{font-size:64px}.tree-pic{height:72px}}.shelf{text-shadow:none;margin-top:18px}.shelf-row{scroll-snap-type:x mandatory;gap:10px;margin-top:8px;padding:2px 2px 10px;display:flex;overflow-x:auto}.tree-card{scroll-snap-align:start;flex:none;width:132px;position:relative}.tree-open{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:left;width:100%;box-shadow:var(--shadow);border-radius:14px;gap:2px;padding:8px 8px 10px;transition:transform .15s,border-color .2s;display:grid}.tree-open:hover{border-color:var(--ink);transform:translateY(-2px)}.tree-pic{height:96px;font:600 26px var(--jp);color:var(--faint);background:#ece2cb 50%/cover no-repeat;border-radius:9px;place-items:center;margin-bottom:6px;display:grid}.tree-name{font:600 15px/1.15 var(--serif)}.tree-meta{font:500 14px/1.2 var(--serif);color:var(--ink)}.tree-when{font:italic 500 13px/1.2 var(--serif);color:var(--faint)}.tree-delete{width:26px;height:26px;color:var(--muted);font:500 18px/1 var(--sans);opacity:0;background:#f7f1e4e6;border:0;border-radius:50%;padding:0;transition:opacity .2s;position:absolute;top:12px;right:12px}.tree-card:hover .tree-delete,.tree-delete:focus-visible{opacity:1}@media (hover:none){.tree-delete{opacity:.85}}.tree-confirm{background:var(--paper);border:1px solid var(--vermilion);text-align:center;font:600 15px/1.2 var(--serif);border-radius:14px;place-content:center;gap:8px;padding:10px;display:grid;position:absolute;inset:0}.tree-confirm .btn{height:34px;padding:0 12px;font-size:15px}.btn.danger{border-color:var(--vermilion);background:var(--vermilion);color:var(--paper)}.inapp-note{background:var(--ink);color:var(--paper);font:500 15px/1.35 var(--serif);text-shadow:none;border-radius:14px;gap:8px;margin-bottom:16px;padding:12px 14px;display:grid}.inapp-note .btn{border-color:var(--paper);height:38px;color:var(--paper);justify-self:start}.inapp-note .link-btn{color:#f5eedfb3;justify-self:start;margin:0;padding:0}.viewer img,.viewer video{object-fit:contain;-webkit-touch-callout:default;background:#e9dfc8;border-radius:12px;width:100%;max-height:60dvh;display:block}.viewer .btn{margin:4px}@media (width<=1100px){.timebar{width:auto;min-width:0;left:calc(290px + var(--safe-left));right:calc(96px + var(--safe-right));transform:none}}@media (width<=700px){.corner{left:calc(12px + var(--safe-left));top:calc(10px + var(--safe-top))}.seal{width:38px;height:52px;font-size:16px}.menu-sheet{top:60px}.appraisal{right:calc(12px + var(--safe-right));top:calc(10px + var(--safe-top));width:min(240px,100vw - 90px)}.appraisal.folded{width:auto;min-width:128px}.plaque{padding:9px 13px 8px}.value{font-size:30px}.details{padding:2px 13px 12px}.rail{top:auto;left:50%;right:auto;bottom:calc(74px + var(--safe-bottom));border-radius:999px;flex-direction:row;gap:2px;transform:translate(-50%)}.tool{border-radius:999px;width:52px;height:48px}.tool .tip{display:none}.care-toggle{display:grid}.care-open .care-toggle{background:var(--ink);color:var(--paper)}.care{top:auto;left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));bottom:calc(136px + var(--safe-bottom));opacity:0;pointer-events:none;width:auto;transform:translateY(16px)}.care-open .care{opacity:1;pointer-events:auto;transform:none}.care .panel-head{pointer-events:none}.care .panel-head svg:last-child{display:none}.care.folded .details{opacity:1;max-height:520px;padding:0 16px 14px}.timebar{left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));padding:4px 12px 4px 4px}.scrubber{margin:0 6px}.kanji{font-size:18px}.date{min-width:0;font-size:15px}.show-ui{bottom:calc(76px + var(--safe-bottom))}.toast{bottom:calc(140px + var(--safe-bottom));text-align:center;max-width:calc(100vw - 40px)}.title-screen{left:calc(22px + var(--safe-left));right:calc(22px + var(--safe-right));bottom:calc(18px + var(--safe-bottom));max-height:56dvh}.tree-card{width:116px}.tree-pic{height:80px}.title-screen h1{font-size:46px}.title-screen .tagline{margin:4px 0 12px;font-size:16px}.title-screen>.actions{flex-wrap:nowrap}.title-screen>.actions .btn{height:42px;padding:0 16px;font-size:16px}.daily-text{display:none}.daily-card .actions{margin-top:6px}.title-screen .title-seal{display:none}.daily-card{margin-top:16px;padding:12px 14px}.big-value{font-size:52px}.tagline{font-size:19px}.choose{width:auto;max-height:52dvh;padding:16px 16px calc(16px + var(--safe-bottom));border-bottom:0;border-radius:22px 22px 0 0;inset:auto 0 0;transform:none}.choose h2{margin-bottom:10px;font-size:26px}.choose .actions{bottom:calc(-16px - var(--safe-bottom));margin:14px -16px calc(-16px - var(--safe-bottom));padding:10px 16px calc(16px + var(--safe-bottom))}.option{padding:10px 12px}.option .text{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
