@import "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap";@font-face{font-family:HannariMincho;src:url(/fonts/HannariMincho-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:dark;--font-display:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Georgia", serif;--font-body:Inter, "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", system-ui, sans-serif;--bg:#101815;--bg-deep:#080d0c;--bg-mid:#17231e;--bg-panel:#14120de6;--line:#cda96357;--text:#f1e5cb;--muted:#c9bba0;--soft:#978b75;--accent:#8fa9a0;--accent-strong:#c8a961;--field-min:18rem;--field-min-short:10rem;--domain-daily:#6f9794;--domain-family:#a47770;--domain-work:#a98a4e;--domain-direction:#668e75;--domain-past:#817e91;--domain-anchor:#c8a961;--shadow:0 18px 60px #00000061;font-family:var(--font-body);background:var(--bg);color:var(--text)}:root:lang(ja){--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;--font-body:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background-color:#080d0c;background-image:radial-gradient(at 50% 52%,#93662d21,#0000 34rem),linear-gradient(#0b100c94,#100e09a6),radial-gradient(at 48% 22%,#43655821,#0000 38rem),url(/textures/asterism-matte.webp),none;background-position:0 0,0 0,0 0,50%,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,auto,cover,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box}a{color:inherit}button,input,textarea{font:inherit}button,.button{border:1px solid var(--line);min-height:2.75rem;color:var(--text);cursor:pointer;background:#60796c1f;border-radius:5px;justify-content:center;align-items:center;gap:.45rem;padding:.72rem 1rem;text-decoration:none;transition:border-color .16s,background .16s;display:inline-flex}button:hover,.button:hover{background:#c8a9611a;border-color:#c8a9618f}button:focus-visible,.button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.button-primary{color:#eee9dc;background:#6d5e415c;border-color:#c8a96194;box-shadow:inset 0 0 24px #c8a96109}.button-primary:hover{color:#fffaf0;background:#806a4070;border-color:#dcbe77d1}.app-shell{width:min(1040px,100% - 32px);min-height:100vh;margin:0 auto;padding:24px 0 40px}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:28px;display:flex}.brand{letter-spacing:.14em;align-items:center;gap:.7rem;font-weight:400;text-decoration:none;display:flex}.brand-mark{background:radial-gradient(circle,#fff4c5 0 15%,#c8a961 22% 46%,#0000 50%);border-radius:50%;width:.82rem;height:.82rem;box-shadow:0 0 14px #c8a9617a}.nav-links{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.nav-links a{color:var(--muted);border:1px solid #0000;border-radius:8px;gap:.12rem;padding:.5rem .75rem;text-decoration:none;display:grid}.nav-links small{color:var(--soft);letter-spacing:.08em;font-size:.68rem}.nav-links a[aria-current=page] small,.nav-links a:hover small{color:var(--accent-strong)}.nav-links a[aria-current=page],.nav-links a:hover{border-color:var(--line);color:var(--text)}.page-header{max-width:760px;margin:0 0 24px}.page-title{letter-spacing:0;margin:0;font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1.18}.muted{color:var(--muted);line-height:1.7}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.method-card,.settings-panel,.work-panel{border:1px solid var(--line);background:var(--bg-panel);border-radius:6px;box-shadow:0 16px 48px #0000004d,inset 0 1px #fff8de06}.method-card{flex-direction:column;min-height:15rem;padding:20px;display:flex}.method-card h2,.settings-panel h2{letter-spacing:0;margin:0 0 .75rem;font-size:1.12rem}.method-card .method-name{color:var(--accent);margin:0 0 .5rem;font-size:.92rem}.method-card p{color:var(--muted);margin:0 0 1rem;line-height:1.72}.method-card .duration{color:var(--soft);margin-top:auto;font-size:.92rem}.method-card .button{width:100%;margin-top:1rem}.mode-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:36px;display:grid}.mode-card{text-align:left;border:1px solid var(--line);background:var(--bg-panel);min-height:15rem;box-shadow:var(--shadow);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;padding:24px;transition:border-color .2s,background .2s,transform .2s;display:flex}.mode-card:hover{background:var(--bg-panel);border-color:#c8a96180;transform:translateY(-2px)}.mode-card[aria-pressed=true]{background:#f3d47a12;border-color:#f3d47a99}.mode-card h2{letter-spacing:.08em;margin:0 0 .6rem;font-size:1.24rem}.mode-card p{color:var(--muted);margin:0 0 1rem;line-height:1.72}.mode-note{color:var(--soft);font-size:.86rem;line-height:1.6}.mode-note[data-warn=true]{color:var(--accent-strong)}.mode-choose{color:var(--accent);letter-spacing:.08em;margin-top:auto;padding-top:1.1rem;font-size:.92rem}.mode-card[aria-pressed=true] .mode-choose{color:var(--accent-strong)}.mode-glyph{width:2.6rem;height:2.6rem;margin-bottom:1.1rem;display:block;position:relative}.mode-glyph[data-glyph=journal]{background:linear-gradient(var(--soft), var(--soft)) 0 .6rem / 2.4rem 1px no-repeat, linear-gradient(var(--soft), var(--soft)) 0 1.3rem / 2.4rem 1px no-repeat, linear-gradient(var(--soft), var(--soft)) 0 2rem / 1.4rem 1px no-repeat}.mode-glyph[data-glyph=journal]:after{content:"";background:var(--accent-strong);border-radius:50%;width:.42rem;height:.42rem;position:absolute;top:1.72rem;right:.15rem;box-shadow:0 0 9px #ecc46f99}.mode-glyph[data-glyph=dialogue]:before,.mode-glyph[data-glyph=dialogue]:after{content:"";border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;top:.75rem}.mode-glyph[data-glyph=dialogue]:before{border:1px solid var(--soft);left:0}.mode-glyph[data-glyph=dialogue]:after{background:var(--accent);left:1.15rem;box-shadow:0 0 10px #c8a96180}.section-title{letter-spacing:.1em;color:var(--muted);margin:0 0 16px;font-size:1.05rem;font-weight:400}.method-section[hidden]{display:none}.work-progress{flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:18px;display:flex}.step-title{letter-spacing:0;margin:0 0 1rem;font-size:1.35rem}.step-content{color:var(--muted);white-space:pre-wrap;line-height:1.82}.form-field{gap:.5rem;margin-top:18px;display:grid}.form-field label{color:var(--text)}.form-field textarea,.form-field input[type=number],.form-field input[type=password],.form-field select{border:1px solid var(--line);width:100%;color:var(--text);background:#030706b8;border-radius:4px;padding:.9rem}.form-field textarea{min-height:var(--field-min);resize:vertical;line-height:1.7}.form-field input[type=number]{max-width:10rem}.form-help{color:var(--soft);margin:0;line-height:1.6}.place-choice{border:0;gap:.6rem;margin:22px 0 0;padding:0;display:grid}.place-choice legend{color:var(--text);margin-bottom:.4rem;padding:0}.place-option{border:1px solid var(--line);cursor:pointer;border-radius:4px;align-items:flex-start;gap:.75rem;padding:.8rem .9rem;display:flex}.place-option:has(input:checked){background:#6d5e412e;border-color:#c8a96194}.place-option input{accent-color:var(--accent-strong);margin-top:.3rem}.place-option span{gap:.25rem;display:grid}.place-option strong{color:var(--text);font-weight:400}.place-option small{color:var(--soft);font-size:.88rem;line-height:1.6}.actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:22px;display:flex}.actions[hidden]{display:none}.voice-button{width:2.6rem;height:2.6rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;place-items:center;padding:0;transition:color .3s,border-color .3s,background .3s;display:inline-grid}.voice-button:hover:not(:disabled){color:var(--text);border-color:var(--line)}.voice-button:disabled{opacity:.5;cursor:default}.voice-button[data-recording]{color:#e7a3ae;background:#5a1a286b;border-color:#e07a8aa8}.voice-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.voice-icon-stop{fill:currentColor;stroke:none;display:none}.voice-button[data-recording] .voice-icon-mic{display:none}.voice-button[data-recording] .voice-icon-stop{display:block}.voice-status{min-height:1.2rem;color:var(--soft);margin:.3rem 0 0;font-size:.92rem}.voice-status:empty{min-height:0}.birth-screen{text-align:center;place-items:center;min-height:48vh;display:grid}.birth-star{background:radial-gradient(circle,#fffbe2 0 12%,#f3d47a 13% 32%,#f3d47a1a 58%,#0000 70%);border-radius:50%;width:7rem;height:7rem;margin:0 auto 28px;animation:1.6s forwards birth-pulse;box-shadow:0 0 60px #f3d47a73}@keyframes birth-pulse{0%{opacity:0;transform:scale(.22)}to{opacity:1;transform:scale(1)}}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-panel{padding:20px}.settings-panel p{color:var(--muted);line-height:1.7}.status-line{min-height:1.5rem;color:var(--accent)}.settings-panel-wide{grid-column:1/-1}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.25rem;display:flex}.panel-head h2{margin:0}.key-state{color:var(--soft);letter-spacing:.08em;align-items:center;gap:.55rem;margin:0;font-size:.86rem;display:inline-flex}.key-dot{background:#7f8cae73;border-radius:50%;width:.5rem;height:.5rem;transition:background .4s,box-shadow .4s}.key-dot[data-lit=true]{background:var(--accent-strong);box-shadow:0 0 12px #ecc46fbf}.field-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.field-row input{flex:18rem;width:auto;min-width:0}.feeling-lead{color:var(--text);letter-spacing:.04em;margin:0 0 .4rem;font-size:1.04rem;line-height:1.8}.feeling-chips{flex-wrap:wrap;gap:.8rem .7rem;padding:.9rem 0 1.1rem;display:flex}.feeling-chip{min-width:5.2rem;color:var(--muted);letter-spacing:.06em;box-shadow:none;background:#d6c8aa12;border:1px solid #cdb88c38;border-radius:1.2rem;flex-direction:column;align-items:center;gap:.25rem;padding:.6rem 1rem .5rem;font-size:.98rem;transition:background .5s,border-color .5s,color .5s,box-shadow .7s;display:inline-flex}.feeling-chip:hover{color:var(--text);background:#d6c8aa1f;border-color:#cdb88c66}.feeling-chip[aria-pressed=true]{color:var(--accent-strong);background:#ecc46f21;border-color:#ecc46f9e;box-shadow:0 0 18px #ecc46f2e}.motif{opacity:.6;width:2.8rem;height:2.45rem;transition:opacity .5s;overflow:visible}.feeling-chip:hover .motif,.feeling-chip[aria-pressed=true] .motif{opacity:.95}.motif path,.motif circle,.motif ellipse,.motif rect{stroke:currentColor;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round}.motif .m-body{fill:currentColor;fill-opacity:.14}.motif .m-line,.motif .m-ring{fill:none}.motif .m-dot{fill:currentColor;stroke:none}@media (width<=640px){.feeling-chips{gap:.5rem .45rem;padding:.6rem 0 .8rem}.feeling-chip{letter-spacing:.03em;border-radius:.95rem;gap:.1rem;min-width:4.1rem;padding:.4rem .55rem .3rem;font-size:.86rem}.motif{width:1.75rem;height:1.5rem}}.motif .m-ring{stroke-dasharray:2.2 2.6}.motif g,.motif .m-body,.motif .m-line,.motif .m-dot,.motif .m-ring{transform-box:fill-box;transform-origin:50%}.motif [class*=m-]{animation-duration:var(--drift-duration,7s);animation-delay:var(--drift-delay,0s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.motif-anxious .m-body{transform-origin:50% 100%;animation-name:m-tremble;animation-duration:calc(var(--drift-duration,7s) / 3)}@keyframes m-tremble{0%,to{transform:translate(0)scale(1)}20%{transform:translate(-.6px)scale(.97,1.04)}40%{transform:translate(.6px)scale(1.02,.98)}60%{transform:translate(-.4px)scale(.98,1.03)}80%{transform:translate(.4px)scale(1.01,.99)}}.motif-tired .m-droop{transform-origin:0 100%;animation-name:m-droop}@keyframes m-droop{0%,to{transform:rotate(0)}55%{transform:rotate(16deg)scaleY(.96)}}.motif-foggy .m-breathe{animation-name:m-breathe}.motif-foggy .m-wisp{animation-name:m-wisp}@keyframes m-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08,.93)}}@keyframes m-wisp{0%,to{opacity:.9;transform:translate(0)}50%{opacity:.35;transform:translate(2.5px)}}.motif-irritated .m-spike{animation-name:m-spike;animation-duration:calc(var(--drift-duration,7s) / 2)}@keyframes m-spike{0%,to{transform:scale(.94)rotate(0)}35%{transform:scale(1.08)rotate(6deg)}65%{transform:scale(.98)rotate(-4deg)}}.motif-lonely .m-float{animation-name:m-float}.motif-lonely .m-twinkle{animation-name:m-twinkle}@keyframes m-float{0%,to{transform:translate(0)scale(1)}40%{transform:translate(-1px,-3px)scale(.94,1.07)}70%{transform:translate(.5px,-1px)scale(1.04,.96)}}@keyframes m-twinkle{0%,to{opacity:.25}50%{opacity:1}}.motif-sad .m-fall{animation-name:m-fall;animation-timing-function:ease-in}@keyframes m-fall{0%{opacity:0;transform:translateY(0)scale(1)}15%{opacity:1}70%{opacity:1;transform:translateY(9px)scale(.92,1.1)}to{opacity:0;transform:translateY(12px)scale(1.3,.5)}}.motif-scared .m-shrink{animation-name:m-shrink}@keyframes m-shrink{0%,to{transform:scale(1)}40%,60%{transform:scale(.78)}45%{transform:scale(.78)translate(-.5px)}55%{transform:scale(.78)translate(.5px)}}.motif-tense .m-string{animation-name:m-string;animation-duration:calc(var(--drift-duration,7s) / 5)}@keyframes m-string{0%,to{transform:scaleY(1)}50%{transform:scaleY(-1)}}.motif-rushed .m-dash{animation-name:m-dash;animation-duration:calc(var(--drift-duration,7s) / 2.5)}@keyframes m-dash{0%,to{transform:translate(-2px)}50%{transform:translate(2.5px)scale(1.04,.96)}}.motif-torn .m-sway{animation-name:m-sway}@keyframes m-sway{0%,to{transform:translate(0)}25%{transform:translate(-3.5px,-2px)}75%{transform:translate(3.5px,-2px)}}.motif-looping .m-spin{animation-name:m-spin;animation-timing-function:linear}@keyframes m-spin{to{transform:rotate(360deg)}}.motif-selfblame .m-curl{animation-name:m-curl}@keyframes m-curl{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(-24deg)scale(.86)}}.motif-empty .m-hollow{animation-name:m-hollow;animation-duration:calc(var(--drift-duration,7s) * 1.5)}@keyframes m-hollow{0%,to{opacity:.9;transform:rotate(0)scale(1)}50%{opacity:.4;transform:rotate(90deg)scale(.93)}}.motif-low .m-sink{transform-origin:50% 100%;animation-name:m-sink}@keyframes m-sink{0%,to{transform:translateY(0)scale(1)}55%{transform:translateY(10px)scale(1)}70%{transform:translateY(10.5px)scale(1.25,.72)}85%{transform:translateY(9px)scale(.95,1.05)}}.motif-worn .m-press{animation-name:m-press}.motif-worn .m-squash{transform-origin:50% 100%;animation-name:m-squash}@keyframes m-press{0%,to{transform:translateY(0)}55%{transform:translateY(2.2px)}}@keyframes m-squash{0%,to{transform:scale(1)}55%{transform:scale(1.14,.8)}}.motif-relieved .m-relax{animation-name:m-relax}.motif-relieved .m-breath{transform-origin:0 100%;animation-name:m-breath}@keyframes m-relax{0%,to{transform:scale(1)}45%{transform:scale(1.06,.95)}}@keyframes m-breath{0%,30%{opacity:0;transform:scale(.6)}55%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)translate(1px,-1px)}}.motif-glad .m-bounce{transform-origin:50% 100%;animation-name:m-bounce;animation-duration:calc(var(--drift-duration,7s) / 2.5)}@keyframes m-bounce{0%,to{transform:translateY(0)scale(1.06,.94)}45%{transform:translateY(-3.5px)scale(.96,1.05)}}.motif-grateful .m-beat{animation-name:m-beat;animation-duration:calc(var(--drift-duration,7s) / 2.5)}@keyframes m-beat{0%,to{transform:scale(1)}20%{transform:scale(1.1)}35%{transform:scale(.98)}50%{transform:scale(1.06)}}.motif-clear .m-sparkle{animation-name:m-sparkle}@keyframes m-sparkle{0%,to{opacity:.7;transform:scale(.85)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(45deg)}}.motif-calm{overflow:hidden}.motif-calm .m-wave{transform-box:view-box;animation-name:m-wave;animation-timing-function:linear;animation-duration:calc(var(--drift-duration,7s) * .8)}@keyframes m-wave{0%{transform:translate(0)}to{transform:translate(8px)}}.motif-blank .m-haze{animation-name:m-haze}@keyframes m-haze{0%,to{opacity:.85;filter:blur();transform:scale(1)}50%{opacity:.3;filter:blur(1px);transform:scale(1.1)}}.motif-unsure .m-tilt{transform-origin:50% 100%;animation-name:m-tilt}@keyframes m-tilt{0%,to{transform:rotate(-10deg)translateY(0)}50%{transform:rotate(10deg)translateY(-1.5px)}}@media (prefers-reduced-motion:reduce){.motif [class*=m-]{animation:none}}.actions button:disabled{opacity:.4;cursor:default}.close-tags-label{color:var(--text);margin-top:28px}#memo{min-height:var(--field-min-short)}.tag-chips{flex-wrap:wrap;gap:.5rem;display:flex}.tag-chip{border-radius:999px;min-height:0;padding:.42rem .85rem;font-size:.88rem;line-height:1.4}.tag-chip[aria-pressed=true]{border-color:var(--accent-strong);color:var(--accent-strong);background:#ecc46f24}.form-field select{max-width:30rem}.form-field input[type=password]{letter-spacing:.12em}.form-help[data-key-saved]{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.form-help[hidden]{display:none}[data-key-masked]{color:var(--muted);letter-spacing:.06em}.form-field textarea.guide-input{min-height:var(--field-min-short)}.actions-start{justify-content:flex-start;margin-top:16px}.toggle-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.2rem 1.8rem;display:flex}.toggle-row>div{flex:22rem}.toggle-row h2{margin-top:0}.switch{cursor:pointer;flex-shrink:0;align-items:center;gap:.7rem;display:inline-flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-track{border:1px solid var(--line);background:#030706b8;border-radius:999px;width:3rem;height:1.6rem;transition:background .2s,border-color .2s;position:relative}.switch-track:after{content:"";background:var(--soft);border-radius:50%;width:1rem;height:1rem;transition:transform .2s,background .2s,box-shadow .2s;position:absolute;top:.22rem;left:.26rem}.switch input:checked+.switch-track{background:#f3d47a1f;border-color:#f3d47a99}.switch input:checked+.switch-track:after{background:var(--accent-strong);transform:translate(1.3rem);box-shadow:0 0 10px #ecc46f99}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:3px}.switch-label{color:var(--text);font-size:.92rem}.link-button{border:0;border-bottom:1px solid var(--line);min-height:0;color:var(--soft);background:0 0;border-radius:0;padding:0;font-size:.86rem}.link-button:hover{border-color:var(--accent);color:var(--accent);background:0 0}main.app-shell.home-shell{--overlay-top:88px;grid-template:1fr/1fr;width:100%;max-width:none;padding:0;display:grid}main.app-shell.home-shell>.topbar,main.app-shell.home-shell>.universe{grid-area:1/1}main.app-shell.home-shell>.topbar{z-index:2;pointer-events:none;background:linear-gradient(#070a1b9e,#070a1b00);align-self:start;margin:0;padding:20px clamp(16px,3vw,40px)}main.app-shell.home-shell>.topbar a{pointer-events:auto}main.app-shell.home-shell>.universe{height:100dvh;min-height:0}@media (width<=820px){.cards,.settings-grid,.mode-cards{grid-template-columns:1fr}.mode-card{min-height:0}.topbar{flex-direction:column;align-items:flex-start}main.app-shell.home-shell{--overlay-top:84px}main.app-shell.home-shell>.topbar{flex-direction:row;align-items:center;gap:.5rem;padding:14px 16px}main.app-shell.home-shell .nav-links{flex-wrap:nowrap;gap:.15rem}main.app-shell.home-shell .nav-links a{padding:.5rem .45rem;font-size:.86rem}main.app-shell.home-shell .brand{letter-spacing:.08em;gap:.5rem;font-size:.94rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}.brand span,.page-title,.step-title,.method-card h2,.settings-panel h2,.mode-card h2,.star-panel h1,.empty-copy,.reflect-focus,.birth-screen h1,.birth-screen p,button,.button{font-family:var(--font-display);font-synthesis-weight:none;letter-spacing:.08em;font-weight:400}.page-title{letter-spacing:.12em;color:#f6f9ff;text-shadow:0 0 28px #8caaff2e;line-height:1.5}.step-title{letter-spacing:.16em;color:#f6f9ff;line-height:1.5}.method-card h2{letter-spacing:.1em;font-size:1.24rem;line-height:1.5}.settings-panel h2{letter-spacing:.1em;font-size:1.18rem;line-height:1.5}.star-panel h1{letter-spacing:.1em;line-height:1.5}main.app-shell>.universe .empty-copy{letter-spacing:.16em;color:#cdd8f5;text-shadow:0 0 32px #789bf038;font-size:clamp(1.02rem,1.5vw,1.24rem);line-height:2.1}main.app-shell>.universe .reflect-focus{letter-spacing:.06em;line-height:1.95}main.app-shell{flex-direction:column;min-height:100dvh;display:flex}main.app-shell>.universe{flex:auto;height:auto;min-height:0}.method-card h2{font-family:var(--font-display);font-synthesis-weight:none;letter-spacing:.12em;color:#f2f6ff;order:-1;margin:0 0 .85rem;font-size:clamp(1.24rem,1.9vw,1.5rem);font-weight:400;line-height:1.5}.method-card .method-name{font-family:var(--font-body);letter-spacing:.14em;color:var(--accent);order:0;margin:0 0 1.05rem;font-size:.88rem}.method-card p{order:1}.method-card .duration{letter-spacing:.06em;order:2}.method-card .button{order:3}.method-card{gap:0;padding:26px 24px}.work-progress{align-items:center;gap:.55rem;margin-bottom:26px}.progress-steps{letter-spacing:.06em;flex-wrap:wrap;align-items:center;gap:.35rem 0;margin:0;padding:0;font-size:18px;list-style:none;display:flex}.progress-step{color:var(--soft);transition:color .4s}.progress-step+.progress-step:before{content:"›";color:#bac7e857;margin:0 .7rem}@media (width<=640px){.progress-steps{letter-spacing:0}.progress-step+.progress-step:before{margin:0 .35rem}}.progress-step[data-state=done]{color:var(--muted)}.progress-step[data-state=active]{color:#ecc46ff2}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.work-panel{padding:32px 28px}.step-content{letter-spacing:.04em;color:var(--muted);font-size:1.04rem;line-height:2.05}.form-field label{letter-spacing:.06em}.form-help{letter-spacing:.04em;line-height:1.85}.birth-screen{gap:0;min-height:60vh}.birth-star{background:radial-gradient(circle,#fffdf2 0 10%,#ecc46f 12% 28%,#ecc46f29 54%,#0000 72%);width:9rem;height:9rem;margin-bottom:40px;animation-duration:2.6s;box-shadow:0 0 90px #ecc46f66}.birth-screen h1,.birth-screen p{letter-spacing:.18em;color:#f2f6ff;font-size:clamp(1.12rem,1.8vw,1.4rem);line-height:2}@media (width<=820px){.method-card{min-height:0;padding:22px 20px}.work-panel{padding:24px 20px}}.chat-panel{border:1px solid var(--line);background:#03070685;border-radius:8px;margin-top:16px;padding:18px}.chat-privacy{color:var(--soft);margin:0 0 14px;font-size:.84rem;line-height:1.7}.chat-panel-full{margin-top:20px}.chat-panel-full .chat-log{min-height:18rem;max-height:30rem}.chat-log{flex-direction:column;gap:12px;max-height:22rem;margin-bottom:14px;padding:2px;display:flex;overflow-y:auto}.chat-log[data-empty=true]{justify-content:center}.chat-hint{color:var(--soft);text-align:center;margin:0;padding:1.4rem 1rem;line-height:1.8}.chat-turn{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #0000;border-radius:16px;max-width:82%;margin:0;padding:.75rem 1rem;line-height:1.8}.chat-turn-user{color:var(--text);background:#60796c29;border-color:#8fa9a03d;border-bottom-right-radius:5px;align-self:flex-end}.chat-turn-assistant{border-color:var(--line);color:var(--muted);background:#131c18c7;border-bottom-left-radius:5px;align-self:flex-start}.chat-policy{z-index:1;border:1px solid var(--line);color:var(--soft);background:#0c120feb;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:.35rem .9rem;margin-bottom:.6rem;padding:.5rem .8rem;font-size:.74rem;display:flex;position:sticky;top:0}.chat-policy-mode{color:var(--text);font-weight:600}.chat-policy[data-rejected=true] .chat-policy-mode{color:var(--soft)}.policy-chart{border:1px solid var(--line);color:var(--muted);background:#0c120fb3;border-radius:12px;margin-top:1.2rem;padding:.9rem 1rem;font-size:.8rem}.policy-chart-head{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-bottom:.7rem;display:flex}.policy-chart-title{color:var(--text);font-weight:600}.policy-chart-elapsed{color:var(--soft);font-variant-numeric:tabular-nums;margin-left:auto}.policy-chip{border:1px solid var(--line);color:var(--text);white-space:nowrap;border-radius:999px;justify-self:start;padding:.1rem .55rem;font-size:.74rem}.policy-chip[data-state=adopted]{color:var(--accent);border-color:#8fa9a099}.policy-chip[data-state=rejected],.policy-chip[data-state=none]{color:var(--soft)}.policy-sky{flex-wrap:wrap;justify-content:space-around;gap:1.2rem .6rem;padding:.8rem 0 .2rem;display:flex}.policy-star{flex-direction:column;align-items:center;gap:.9rem;min-width:5.5rem;margin:0;display:flex}.policy-star-glow{width:16px;height:16px;opacity:calc(.18 + .82 * var(--v));box-shadow:0 0 calc(2px + 14px * var(--v)) calc(1px + 4px * var(--v)) rgba(255, 244, 214, calc(.15 + .55 * var(--v))), 0 0 calc(8px + 40px * var(--v)) calc(2px + 14px * var(--v)) rgba(205, 169, 99, calc(.05 + .3 * var(--v)));background:radial-gradient(circle,#fffaf0 0%,#f1e5cb 45%,#f1e5cb59 100%);border-radius:50%;transition:opacity .6s,box-shadow .6s;animation:4.2s ease-in-out infinite policy-star-breathe}.policy-star:nth-child(2) .policy-star-glow{animation-delay:-.8s}.policy-star:nth-child(3) .policy-star-glow{animation-delay:-1.7s}.policy-star:nth-child(4) .policy-star-glow{animation-delay:-2.5s}.policy-star:nth-child(5) .policy-star-glow{animation-delay:-3.3s}@keyframes policy-star-breathe{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.15);transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.policy-star-glow{animation:none}}.policy-star figcaption{text-align:center;flex-direction:column;align-items:center;gap:.2rem;display:flex}.policy-star-name{color:var(--muted);white-space:nowrap;font-size:.78rem}.policy-star-state{color:var(--text);font-size:.8rem}.policy-star-value{color:var(--soft);font-variant-numeric:tabular-nums;font-size:.7rem}.policy-star-value small{font-size:inherit}.policy-chart[data-rejected=true] .policy-star-glow{filter:saturate(.4);opacity:calc(.12 + .45 * var(--v))}.chat-typing{align-items:center;gap:.4rem;padding:.95rem 1.05rem;display:inline-flex}.chat-typing span{background:var(--soft);border-radius:50%;width:.4rem;height:.4rem;animation:1.2s ease-in-out infinite chat-typing}.chat-typing span:nth-child(2){animation-delay:.18s}.chat-typing span:nth-child(3){animation-delay:.36s}@keyframes chat-typing{0%,60%,to{opacity:.28;transform:translateY(0)}30%{opacity:.9;transform:translateY(-2px)}}@keyframes chat-piece-in{0%{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur()}}.chat-piece{animation:.9s ease-out both chat-piece-in}@media (prefers-reduced-motion:reduce){.chat-typing span{opacity:.5;animation:none}.chat-piece{animation:none}}.chat-composer{width:55%;margin-left:auto}.chat-form{gap:.65rem;display:grid}.chat-input-frame{border:1px solid var(--line);background:#030706b8;border-radius:20px;width:100%;min-width:0;padding:.7rem .95rem;display:flex}.chat-input-frame:focus-within{border-color:#f3d47a73}.chat-form textarea{width:100%;min-width:0;min-height:8rem;max-height:20rem;color:var(--text);resize:none;background:0 0;border:none;flex:1;padding:0;line-height:1.7;overflow-y:hidden}.chat-form textarea:focus{outline:none}.chat-actions{justify-content:flex-end;align-items:center;gap:.5rem;min-height:2.6rem;display:flex}.chat-send{min-height:2.6rem;color:var(--text);cursor:pointer;background:#f3d47a29;border:1px solid #f3d47a6b;border-radius:999px;padding:.5rem 1.15rem}.chat-send:hover{border-color:#f3d47ab3}.chat-input-frame textarea::placeholder{color:var(--soft);opacity:.85;white-space:pre-line}.chat-requests{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.chat-request{min-height:0;color:var(--muted);letter-spacing:.04em;cursor:pointer;background:#d6c8aa12;border:1px solid #cdb88c38;border-radius:999px;padding:.4rem .95rem;font-size:.86rem;transition:background .5s,border-color .5s,color .5s,box-shadow .7s}.chat-request:hover{color:var(--text);background:#d6c8aa1f;border-color:#cdb88c66}.chat-request[aria-pressed=true]{color:var(--accent-strong);background:#ecc46f21;border-color:#ecc46f9e;box-shadow:0 0 18px #ecc46f2e}.chat-enter-hint{color:var(--soft);letter-spacing:.04em;margin:8px 0 0;font-size:.78rem}.chat-status{min-height:1.2rem;color:var(--soft);margin:10px 0 0;font-size:.86rem}@media (width<=640px){.chat-turn{max-width:90%}.chat-composer{width:100%}}.birth-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:8px;display:flex}.webmcp-scope{border:1px solid var(--line);background:#03070659;border-radius:6px;margin:1rem 0 .4rem;padding:.9rem 1rem}.webmcp-scope h3{color:var(--text);letter-spacing:0;margin:0 0 .5rem;font-size:.94rem}.webmcp-scope ul{color:var(--muted);margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.7}.webmcp-scope li+li{margin-top:.35rem}.webmcp-log{z-index:40;border:1px solid var(--line);background:var(--bg-panel);width:min(22rem,100vw - 32px);box-shadow:var(--shadow);backdrop-filter:blur(6px);border-radius:8px;padding:.85rem 1rem;position:fixed;bottom:16px;right:16px}.webmcp-log[hidden]{display:none}.webmcp-log-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.webmcp-log-head strong{color:var(--accent);font-size:.9rem;font-weight:600}.webmcp-log ul{margin:0;padding:0;list-style:none}.webmcp-log li{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.84rem;line-height:1.7}@media (width<=640px){.webmcp-log{width:auto;bottom:12px;left:12px;right:12px}}.history-filters{gap:8px;margin-top:20px;display:grid}.history-filter-row{flex-wrap:wrap;gap:6px;display:flex}.history-filter-trash{margin-top:6px}.history-chip{border:1px solid var(--line);min-height:2rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.32rem .8rem;font-size:.86rem}.history-chip[aria-pressed=true]{border-color:var(--accent-strong);color:var(--accent-strong);background:#c8a96124}.history-list{gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.history-item{border:1px solid var(--line);background:var(--bg-panel);border-radius:6px}.history-head{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:auto auto auto 1fr auto;align-items:center;gap:12px;width:100%;padding:14px 16px;display:grid}.history-date{color:var(--soft);white-space:nowrap;font-size:.86rem}.history-method{color:var(--accent);white-space:nowrap;font-size:.9rem}.history-mood{color:var(--accent-strong);letter-spacing:.06em;white-space:nowrap;font-size:.86rem}.history-summary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-badge{color:var(--soft);letter-spacing:.08em;font-size:.72rem}.history-status{color:var(--soft);margin:20px 0 0}.history-detail{border-top:1px solid var(--line);padding:0 16px 16px}.history-step{margin-top:14px}.history-step-label{color:var(--soft);letter-spacing:.08em;margin:0 0 4px;font-size:.8rem}.history-step-body{color:var(--text);white-space:pre-wrap;margin:0;line-height:1.9}.history-turn{white-space:pre-wrap;border-radius:6px;margin:8px 0 0;padding:.6rem .9rem;line-height:1.8}.history-turn-user{color:var(--text);background:#60796c29}.history-turn-assistant{color:var(--muted);background:#131c18c7}.history-edit{gap:10px;margin-top:18px;display:grid}.history-edit-field{color:var(--soft);gap:4px;font-size:.86rem;display:grid}.history-edit-field input,.history-edit-field textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#030706b8;border-radius:4px;padding:.6rem}.history-edit-actions{align-items:center;gap:12px;display:flex}.history-saved{color:var(--accent-strong);font-size:.84rem}.history-danger{gap:10px;margin-top:4px;display:flex}.history-purge{color:#e2b7ae;border-color:#be6e5f80}.history-purge:hover{background:#be6e5f1f;border-color:#d68272cc}@media (width<=640px){.history-head{grid-template-columns:auto auto 1fr;row-gap:6px}.history-summary{white-space:normal;grid-column:1/-1}.history-mood{justify-self:end}}.history-detail-title{font-family:var(--font-display);color:var(--text);margin:14px 0 0;font-size:1.1rem;line-height:1.7}.history-vault-note{color:var(--soft);margin:0 0 4px;font-size:.8rem;line-height:1.7}.history-filter-period{border-top:1px solid var(--line);margin-top:6px;padding-top:14px}@media (width<=640px){.app-shell{width:100%;padding:16px 16px 28px}.work-panel,.chat-panel-full{width:100%;min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0}.work-panel{padding:0}.chat-panel-full{margin-top:16px;padding:0}.chat-panel-full .chat-log{min-height:clamp(12rem,34dvh,20rem);max-height:46dvh}.chat-composer{width:100%;min-width:0;margin-left:0}.chat-form{width:100%;min-width:0}.chat-form textarea{min-width:0;max-width:100%;min-height:8rem}}.feeling-orbs{--orb-size:min(17rem, 78vw);width:100%;margin:0 auto 36px}.feeling-orbs-pair{justify-content:center;align-items:center;gap:clamp(.6rem,2.4vw,1.6rem);display:flex}.feeling-orb-wrap{flex-direction:column;align-items:center;gap:.7rem;margin:0;display:flex}.feeling-orb-wrap figcaption{letter-spacing:.32em;color:var(--soft);font-size:.78rem}.feeling-orb{width:var(--orb-size);height:var(--orb-size);background:radial-gradient(circle at 50% 42%,#d6c8aa14,#0c102066 70%);border:1px solid #cda9634d;border-radius:50%;transition:border-color 1.2s,box-shadow 1.2s;position:relative;overflow:hidden}.feeling-orb:before{content:"";pointer-events:none;border:1px dashed #cda96329;border-radius:50%;position:absolute;inset:10px}.feeling-orb.is-lit{border-color:#ecc46f8c;box-shadow:0 0 40px #ecc46f24}.feeling-orb-light{pointer-events:none;background:radial-gradient(circle,#fff4cd57,#ecc46f29 45%,#0000 70%);border-radius:50%;width:0;height:0;transition:width 1.6s,height 1.6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orb-twinkle{opacity:.2;pointer-events:none;background:#f3e3b3;border-radius:50%;width:3px;height:3px;animation:3.6s ease-in-out infinite orb-twinkle;position:absolute}.orb-chip{--s:1;min-width:3.3rem;color:var(--muted);letter-spacing:.04em;white-space:nowrap;transform:translate(-50%, -50%) scale(var(--s));background:#d6c8aa12;border:1px solid #cdb88c38;border-radius:.95rem;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .6rem .25rem;font-size:.82rem;line-height:1.4;transition:left 1.4s,top 1.4s,transform 1.4s cubic-bezier(.34,1.3,.64,1),opacity .9s,color .9s,border-color .9s,background .9s,box-shadow .9s;animation:5.2s ease-in-out infinite orb-float;display:inline-flex;position:absolute}.orb-chip .motif{width:1.6rem;height:1.4rem}.orb-chip.is-small{opacity:.8}.orb-chip.is-lit{color:var(--accent-strong);background:#ecc46f21;border-color:#ecc46f9e;box-shadow:0 0 18px #ecc46f2e}.orb-chip.is-lit .motif{opacity:.95}.orb-chip.is-seed{opacity:0}.orb-spark{opacity:0;pointer-events:none;background:#f6dc98;border-radius:50%;width:4px;height:4px;animation:3.2s ease-out infinite orb-rise;position:absolute;box-shadow:0 0 6px #f6dc98cc}.feeling-orbs-link{flex:none;width:2.2rem;height:1rem;overflow:visible}.feeling-orbs-link path{fill:none;stroke:#cda96366;stroke-width:1px;stroke-dasharray:1.5 2.5;stroke-linecap:round}.feeling-orbs-link .feeling-orbs-link-star{fill:#c8a961;fill-opacity:.75;stroke:none}.birth-screen .feeling-orbs-message{letter-spacing:.12em;max-width:36rem;color:var(--muted);opacity:0;margin:1.6rem auto 0;font-size:.95rem;line-height:1.9;transition:opacity 1.4s}.birth-screen .feeling-orbs-message.is-shown{opacity:1}@keyframes orb-float{0%,to{translate:0}50%{translate:0 -3px}}@keyframes orb-twinkle{0%,to{opacity:.15}50%{opacity:.7}}@keyframes orb-rise{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:.9}to{opacity:0;transform:translate(var(--dx,0), -34px) scale(1)}}@media (width<=640px){.feeling-orbs{--orb-size:min(16rem, 76vw)}.feeling-orbs-pair{flex-direction:column;gap:.4rem}.feeling-orbs-link{margin:.3rem 0;transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.orb-chip,.orb-twinkle{animation:none}.orb-chip,.feeling-orb,.feeling-orb-light,.birth-screen .feeling-orbs-message{transition:none}.orb-spark{display:none}}[data-tag-form] .field-row input[data-tag-input]{border:1px solid var(--line);min-height:3.6rem;color:var(--text);letter-spacing:.04em;background:#030706b8;border-radius:4px;flex:0 50%;padding:.9rem 1rem}@media (width<=640px){[data-tag-form] .field-row input[data-tag-input]{flex-basis:100%}}
