@charset "UTF-8";
:root{--paper:#fbf5e9;--surface:#fffbf2;--ink:#232a45;--muted:#73776f;--line:#e6e1d6;--hachi:#a07e2c;--hachi-soft:#f7edcc;--yuki:#527e95;--yuki-soft:#e7f2f7;--green:#536e59;--radius:22px;--shadow:0 12px 42px #594b2910;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;--sans:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,summary,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #7399a9;outline-offset:4px}button,summary{touch-action:manipulation}button{transition:background .2s,transform .2s,box-shadow .2s}button:not(:disabled):active{transform:translateY(1px)}[hidden]{display:none!important}svg{width:19px;height:19px;vertical-align:middle;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:12px;left:12px;padding:10px 18px;background:var(--ink);color:white;z-index:100;transform:translateY(-140%);border-radius:8px}.skip:focus{transform:none}.room-light{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 8% 24%,#e7f0ef90 0,transparent 44%),radial-gradient(ellipse at 89% 25%,#fff9df 0,transparent 42%),linear-gradient(120deg,transparent 35%,#ffffff35 35.1%,#ffffff35 53%,transparent 53.1%)}
.site-header{max-width:1344px;margin:auto;min-height:100px;padding:24px 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;padding:0;font-family:var(--serif);font-size:25px;letter-spacing:2px;white-space:nowrap}.brand-mark{font-family:var(--serif);font-size:20px;width:39px;height:39px;border:1px solid #c6b68e;border-radius:50%;display:grid;place-items:center;color:#967c41;transform:rotate(-8deg)}.brand small{font-family:var(--sans);font-size:14px;letter-spacing:2px}.brand-divider{font-family:var(--sans);font-size:17px;color:#b5b4a6;margin:0 5px}.site-header nav{display:flex;align-items:center;gap:22px}.nav-link,.account-button{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;font-size:13px}.nav-link:hover{background:#fff9}.nav-link[aria-current=page]{color:var(--yuki)}.account-button{border:1px solid #dedcd0;padding:9px 17px;background:#fff7}.account-button:hover{background:var(--surface);box-shadow:0 3px 12px #4a403509}.account-button span:last-child{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count{min-width:20px;height:20px;display:grid;place-items:center;background:#e8e9de;font-size:10px;border-radius:50%;font-family:var(--sans)}main{min-height:calc(100vh - 200px);outline:none}.boot-message{text-align:center;padding:150px 20px;color:var(--muted)}.site-footer{max-width:1248px;margin:50px auto 0;padding:22px 0 28px;display:flex;align-items:center;gap:26px;color:#87887d;font-size:11px;border-top:1px solid #e6e0d5}.site-footer>span:nth-child(2){margin-left:auto}.site-footer i{font-style:normal;margin-left:12px}.footer-flower{color:#bdaf8f;font-size:22px}.quiet{padding:7px 0;color:var(--muted);display:inline-flex;gap:7px;align-items:center;font-size:12px}.quiet:hover{color:var(--ink)}.quiet svg{width:15px;height:15px}.overline{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--hachi);font-weight:600;margin:0 0 12px}.muted{color:var(--muted)}.fine-print{font-size:11px;line-height:1.8;color:#838579}.page-enter{animation:arrive .45s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.home{max-width:1280px;margin:auto;padding:23px 42px 0;position:relative}.welcome{text-align:center;position:relative;z-index:1;margin-bottom:32px}.open-label{display:inline-flex;align-items:center;gap:8px;border:1px solid #e3dfd0;border-radius:30px;background:#fff9;padding:5px 13px;font-size:11px;color:#808171;margin-bottom:17px}.open-dot{width:5px;height:5px;background:#98ad91;border-radius:50%;box-shadow:0 0 0 3px #98ad9115}.welcome h1{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.5;letter-spacing:2px;margin:0 0 12px}.welcome h1 em{font-style:normal;color:#7c8a7a}.desk{position:relative;max-width:1136px;margin:auto;padding:0 180px}.desk:after{content:"";position:absolute;top:calc(100% - 25px);height:42px;left:25px;right:25px;border-radius:50%;background:radial-gradient(ellipse,#c9af7e24,transparent 70%);z-index:-1}.character{position:absolute;bottom:20px;width:220px;z-index:2;padding:0;display:flex;flex-direction:column;align-items:center;isolation:isolate}.character.hachiman{left:-22px}.character.yukino{right:-22px}.character-image{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 12px #544a3310);transition:transform .4s;animation:breathe 6s ease-in-out infinite}.character.yukino .character-image{animation-delay:-3s}.character:hover .character-image{transform:translateY(-7px) rotate(-2deg);animation-play-state:paused}.character:focus-visible{border-radius:30px}.character:after{content:"";position:absolute;width:100px;height:15px;background:#84734815;border-radius:50%;bottom:38px;z-index:-1;filter:blur(3px)}.character-name{display:flex;align-items:center;gap:7px;color:#887344;font-size:11px;letter-spacing:2px}.character-name:before{content:"";width:16px;height:1px;background:currentColor}.yukino .character-name{color:#6c93a6}.character-bubble{position:absolute;bottom:calc(100% - 12px);width:168px;background:#fffdfa;border:1px solid #e8e1ce;padding:11px 15px;border-radius:17px 17px 5px 17px;font-size:11px;line-height:1.8;text-align:left;box-shadow:0 4px 12px #82704d08;transform:rotate(-3deg);transition:transform .3s}.yukino .character-bubble{border-color:#dce6e7;transform:rotate(3deg);border-radius:17px 17px 17px 5px}.character:hover .character-bubble,.character.talking .character-bubble{transform:translateY(-5px) rotate(0)}.character.talking .character-image{animation:nod .5s ease-out}.desk.listening .character-image{transform:translateY(-5px);animation-play-state:paused}.desk.listening .character-bubble{border-color:#cfcea9}.desk.listening .yukino .character-bubble{border-color:#b9d1d7}@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes nod{0%,100%{transform:none}35%{transform:translateY(-10px) rotate(-3deg)}70%{transform:translateY(-3px) rotate(2deg)}}
.letter{background:var(--surface);border:1px solid #e6e0d2;border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 30px 22px;position:relative;z-index:3;transition:box-shadow .3s,border-color .3s}.letter:before{content:"";position:absolute;width:66px;height:20px;background:#dfd4aa7a;top:-11px;left:calc(50% - 33px);transform:rotate(-3deg);clip-path:polygon(2% 0,100% 6%,98% 94%,0 100%)}.letter:focus-within{box-shadow:0 12px 50px #8e80551b;border-color:#d6cbb4}.letter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.letter-heading label{font-size:13px;letter-spacing:1px;font-weight:600}.letter-no{font-family:Georgia,serif;color:#b8b2a2;font-size:11px;letter-spacing:1px}.question-input{display:block;resize:vertical;min-height:146px;max-height:420px;width:100%;border:0;background:transparent;color:var(--ink);line-height:1.9;padding:4px 0 12px;font-size:14px;outline:none!important}.question-input::placeholder{color:#9c9c91}.input-note{display:flex;align-items:center;justify-content:space-between;color:#9b9c90;font-size:10px;gap:10px;margin-bottom:15px}.char-count{font-variant-numeric:tabular-nums;white-space:nowrap}.optional{border-top:1px dashed #e3ded2;border-bottom:1px dashed #e3ded2;margin:0 0 20px}.optional summary{padding:12px 0;cursor:pointer;list-style:none;font-size:11px;color:#7e8175;display:flex;justify-content:space-between;align-items:center}.optional summary::-webkit-details-marker{display:none}.optional summary svg{width:14px;height:14px;transition:transform .2s}.optional[open] summary svg{transform:rotate(45deg)}.optional-fields{padding:2px 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.optional-fields label{font-size:11px;color:var(--muted);display:block}.optional-fields textarea{display:block;resize:vertical;min-height:76px;padding:10px 12px;line-height:1.7;font-size:12px;border:1px solid var(--line);border-radius:10px;background:#faf9f4;width:100%;margin-top:7px;color:var(--ink)}.optional-fields textarea::placeholder{color:#a0a195}.field-wide{grid-column:1/-1}.optional-fields select{margin-top:7px}.model-picker{border-top:1px solid #eee9dc;padding-top:14px;grid-column:1/-1}.model-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:10px}.engine-switch{display:inline-flex;gap:3px;padding:3px;background:#f0eee6;border-radius:9px}.engine-switch button{padding:6px 13px;border-radius:7px;font-size:11px;color:var(--muted)}.engine-switch button[aria-pressed=true]{background:white;box-shadow:0 1px 5px #39331d10;color:var(--ink)}.model-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.model-row select{font-size:12px;max-width:220px;margin:0}.model-ready{font-size:10px;color:#898c7f;display:inline-flex;align-items:center;gap:5px}.model-ready:before{content:"";width:5px;height:5px;background:#c0b8a4;border-radius:50%}.model-ready.ready:before{background:#8aa68b}.model-picker .fine-print{margin-bottom:0}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.source-note{color:#8b8f81;font-size:10px;display:flex;gap:5px;align-items:flex-start;max-width:210px;line-height:1.7}.source-note svg{width:13px;height:13px;margin-top:2px}.source-note button{padding:0;font-size:10px;text-decoration:underline;text-underline-offset:3px;text-align:left;color:inherit}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:11px;padding:12px 19px;line-height:1.45;font-size:12px;font-weight:500;white-space:nowrap}.primary{color:#fffdf7;background:#536b58;box-shadow:0 3px 8px #46583d15}.primary:hover{background:#465f4c;box-shadow:0 6px 15px #46583d24;transform:translateY(-2px)}.primary svg{width:17px}.secondary{border:1px solid #deddd0;background:#fff8;color:#686e63}.secondary:hover{background:white}.danger{background:#a65a4d;color:white}.icon-button{display:inline-grid;place-items:center;min-width:34px;min-height:34px;border-radius:9px;color:var(--muted)}.icon-button:hover{background:#eceae0}.icon-button svg{width:17px;height:17px}.full{width:100%}.error{font-size:12px;color:#aa5e4b;margin:8px 0 12px}.error:empty{display:none}.room-after{text-align:center;max-width:720px;margin:22px auto 0;position:relative;z-index:4}.prompt-chips{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.prompt-chip{border:1px solid #e2ded0;border-radius:30px;color:#828474;font-size:11px;padding:6px 13px;background:#fff5}.prompt-chip:hover{border-color:#c6c5b5;background:#fff}.demo-link{font-size:11px;margin-top:16px;color:#7f8e82;display:inline-flex;align-items:center;gap:6px}.demo-link svg{width:14px}.paper-flight{position:absolute;inset:0;background:var(--surface);border-radius:var(--radius);display:grid;place-items:center;z-index:20;animation:letter-leave .7s ease-in both;pointer-events:none}.paper-flight svg{width:80px;height:80px;color:#ab9666}@keyframes letter-leave{0%{opacity:0;transform:scale(.9)}20%{opacity:1;transform:scale(1)}65%{opacity:1;transform:translateY(-10px) rotate(-2deg)}100%{opacity:0;transform:translate(90px,-90px) rotate(8deg) scale(.5)}}
.page{max-width:1020px;margin:24px auto 0;padding:0 28px}.page-intro{margin:20px 0 32px}.page-intro h1,.report-title{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.6;letter-spacing:1px;margin:0 0 9px}.page-intro>p{font-size:12px;color:var(--muted);margin:0}.back-link{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);padding:6px 0}.back-link svg{width:15px}.history-toolbar{display:flex;gap:12px;margin:24px 0 18px}input,select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--ink);min-width:0}input[type=search]{flex:1;min-width:0}select{max-width:100%;font-size:12px}.history-meta{display:flex;align-items:center;justify-content:space-between;margin:12px 0 17px;color:var(--muted);font-size:11px}.history-list{display:grid;gap:11px}.history-card{display:flex;width:100%;text-align:left;align-items:center;justify-content:space-between;gap:18px;background:var(--surface);padding:20px 24px;border-radius:16px;border:1px solid #e6e1d5;box-shadow:0 3px 12px #6e604a03}.history-card:hover{border-color:#c9c9b6;transform:translateY(-2px);box-shadow:var(--shadow)}.history-card h2{font-size:14px;font-weight:500;margin:9px 0;line-height:1.7;overflow-wrap:anywhere}.history-card p{font-size:10px;color:#909184;margin:0}.history-card>svg{width:17px;color:#a1a18e}.tag{display:inline-flex;align-items:center;font-size:10px;padding:3px 8px;border-radius:5px;background:#f1f0e7;color:#8b8a73;margin-right:5px}.tag.spring{background:#ecf1eb;color:#728775}.tag.running{background:#f7ecd0;color:#9c8038}.tag.failed{background:#f9ece7;color:#a36b58}.empty-state{text-align:center;padding:70px 20px;border:1px dashed #d8d6c8;border-radius:22px;background:#fff5}.empty-state>svg{width:36px;height:36px;color:#b3ad97}.empty-state h2{font-family:var(--serif);font-weight:400;font-size:24px;margin:12px 0}.empty-state p{font-size:12px;color:var(--muted);max-width:520px;margin:0 auto 22px;overflow-wrap:anywhere}.empty-state .quiet{display:block;margin:14px auto 0}.history-login{padding:10px 0}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.report-tools{display:flex;gap:4px}.report-tools .quiet{padding:6px 10px}.report-tools .quiet:hover{background:#eae8de;border-radius:7px}.report-heading{text-align:center;margin:22px auto 28px;max-width:780px}.report-heading .overline{color:#89977d;letter-spacing:3px}.report-heading h1{margin-bottom:14px}.report-heading>p:not(.overline){font-size:13px;color:var(--muted);line-height:1.9}.question-fold{border:1px solid var(--line);border-radius:13px;background:#fff7;margin-bottom:24px;font-size:12px}.question-fold summary{padding:12px 17px;cursor:pointer;color:#7f8274;overflow-wrap:anywhere}.question-fold>div{padding:0 17px 17px;overflow-wrap:anywhere;white-space:pre-wrap}.question-fold p{margin:10px 0 0;font-size:11px;color:var(--muted)}.facts-fold{font-size:11px;color:var(--muted);margin:18px 0 22px}.facts-fold summary{cursor:pointer;display:inline-flex;gap:5px;align-items:center}.facts-fold summary:before{content:"＋"}.facts-fold[open] summary:before{content:"−"}.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:15px 20px;background:#efeee4;border-radius:12px;margin-top:10px}.facts-grid h3{font-size:11px;margin:0 0 8px;color:#6f7568}.facts-grid ul{padding-left:17px;margin:0}.facts-grid li{margin:4px 0}.character-tabs{display:none}.advice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}.advice-card{border:1px solid #e6dfce;border-radius:var(--radius);background:#fffdf8;padding:23px 25px 20px;box-shadow:var(--shadow);position:relative;animation:arrive .5s ease-out both}.advice-card.yukino{border-color:#dce5e5;background:#fbfdfc;animation-delay:.12s}.advice-card-head{display:flex;align-items:center;gap:14px;margin-bottom:17px;padding-right:110px;min-height:64px}.advice-card-head h2{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:2px;margin:0;color:#9c7d38}.advice-card.yukino h2{color:#5b8296}.advice-card-head p{font-size:10px;color:#a0977b;letter-spacing:1px;margin:3px 0 0}.yukino .advice-card-head p{color:#8a9faa}.advice-avatar{position:absolute;right:12px;top:-33px;width:143px;height:143px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 5px #64523609)}.character-observation{color:#888375;font-size:12px;line-height:1.9;margin:0 0 15px;position:relative;overflow-wrap:anywhere}.yukino .character-observation{color:#7a8a90}.strategy-copy{font-size:13px;line-height:1.95;margin:0 0 18px;overflow-wrap:anywhere}.first-step{background:var(--hachi-soft);border-radius:12px;padding:13px 15px;font-size:12px;line-height:1.85;margin:0 0 13px;overflow-wrap:anywhere}.yukino .first-step{background:var(--yuki-soft)}.first-step span{display:block;color:#a3894d;font-size:10px;margin-bottom:5px;letter-spacing:1px}.yukino .first-step span{color:#6f97ab}.cost-line{display:flex;gap:8px;font-size:11px;color:#8b8b7f;line-height:1.8;margin:9px 0 0;overflow-wrap:anywhere}.cost-line span{flex-shrink:0;color:#a89462}.yukino .cost-line span{color:#7a9eae}.advice-more{margin-top:15px;border-top:1px solid #eae5d8;font-size:11px;color:var(--muted)}.yukino .advice-more{border-color:#e2e9e8}.advice-more summary{padding:11px 0 0;cursor:pointer;font-size:10px;color:#939587}.advice-more dl{margin:14px 0 0;line-height:1.85;overflow-wrap:anywhere}.advice-more dt{font-weight:600;font-size:10px;margin-top:10px}.advice-more dd{margin:4px 0}.exchange{padding:27px 0 13px;max-width:770px;margin:auto}.exchange-line{display:flex;gap:12px;align-items:flex-start;font-size:12px;margin:0 0 9px;color:#7c8178;line-height:1.85}.exchange-line strong{font-weight:500;font-size:11px;color:var(--hachi);flex-shrink:0;min-width:28px}.exchange-line.yukino strong{color:var(--yuki)}.next-step{background:#eaeee4;border:1px solid #dbe2d3;border-radius:17px;padding:24px 27px;margin:22px 0 26px;position:relative}.next-step .overline{color:#7b8f70;font-size:10px;margin:0 0 9px}.next-step h2{font-family:var(--serif);font-weight:400;font-size:21px;margin:0 0 10px}.next-step>p:not(.overline){font-size:13px;line-height:1.9;margin:0;max-width:760px;overflow-wrap:anywhere}.next-step-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px}.next-step-bottom p{font-size:11px;color:#88917e;margin:0;overflow-wrap:anywhere}.next-step-bottom button{flex-shrink:0}.report-note{font-size:10px;color:#929487;margin:24px 0 13px;text-align:center}.report-note span{display:block;margin-top:3px}.core-fold{background:#fff9;border:1px solid var(--line);border-radius:17px;margin-top:15px}.core-fold>summary{padding:17px 21px;cursor:pointer;font-size:12px;color:#788171;list-style:none;display:flex;align-items:center;justify-content:space-between}.core-fold>summary:after{content:"＋";font-size:16px;color:#a2a693}.core-fold[open]>summary:after{content:"−"}.core-body{padding:0 25px 25px}.core-header{padding:10px 0 18px;border-bottom:1px solid var(--line);margin-bottom:19px}.core-header h2{font-family:var(--serif);font-weight:400;font-size:25px;margin:0 0 5px}.core-header p{font-size:12px;color:var(--muted);margin:0}.core-header small{font-size:10px;color:#9a9d8f}.core-module+.core-module{margin-top:24px;padding-top:17px;border-top:1px dashed var(--line)}.core-module>h3{font-size:13px;letter-spacing:1px;color:#7c8e75;margin:0 0 14px}.markdown{font-size:12px;line-height:1.95;overflow-wrap:anywhere}.markdown p{margin:0 0 13px}.markdown h3{font-size:13px;margin:20px 0 9px}.markdown blockquote{margin:15px 0;padding:10px 15px;border-left:2px solid #cad4c4;background:#eef1e960}.markdown blockquote p{margin:0}.markdown ul{padding-left:20px}.markdown code{background:#efeee7;border-radius:4px;padding:2px 5px;font-size:11px}.review-fold{margin:16px 0;border:1px solid #dfdfd1;border-radius:17px;background:#f2f1e9}.review-fold>summary{padding:18px 21px;cursor:pointer;font-size:12px;color:#747f6a}.review-form{padding:0 22px 22px;display:grid;grid-template-columns:1fr 170px;gap:12px 20px}.review-form p{font-size:11px;color:#8b9081;grid-column:1/-1;margin:0}.review-form label{font-size:11px;color:#7d8473;display:block}.review-form textarea{width:100%;resize:vertical;min-height:135px;border:1px solid #dcded0;background:#fffdf8;padding:12px 14px;border-radius:11px;line-height:1.9;color:var(--ink);font-size:12px;margin-top:7px}.review-form select{width:100%;margin-top:7px}.review-form .primary{align-self:end}.review-form .error{grid-column:1/-1}.review-form .review-note-field{grid-row:2/4}.presentation-notice{padding:20px 24px;border:1px solid #e5d7bb;background:#faf5e8;border-radius:17px;margin:20px 0;font-size:12px;line-height:1.8}.presentation-notice h2{font-size:15px;font-weight:500;margin:0 0 7px}.presentation-notice p{color:#91856d;margin:7px 0;overflow-wrap:anywhere}.presentation-notice .secondary{margin-top:8px}.demo-banner{padding:9px 15px;background:#eeeee3;color:#8b8b73;font-size:11px;border-radius:9px;text-align:center;margin-bottom:23px}.demo-bottom{text-align:center;margin:25px 0}
.waiting{max-width:860px;margin:20px auto 0;text-align:center;padding:30px 26px}.waiting .overline{color:#9a9b85;letter-spacing:3px}.waiting h1{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.65;margin:15px 0}.waiting-intro{font-size:12px;color:var(--muted);line-height:1.9;max-width:570px;margin:0 auto 22px}.waiting-art{height:240px;position:relative;max-width:500px;margin:auto;display:flex;align-items:end;justify-content:center;gap:75px}.waiting-character{width:190px;height:220px;object-fit:contain;animation:breathe 5s ease-in-out infinite}.waiting-character:last-of-type{animation-delay:-2.5s}.tea{position:absolute;width:47px;height:37px;border:2px solid #c4ba9e;border-radius:3px 3px 18px 18px;bottom:12px;background:#faf8ef;z-index:2}.tea:after{content:"";position:absolute;width:13px;height:17px;border:2px solid #c4ba9e;border-left:none;border-radius:0 12px 12px 0;right:-13px;top:4px}.tea:before{content:"";position:absolute;bottom:45px;width:2px;height:20px;background:#b3afa261;border-radius:50%;left:22px;animation:steam 2.5s ease-out infinite}.tea span{position:absolute;left:9px;right:9px;height:1px;background:#cfc4a5;top:9px}@keyframes steam{0%{transform:translateY(7px) scaleY(.5);opacity:0}40%{opacity:1}100%{transform:translateY(-12px) scaleY(1.2);opacity:0}}.stage-list{display:flex;align-items:center;justify-content:center;gap:30px;margin:28px auto 16px;font-size:11px;color:#a0a18f;max-width:520px}.stage{display:flex;align-items:center;gap:8px;position:relative}.stage+.stage:before{content:"";position:absolute;left:-22px;width:14px;height:1px;background:#d2d3c5}.stage-number{width:23px;height:23px;border:1px solid #dadbce;border-radius:50%;display:grid;place-items:center;font-size:10px}.stage.active{color:#75896b}.stage.active .stage-number{background:#e4ebdc;border-color:#c8d6be;box-shadow:0 0 0 4px #e4ebdc60}.stage.done{color:#a4aa99}.stage-status{font-size:11px;color:#8b927f;min-height:24px}.waiting-question{max-width:530px;background:#fff8;border:1px dashed #dfddce;border-radius:13px;padding:14px 20px;font-size:11px;line-height:1.9;color:#939485;margin:22px auto;overflow-wrap:anywhere;max-height:100px;overflow:auto}.waiting .core-fold{text-align:left;margin-top:22px}.waiting .fine-print{max-width:530px;margin:12px auto}.about{max-width:760px}.about-hero{padding:30px 0 20px;text-align:center}.about-hero h1{font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:2px;margin:16px 0}.about-hero p{font-size:13px;line-height:2;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:27px 0}.about-card{border:1px solid var(--line);background:var(--surface);padding:22px;border-radius:17px}.about-card h2{font-family:var(--serif);font-weight:400;font-size:21px;color:var(--hachi);margin:0 0 10px}.about-card:last-child h2{color:var(--yuki)}.about-card p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.faq{border-bottom:1px solid var(--line);font-size:12px}.faq summary{padding:18px 0;cursor:pointer;color:#697762}.faq p{margin:0 0 18px;color:var(--muted);line-height:1.9}.about-actions{display:flex;justify-content:center;gap:15px;margin:30px 0}
dialog{border:1px solid #e1ddcf;border-radius:23px;padding:35px;max-width:450px;width:calc(100% - 32px);color:var(--ink);background:var(--surface);box-shadow:0 25px 100px #3d372530;max-height:calc(100dvh - 32px);overflow:auto;animation:dialog-in .2s ease-out}dialog::backdrop{background:#57534635;backdrop-filter:blur(6px)}dialog h2{font-family:var(--serif);font-weight:400;font-size:24px;margin:9px 0 12px;line-height:1.5}dialog>.muted{font-size:12px;line-height:1.85;margin:0 0 18px}.close-dialog{position:absolute;right:15px;top:15px}.dialog-flower{font-size:31px;color:#b5a16b;display:block;margin-bottom:10px}.auth-tabs{display:flex;background:#eeeee4;border-radius:10px;padding:3px;margin:23px 0 20px}.auth-tabs button{flex:1;font-size:12px;padding:9px;border-radius:8px;color:#929583}.auth-tabs button[aria-pressed=true]{color:var(--ink);background:#fffdf9;box-shadow:0 1px 5px #4c46250d}dialog form>label,#invite-field label{display:block;font-size:11px;color:#858c7d;margin:13px 0 7px}dialog input{width:100%;background:#faf9f3;font-size:12px}dialog .full{margin-top:16px}dialog>.fine-print{margin:20px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}dialog .overline{margin:0;color:#a09575;font-size:10px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,14px);opacity:0;pointer-events:none;background:#454e40;color:#fffdf5;padding:12px 21px;border-radius:12px;font-size:12px;z-index:100;box-shadow:0 8px 25px #242d2220;max-width:calc(100vw - 36px);transition:opacity .2s,transform .2s;text-align:center;line-height:1.7}.toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.home{padding-top:40px}.welcome{margin-bottom:43px}.welcome h1{font-size:42px}.question-input{min-height:175px}.character{width:235px}.character.hachiman{left:-38px}.character.yukino{right:-38px}.room-after{margin-top:26px}.site-footer{margin-top:65px}}
@media(max-width:1100px){.site-header{padding:20px 32px;min-height:90px}.home{padding:22px 25px 0}.desk{padding:0 150px}.character{width:185px}.character.hachiman{left:-23px}.character.yukino{right:-23px}.character-bubble{width:150px;font-size:10px}.letter{padding:26px 25px 20px}.welcome h1{font-size:33px}.site-footer{margin:40px 32px 0}.source-note{max-width:145px}.primary{padding:12px 15px;gap:9px}}
@media(max-width:850px){.desk{max-width:660px;padding:0}.character{width:140px;bottom:auto;top:-139px;z-index:4}.character.hachiman{left:-16px}.character.yukino{right:-16px}.character-bubble{display:none}.character-name{display:none}.character:after{bottom:7px;width:72px}.welcome{margin-bottom:128px}.welcome h1{font-size:31px}.letter{padding:26px}.home{max-width:730px}.advice-grid{gap:16px}.advice-card{padding:20px}.advice-avatar{width:122px;height:122px;top:-25px;right:8px}.advice-card-head{padding-right:85px}.site-footer{font-size:10px;gap:12px}.site-footer i{display:none}}
@media(max-width:600px){body{font-size:13px}.site-header{padding:18px 20px;min-height:79px;gap:10px}.brand{font-size:20px;gap:8px;letter-spacing:1px}.brand-mark{width:31px;height:31px;font-size:16px}.brand small{font-size:11px;letter-spacing:1px}.brand-divider{font-size:13px;margin:0 2px}.site-header nav{gap:5px}.nav-link,.account-button{gap:5px;font-size:11px;padding:7px 8px}.nav-link svg{display:none}.account-button{border-radius:8px}.account-button svg{width:14px}.account-button span:last-child{max-width:50px}.count{display:none!important}.home{padding:25px 20px 0}.welcome{margin-bottom:105px}.open-label{font-size:10px;padding:4px 10px;margin-bottom:13px}.welcome h1{font-size:27px;letter-spacing:1px;line-height:1.55;margin-bottom:13px}.character{width:120px;top:-112px}.character.hachiman{left:4px}.character.yukino{right:4px}.character-image{animation-duration:7s}.letter{padding:23px 21px 20px;border-radius:19px}.letter-heading{margin-bottom:13px}.letter-heading label{font-size:12px}.letter-no{font-size:9px}.question-input{font-size:13px;min-height:156px;line-height:1.95}.input-note{font-size:9px;margin-bottom:14px}.input-note span:first-child{max-width:200px}.optional{margin-bottom:17px}.optional summary{font-size:10px;padding:12px 0}.optional-fields{grid-template-columns:1fr;gap:12px}.optional-fields textarea{font-size:12px}.model-header{flex-wrap:wrap}.model-row{align-items:start;flex-direction:column;gap:8px}.model-row select{width:100%;max-width:none}.source-note{font-size:9px;max-width:127px;line-height:1.6;gap:4px}.source-note button{font-size:9px}.source-note svg{width:11px;height:11px}.composer-bottom{gap:8px}.primary{font-size:11px;padding:12px 14px;gap:7px;border-radius:9px}.secondary,.danger{font-size:11px;padding:11px 13px;border-radius:9px}.composer-bottom .primary{min-height:43px}.composer-bottom .primary svg{width:15px}.room-after{margin-top:20px}.prompt-chips{gap:6px}.prompt-chip{font-size:10px;padding:6px 10px}.demo-link{margin-top:13px;font-size:10px}.site-footer{margin:33px 20px 0;padding:18px 0 22px;flex-wrap:wrap;gap:5px 13px}.site-footer .quiet{font-size:10px}.site-footer>span:nth-child(2){margin:0 0 0 auto;font-size:9px}.footer-flower{display:none}.page{padding:0 20px;margin-top:15px}.page-intro{margin:24px 0}.page-intro h1,.report-title{font-size:27px}.page-intro>p{font-size:11px}.history-toolbar{gap:8px;flex-wrap:wrap;margin-top:20px}.history-toolbar input{width:100%;flex-basis:100%;font-size:12px}.history-toolbar select{flex:1;font-size:11px}.history-meta{font-size:10px}.history-meta .quiet{font-size:10px}.history-card{padding:18px;border-radius:14px;gap:10px}.history-card h2{font-size:12px}.history-card p{font-size:9px}.history-card>svg{width:15px}.tag{font-size:9px}.empty-state{padding:55px 18px}.empty-state h2{font-size:22px}.empty-state p{font-size:11px}.report-toolbar{margin-bottom:20px;gap:7px;flex-wrap:wrap}.report-tools{gap:0;margin-left:auto}.report-tools .quiet{font-size:10px;padding:6px 7px;gap:4px}.report-tools svg{width:14px;height:14px}.report-heading{margin-top:20px;margin-bottom:20px}.report-heading h1{font-size:27px}.report-heading>p:not(.overline){font-size:12px;line-height:1.95}.question-fold{font-size:11px}.question-fold summary{padding:12px 14px}.question-fold>div{padding:0 14px 14px}.facts-grid{grid-template-columns:1fr;gap:16px}.character-tabs{display:flex;gap:8px;margin-top:22px;margin-bottom:48px}.character-tabs button{flex:1;padding:9px 15px;border:1px solid #e4decd;background:#fff8;border-radius:10px;color:#9b8b64;font-size:12px}.character-tabs button:last-child{color:#7492a1;border-color:#dbe3e2}.character-tabs button[aria-pressed=true]{background:#eee6cc;border-color:#d8c99c;box-shadow:0 3px 9px #88764b08}.character-tabs button:last-child[aria-pressed=true]{background:#e2edf1;border-color:#bdced6}.advice-grid{display:block;margin-top:0}.advice-card{display:none;padding:20px;border-radius:19px;animation:arrive .25s ease-out both!important}.advice-card.selected{display:block}.advice-avatar{width:140px;height:140px;top:-37px;right:9px}.advice-card-head{min-height:67px;margin-bottom:12px;padding-right:110px}.advice-card-head h2{font-size:24px}.advice-card-head p{font-size:9px}.character-observation{font-size:11px;margin-bottom:15px}.strategy-copy{font-size:12px;line-height:1.95}.first-step{font-size:11px;padding:12px 14px}.cost-line{font-size:10px}.advice-more{font-size:10px}.exchange{padding-top:23px}.exchange-line{font-size:11px;gap:9px}.exchange-line strong{font-size:10px}.next-step{padding:20px;margin:18px 0 22px}.next-step h2{font-size:20px}.next-step>p:not(.overline){font-size:12px}.next-step-bottom{flex-direction:column;align-items:flex-start;gap:12px;margin-top:12px}.next-step-bottom p{font-size:10px}.next-step-bottom button{align-self:flex-end}.core-fold>summary,.review-fold>summary{font-size:11px;padding:16px 18px}.core-body{padding:0 18px 20px}.core-header h2{font-size:23px}.markdown{font-size:11px}.review-form{grid-template-columns:1fr;padding:0 18px 18px;gap:12px}.review-form .review-note-field{grid-row:auto}.review-form p,.review-form label{font-size:10px}.review-form .primary{justify-self:end;min-width:120px}.review-form select{max-width:170px;font-size:11px}.review-form textarea{font-size:11px}.report-note{font-size:9px}.presentation-notice{padding:18px;font-size:11px}.presentation-notice h2{font-size:14px}.waiting{padding:23px 20px}.waiting h1{font-size:27px}.waiting-intro{font-size:11px}.waiting-art{height:210px;gap:24px}.waiting-character{width:145px;height:190px}.tea{width:40px;height:31px;bottom:3px}.stage-list{gap:23px;font-size:10px;margin-top:25px;flex-wrap:wrap}.stage+.stage:before{width:9px;left:-16px}.stage-status{font-size:10px}.waiting-question{font-size:10px}.waiting .fine-print{font-size:10px}.about-hero{padding-top:15px}.about-hero h1{font-size:28px}.about-hero p{font-size:12px}.about-grid{grid-template-columns:1fr;gap:12px}.about-card{padding:20px}.about-card p,.faq{font-size:11px}.about-actions{gap:10px}.fine-print{font-size:10px}dialog{padding:28px 25px;max-width:410px;border-radius:20px}dialog h2{font-size:23px}dialog>.muted{font-size:11px}.dialog-actions{gap:8px}.toast{font-size:11px;padding:11px 17px;bottom:18px}}
@media(max-width:360px){.site-header{padding:17px 14px}.brand{font-size:18px;gap:5px}.brand-mark{width:28px;height:28px}.brand small{font-size:10px}.site-header nav{gap:0}.nav-link,.account-button{font-size:10px;padding:6px}.account-button svg{display:none}.home{padding:22px 14px 0}.welcome h1{font-size:25px}.letter{padding:22px 17px 18px}.source-note{max-width:115px}.composer-bottom .primary{padding:12px;font-size:10px}.prompt-chip{font-size:9px;padding:5px 8px}.page{padding:0 14px}.site-footer{margin-left:14px;margin-right:14px}.site-footer>span:nth-child(2){font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.character-image{transform:none!important}.paper-flight{display:none}}
@media print{body{background:white;color:#222;font-size:11px}.room-light,.site-header,.site-footer,.toast,dialog,.report-toolbar,.character-tabs,.advice-avatar,.demo-bottom,.next-step-bottom button,.review-form button,.back-link,.waiting-art{display:none!important}main{min-height:0}.page{max-width:none;padding:0;margin:0}.page-enter,.advice-card{animation:none!important}.report-heading{margin:0 0 20px}.report-heading h1:before{content:"春物语｜委托室 · ";font-size:22px}.report-heading .overline{color:#666}.advice-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.advice-card{display:block!important;background:white!important;box-shadow:none;border:1px solid #ddd;padding:18px;break-inside:avoid}.advice-card-head{padding:0;min-height:0}.advice-card-head h2{font-size:20px}.advice-more{display:block}.next-step,.core-fold,.review-fold{background:white;border:1px solid #ddd;break-inside:auto}.next-step{break-inside:avoid}.next-step h2{font-size:18px}.core-fold>summary,.review-fold>summary,.question-fold>summary{font-weight:bold;color:#444}.facts-grid{background:#f5f5f5}.review-form{display:block}.review-form select{appearance:none;border:0;padding:0;background:transparent;font-size:11px}.review-form textarea{height:auto;min-height:0;resize:none;border:0;background:transparent;padding:0;overflow:visible}.review-print-note{white-space:pre-wrap;font-size:11px;line-height:1.8}.review-form p{display:none}.report-note{color:#666}.cost-line,.exchange-line{color:#555}.first-step{background:#f7f7f7!important}.question-fold>div{font-size:11px}.markdown,.strategy-copy{font-size:11px}.core-header h2{font-size:22px}.presentation-notice .secondary{display:none}}

.question-input:focus-visible{outline:2px solid #bed0d3!important;outline-offset:5px;border-radius:5px}.new-draft-link{text-align:center;margin-top:16px}.new-draft-link .quiet{font-size:10px;color:#989b8d}.new-draft-link .quiet svg{width:12px;height:12px}

.adopt-action{margin-top:15px;color:var(--green);border-top:1px dashed var(--line);width:100%;justify-content:space-between;padding-top:13px}.review-form textarea{min-height:190px}
@media print{.adopt-action,#review-draft-status{display:none!important}.review-form .review-print-note{display:block;white-space:pre-wrap}}

@media(max-width:600px){.welcome{margin-bottom:125px}.letter-no{display:none}.strategy-copy{font-size:14px}.character-observation,.first-step,.exchange-line{font-size:13px}.cost-line,.advice-more{font-size:12px}}

.question-input{margin-bottom:12px;padding:8px}.question-input:focus-visible{outline:2px solid #bed0d3!important;outline-offset:-2px!important;border-radius:7px}.source-note button:disabled{opacity:1;cursor:default;text-decoration:none}.public-model-policy{margin-top:18px;padding-top:15px;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:10px}.public-model-policy label{width:100%;font-size:12px}.public-model-policy select{flex:1;min-width:140px}.public-model-policy p{width:100%;margin:0}

/* Choices remain legible without opening secondary details. */
.path-comparison{margin:24px 0;padding:22px 26px;background:#edf1eb;border:1px solid #dce4d7;border-radius:14px}
.path-comparison h2{font-size:17px;margin:0 0 10px}.path-comparison p{margin:0;line-height:1.9;color:#53604f}
.benefit-line,.suitable-line{font-size:13px;line-height:1.9;margin:14px 0;color:#53604f}.benefit-line span,.suitable-line span{display:block;font-size:11px;color:#79836f;margin-bottom:3px}
#manage-dialog{width:min(660px,calc(100% - 28px));max-height:85vh;overflow-y:auto}#manage-dialog .model-picker{display:block}#manage-dialog .model-header{flex-wrap:wrap;gap:12px}
@media(max-width:640px){.path-comparison{padding:18px}.dialog-actions{flex-wrap:wrap}#manage-dialog{padding:24px 20px}}

.user-boundary{border-left:3px solid #a9b69c;background:#f3f4ed;padding:15px 20px;margin:20px 0;border-radius:0 10px 10px 0}.user-boundary strong{font-size:13px}.user-boundary p{font-size:13px;line-height:1.8;margin:8px 0;white-space:pre-wrap}.user-boundary small{font-size:11px;color:#7d8474}

/* Account portraits and inline smaller actions */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header .account-button{width:46px;height:46px;min-width:46px;padding:3px;border:1px solid #cfc5ad;border-radius:50%;background:#fffaf0;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #75684909;transition:border-color .2s,box-shadow .2s,transform .2s;overflow:hidden}
.site-header .account-button:hover{border-color:#9d997e;box-shadow:0 3px 12px #75684918;transform:translateY(-1px)}
.site-header .account-button>svg{display:block;width:19px;height:19px}
.avatar-portrait{display:block;position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#efe9db;flex-shrink:0}
.avatar-portrait img{position:absolute;width:100%;height:100%;max-width:none;left:0;top:0;object-fit:cover;pointer-events:none}
.avatar-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:23px 0 0}
.avatar-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:7px 3px;color:var(--muted);font-size:12px;border-radius:12px}
.avatar-option .avatar-portrait{width:58px;height:58px;border:2px solid transparent;box-shadow:0 0 0 1px #ddd3c0}
.avatar-option[aria-pressed=true] .avatar-portrait{border-color:#fffaf0;box-shadow:0 0 0 2px #7d907b}
.avatar-option[aria-pressed=true]{color:var(--green);background:#e6ebdf66}
#avatar-status{min-height:18px;margin:5px 0 12px}
.smaller-area{margin-top:14px;border-top:1px solid #dce1d1;padding-top:8px}
.smaller-trigger{font-size:12px}.smaller-trigger:disabled{opacity:.65;cursor:default}
.smaller-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.smaller-card{padding:18px;border:1px solid #ded5bb;border-radius:14px;background:#fffaf0}
.smaller-card.yukino{border-color:#d3dfe3;background:#f8fbfa}
.smaller-card h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:15px;font-weight:500}
.smaller-card .avatar-portrait{width:36px;height:36px}
.smaller-card>p{font-size:13px;line-height:1.9;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.smaller-card .smaller-reason{font-size:11px;color:var(--muted)}
.smaller-card details{font-size:11px;color:var(--muted);margin-top:12px}
.smaller-card details p{line-height:1.8}.smaller-card .quiet{margin-top:8px;color:var(--green)}
.smaller-wait{font-size:12px;color:var(--muted);padding:12px 0;margin:0}
@media(max-width:600px){.site-header .account-button{width:44px;height:44px;min-width:44px}.avatar-picker{gap:7px}.avatar-option .avatar-portrait{width:48px;height:48px}.avatar-option{font-size:11px}.smaller-grid{grid-template-columns:1fr;gap:10px}.smaller-card{padding:15px}.smaller-card>p{font-size:12px}}
@media print{.smaller-area button{display:none!important}.smaller-grid{grid-template-columns:1fr 1fr}.smaller-card{break-inside:avoid}}

#account-dialog .dialog-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:10px}#account-dialog #logout-button{margin-right:auto;font-size:12px;white-space:nowrap;color:var(--muted)}#account-dialog .dialog-actions .primary{white-space:nowrap}#account-dialog #manage-entry{white-space:nowrap}
.public-model-policy label.sr-only{width:1px}
@media(max-width:600px){#account-dialog .dialog-actions{gap:8px}#account-dialog .dialog-actions .primary,#account-dialog #manage-entry{padding:11px 10px;font-size:11px}#account-dialog #logout-button{font-size:11px}}

/* A quiet pause, keeping the letter and its draft in place. */
.error.quota-pause{white-space:pre-line;color:var(--sage, #526b58);background:rgba(112,139,111,.075);border-radius:14px;padding:14px 16px;line-height:1.9;}

/* Quiet club activity: transform/opacity only; never a pretend progress bar. */
.club-scene{position:relative;isolation:isolate;width:min(520px,100%);height:300px;margin:8px auto 24px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 28px 20px}
.scene-friend{position:relative;width:180px;padding:64px 0 0;z-index:2;border:0;background:none;cursor:pointer;color:var(--ink);-webkit-tap-highlight-color:transparent}
.scene-friend img{display:block;width:100%;height:200px;object-fit:contain;transform-origin:50% 90%;animation:club-breathe 4.8s ease-in-out infinite;filter:drop-shadow(0 8px 5px #6d675916)}
.scene-friend.yukino img{animation-delay:-2s}.scene-bubble{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:196px;min-height:50px;padding:11px 14px;display:grid;place-items:center;background:#fffdf6;border:1px solid #e6decb;border-radius:16px 16px 16px 5px;box-shadow:0 5px 15px #756e5407;font-size:11px;line-height:1.8;color:#686d60}
.scene-friend.yukino .scene-bubble{border-radius:16px 16px 5px 16px}.friend-name{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:4px}
.scene-desk{position:absolute;left:50%;bottom:32px;width:110px;height:160px;transform:translateX(-50%);z-index:1}.desk-line{position:absolute;bottom:30px;width:100%;height:4px;background:#d4c7a6;border-radius:100%;box-shadow:0 9px 25px #b2a78b28}
.thinking-letter{position:absolute;left:22px;top:17px;width:65px;height:80px;background:#fffdf6;border:1px solid #d8cba9;border-radius:6px;transform:rotate(-5deg);animation:letter-tidy 6s ease-in-out infinite;box-shadow:3px 7px 0 #ede5d0}
.thinking-letter span{display:block;font-size:27px;color:#ac9867;line-height:1.6}.thinking-letter i{display:block;width:34px;height:2px;background:#d6cdb5;margin:6px auto}.thinking-letter i:last-child{width:24px}
.thinking-dots{position:absolute;bottom:0;left:28px;display:flex;gap:9px}.thinking-dots i,.mini-thinking i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#9cae96;animation:thought-dot 1.6s ease-in-out infinite}.thinking-dots i:nth-child(2),.mini-thinking i:nth-child(2){animation-delay:.2s}.thinking-dots i:nth-child(3),.mini-thinking i:nth-child(3){animation-delay:.4s}
.scene-tea{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);width:68px;height:62px;z-index:3;border:0;background:transparent;cursor:pointer}.tea-cup{position:absolute;left:15px;bottom:3px;width:35px;height:26px;background:#e8eee2;border:1.5px solid #92a48a;border-radius:3px 3px 12px 12px}.tea-cup:after{content:'';position:absolute;right:-10px;top:3px;width:9px;height:13px;border:1.5px solid #92a48a;border-left:0;border-radius:0 8px 8px 0}.tea-cup:before{content:'';position:absolute;left:-7px;bottom:-6px;width:47px;height:4px;border-radius:50%;background:#d9dfce}
.tea-steam{position:absolute;left:25px;top:6px;display:flex;gap:4px}.tea-steam i{display:block;width:4px;height:18px;border-left:1.5px solid #9ba98c;border-radius:50%;animation:tea-warm 2.4s ease-in-out infinite;opacity:0}.tea-steam i:nth-child(2){animation-delay:.6s}.tea-steam i:nth-child(3){animation-delay:1.2s}.tea-heart{position:absolute;left:25px;top:0;color:#b38f89;font-size:20px;opacity:0}.offered .tea-heart{animation:tea-thanks 1.8s ease-out}.scene-friend.greet img{animation:friend-greet .7s ease-in-out}
.scene-flower{position:absolute;color:#cbbb8a;font-size:17px;opacity:.55;animation:flower-drift 7s ease-in-out infinite}.flower-one{top:110px;left:8px}.flower-two{right:7px;top:90px;animation-delay:-3s;font-size:12px}
.club-scene[data-stage=voices] .thinking-letter{animation-duration:3.4s}.waiting-clock{font-size:10px;color:#a0a191;font-variant-numeric:tabular-nums;letter-spacing:1px;margin:-8px 0 20px}.waiting-letter{max-width:480px;margin:0 auto 22px;font-size:11px;color:var(--muted)}.waiting-letter summary{cursor:pointer}.waiting-letter p{text-align:left;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff8}
.waiting .stage.active .stage-number{animation:stage-pulse 2s ease-in-out infinite}.waiting .stage-status{min-height:24px}.waiting .fine-print{margin-top:14px}.mini-thinking{display:inline-flex;align-items:center;gap:5px;margin-right:8px;color:#9aa58c}.smaller-wait{display:flex;align-items:center;justify-content:center}
.room-control{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:20px 0}.room-control strong{font-size:13px;font-weight:500}.room-control small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.room-control button{white-space:nowrap;font-size:12px}.admin-usage{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.admin-usage summary{font-size:12px;cursor:pointer}.admin-usage p{white-space:pre-line;overflow-wrap:anywhere}.room-status.closed{color:#a58a65}#start-button:disabled{opacity:.65;cursor:default}
@keyframes club-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes letter-tidy{0%,100%{transform:translateY(0) rotate(-5deg)}30%{transform:translateY(-7px) rotate(3deg)}65%{transform:translateY(-2px) rotate(-2deg)}}
@keyframes thought-dot{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-4px);opacity:1}}
@keyframes tea-warm{0%{transform:translateY(4px);opacity:0}40%{opacity:.6}100%{transform:translateY(-14px) translateX(3px);opacity:0}}
@keyframes tea-thanks{10%{opacity:1}100%{transform:translateY(-45px) rotate(12deg);opacity:0}}
@keyframes friend-greet{0%,100%{transform:rotate(0)}30%{transform:rotate(-5deg) translateY(-7px)}65%{transform:rotate(4deg)}}
@keyframes flower-drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(22deg)}}
@keyframes stage-pulse{0%,100%{box-shadow:0 0 0 0 #92a48a20}50%{box-shadow:0 0 0 5px #92a48a05}}
@media(max-width:600px){.club-scene{height:265px;padding:0 6px 10px;margin-top:0}.scene-friend{width:135px;padding-top:68px}.scene-friend img{height:165px}.scene-bubble{width:146px;font-size:10px;padding:9px 10px;min-height:62px}.scene-desk{bottom:24px;transform:translateX(-50%) scale(.78)}.scene-tea{bottom:53px;transform:translateX(-50%) scale(.85)}.scene-flower{display:none}.waiting h1{font-size:25px}.room-control{gap:10px}.room-control button{padding:10px 12px}.smaller-wait{font-size:11px}}
@media(prefers-reduced-motion:reduce){.club-scene *,.waiting .stage-number,.mini-thinking i{animation:none!important}.tea-steam i{opacity:.35}.thinking-dots i{opacity:.6}}

.usage-note{white-space:pre-line}.open-label.closed .open-dot{background:#bcab8e;box-shadow:none}.sending-dots{display:inline-block;animation:thought-dot 1.4s ease-in-out infinite}

/* Account gallery stays compact as presets grow. */
#account-dialog{max-height:90dvh;overflow:auto}.avatar-picker{max-height:300px;overflow:auto;overscroll-behavior:contain;padding:4px;scrollbar-width:thin}.password-link{font-size:11px;color:var(--muted);margin-top:-4px}.club-scene[data-stage=queue] .thinking-letter{animation-duration:5s}.club-scene[data-stage=queue] .thinking-dots{opacity:.35}#cancel-queue{font-size:11px;margin:0 auto 6px;color:var(--muted)}

/* Reading, continuity and action confirmation — 2026-10-15. */
.resume-card{display:flex;align-items:center;gap:15px;text-align:left;width:100%;max-width:720px;margin:0 auto 26px;padding:17px 20px;background:#f0f2e8;border:1px solid #dce3d3;border-radius:15px;color:var(--ink)}
.resume-card>span:nth-child(2){flex:1;min-width:0}.resume-card strong{display:block;font-size:14px;font-weight:500}.resume-card small{display:block;font-size:12px;color:#687060;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resume-symbol{font-size:23px;color:var(--green)}
.activity-banner{max-width:960px;margin:0 auto 15px;padding:0 20px}.activity-banner button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 17px;background:#edf1e7;border:1px solid #dce3d3;border-radius:12px;font-size:13px}.activity-banner button>span:last-child{margin-left:auto;color:var(--green)}
.nav-link.has-update:after{content:"";width:7px;height:7px;border-radius:50%;background:#638462;box-shadow:0 0 0 3px #e7eddf}
.report-heading{margin:18px 0 22px;text-align:left}.report-heading h1{font-size:30px;margin:0 0 13px}.report-heading>p:not(.overline){font-size:16px;line-height:1.85;color:#535e51;max-width:810px}.report-heading .overline{font-size:10px;margin-bottom:10px}
.report-page .user-boundary{padding:12px 16px;margin:0 0 22px;border-left:3px solid #a0b596;background:#eff1e8;border-radius:0 10px 10px 0}.user-boundary strong{font-size:12px;color:#51614a}.user-boundary p{margin:5px 0 0;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.report-page .advice-grid{margin-top:34px}.advice-card{padding:25px;align-self:start}.advice-card-head{min-height:75px;margin-bottom:14px}.advice-card-head p{font-size:12px;line-height:1.7}.advice-avatar{width:125px;height:125px}
.first-step{font-size:16px;line-height:1.85;padding:15px 17px}.first-step span{font-size:12px;color:#79652d}.yukino .first-step span{color:#3e6b80}
.benefit-line,.cost-line,.suitable-line,.stop-line{display:block;font-size:14px;line-height:1.8;color:#555e50;margin:12px 0;overflow-wrap:anywhere}.benefit-line span,.cost-line span,.suitable-line span,.stop-line span{display:block;font-size:12px;font-weight:600;color:#71613f;margin-bottom:3px}.yukino .benefit-line span,.yukino .cost-line span,.yukino .suitable-line span,.yukino .stop-line span{color:#486b7e}.stop-line{padding-top:10px;border-top:1px dashed #d9d8c9}
.advice-more{font-size:14px}.advice-more summary{font-size:13px;min-height:44px;padding:13px 0}.strategy-copy,.character-observation{font-size:15px;line-height:1.9}.adopt-action{width:100%;margin-top:15px;min-height:44px;background:#fffaf0;color:#665735;border-color:#d7c89f}.yukino .adopt-action{background:#f4fafc;color:#466677;border-color:#bed2dd}
.action-editor{margin-top:17px;padding:17px;background:#fffdf8;border:1px solid #d5dfce;border-radius:13px;text-align:left;scroll-margin:75px 0}.action-editor label{display:block;font-size:14px;font-weight:600;color:#44543f}.action-editor textarea{display:block;width:100%;margin-top:10px;min-height:105px;resize:vertical;font-size:16px;line-height:1.8;padding:12px;border:1px solid #cbd6c4;background:white;border-radius:9px;color:var(--ink)}.action-editor .fine-print{font-size:12px;color:#687160}.action-editor-buttons{display:flex;align-items:center;justify-content:space-between;gap:12px}.action-stop{font-size:13px;line-height:1.8;color:#56614f;overflow-wrap:anywhere}.action-stop strong{font-weight:500}.action-saved{margin:17px 0 0;padding:14px;background:#eaf1e2;border-radius:10px;font-size:14px;color:#435c3e;line-height:1.8}
.next-step{margin:24px 0}.next-step>p:not(.overline){font-size:15px;color:#4e5d49}.next-step-more{margin-top:17px;padding-top:3px;border-top:1px solid #d0dac6}.next-step-more summary{padding:12px 0;font-size:14px;cursor:pointer}.next-step-more>p{font-size:14px;line-height:1.85}.next-step-more .exchange{padding:10px 0}.exchange-line{font-size:14px}.smaller-area{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.smaller-area #smaller-content,.smaller-area .error{flex-basis:100%;min-width:0}.smaller-area .fine-print{font-size:12px}.smaller-trigger{margin:0}.smaller-card>p{font-size:15px}.smaller-card details{font-size:13px}.smaller-card .quiet{min-height:44px}
.question-fold,.facts-fold{margin:15px 0}.question-fold summary,.facts-fold summary{font-size:14px;min-height:44px}.question-fold>div,.facts-grid{font-size:14px;line-height:1.85}.review-form textarea{font-size:16px;line-height:1.85;min-height:180px}.review-form p,.review-form label{font-size:14px}.review-fold>summary{font-size:15px}.review-form select{font-size:15px;min-height:44px}.review-form .fine-print{font-size:12px}
.report-menu{position:relative;margin-left:auto}.report-menu>summary{list-style:none;cursor:pointer;display:flex;gap:7px;align-items:center;padding:10px 12px;border:1px solid #e0ddcf;background:#fff8;border-radius:10px;font-size:13px;min-height:44px}.report-menu>summary::-webkit-details-marker{display:none}.report-menu .report-tools{position:absolute;right:0;top:calc(100% + 6px);z-index:10;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:175px;padding:8px;background:#fffdf6;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #554c3020}.report-menu .report-tools button{padding:11px 13px;font-size:14px;min-height:44px;text-align:left;border-radius:8px}.report-menu [data-action=delete]{color:#9d5647}
.waiting-connection{font-size:14px;color:#805e36;background:#f5edda;border-radius:10px;padding:13px 16px;max-width:540px;margin:14px auto;line-height:1.8}.waiting .stage-status{font-size:15px;line-height:1.85}.waiting .waiting-clock{font-size:12px}.waiting .fine-print{font-size:13px}.waiting-letter{font-size:14px}.waiting-letter summary{min-height:44px;padding:10px}.waiting-letter p{font-size:15px}
dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}dialog input{font-size:16px;min-height:44px}.report-note{font-size:12px}.report-note span{font-size:12px}
@media(max-width:600px){
  body{font-size:15px}.site-header{padding:14px 18px;min-height:74px}.nav-link{font-size:13px;min-height:44px}.brand small{font-size:12px}.home{padding:17px 18px 0}.welcome h1{font-size:26px}.welcome{margin-bottom:112px}.home:has(.resume-card) .welcome{margin-bottom:18px}.resume-card{margin-bottom:126px;padding:13px 14px}.resume-card strong{font-size:14px}.resume-card small{font-size:12px}.character{width:109px;top:-104px}.letter{padding:20px 18px}.letter-heading label{font-size:14px;letter-spacing:0}.question-input{font-size:16px;min-height:150px;line-height:1.85}.input-note{font-size:11px;align-items:flex-start}.input-note span:first-child{max-width:200px}.optional summary{font-size:13px;min-height:44px}.optional-fields label{font-size:13px}.optional-fields textarea,.optional-fields select{font-size:16px}.source-note{font-size:11px;color:#626e5c;max-width:132px}.source-note button{font-size:11px}.primary,.secondary,.danger{font-size:14px;min-height:44px;padding:12px 15px}.prompt-chip,.demo-link,.new-draft-link .quiet{font-size:12px;min-height:44px}.quiet{font-size:13px;min-height:44px}.room-after{margin-top:16px}.site-footer .quiet{font-size:12px}.site-footer>span:nth-child(2){font-size:11px}
  .page{padding:0 18px;margin-top:8px}.report-toolbar{margin-bottom:14px}.report-heading{margin:12px 0 17px}.report-heading h1{font-size:25px;line-height:1.5;margin-bottom:10px}.report-heading>p:not(.overline){font-size:15px;line-height:1.85}.report-heading .overline{display:none}.report-page .user-boundary{padding:10px 13px;margin-bottom:13px}.user-boundary p{font-size:14px}.demo-banner{font-size:12px;padding:10px 12px;margin-bottom:16px}
  .character-tabs{position:sticky;top:0;z-index:6;background:var(--paper);padding:8px 0;margin:0 0 29px;gap:9px}.character-tabs button{min-height:44px;font-size:14px;color:#75602e}.character-tabs button:last-child{color:#496f82}.report-page .advice-grid{margin-top:0}.advice-card{padding:19px}.advice-avatar{width:106px;height:106px;top:-26px;right:9px}.advice-card-head{min-height:57px;padding-right:80px;margin-bottom:13px}.advice-card-head p{font-size:12px;line-height:1.65}.advice-card-head h2{font-size:24px}.first-step{font-size:16px;padding:13px 14px}.first-step span{font-size:12px}.benefit-line,.cost-line,.suitable-line,.stop-line{font-size:14px}.strategy-copy,.character-observation{font-size:15px}.advice-more,.advice-more summary{font-size:14px}.advice-card{animation:none!important}
  .next-step{padding:19px;margin-top:20px}.next-step h2{font-size:22px}.next-step>p:not(.overline){font-size:15px}.next-step-bottom p,.exchange-line,.exchange-line strong{font-size:14px}.smaller-card>p{font-size:15px}.smaller-area{gap:8px}.smaller-area .fine-print{font-size:12px}.smaller-card h3{font-size:16px}.smaller-wait{font-size:14px;flex-wrap:wrap}.report-menu>summary{font-size:13px}.report-menu .report-tools .quiet{font-size:14px}.question-fold summary,.facts-fold summary,.core-fold>summary,.review-fold>summary{font-size:14px;padding:15px}.question-fold>div,.facts-grid,.markdown{font-size:15px;line-height:1.9}.review-form p,.review-form label{font-size:14px}.review-form textarea,.review-form select{font-size:16px}.review-form .primary{justify-self:stretch}.fine-print,.review-form .fine-print{font-size:12px}.report-note,.report-note span{font-size:12px}.action-editor{padding:14px}.action-editor label{font-size:14px}.action-editor textarea{font-size:16px}.action-editor-buttons{flex-wrap:wrap}.waiting{padding:15px 18px}.waiting .stage-list{font-size:13px;gap:16px}.waiting .stage-status{font-size:15px}.waiting .fine-print{font-size:13px}.waiting-clock{font-size:12px}.waiting-letter p{font-size:15px}.waiting-connection{font-size:14px}.history-card h2{font-size:15px}.history-card p,.tag,.history-meta{font-size:12px}.history-toolbar input,.history-toolbar select{font-size:16px;min-height:44px}.history-card{padding:18px}.empty-state p{font-size:14px}.activity-banner{padding:0 18px}.activity-banner button{font-size:13px;flex-wrap:wrap}
  dialog{padding:25px 20px;max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px)}dialog>.muted,dialog label{font-size:14px}dialog input{font-size:16px}.toast{bottom:calc(14px + env(safe-area-inset-bottom));font-size:14px;max-width:calc(100vw - 28px);line-height:1.7}.site-footer{padding-bottom:calc(22px + env(safe-area-inset-bottom))}.report-page{padding-bottom:env(safe-area-inset-bottom)}
}
@media(prefers-reduced-motion:reduce){.page-enter,.advice-card,.character-image{animation:none!important}}
@media print{.report-menu,.activity-banner,.action-editor,.action-saved,#chosen-review-link,.next-step-more button,#smaller-quota{display:none!important}.report-heading h1:before{content:"婚物语｜委托室 · ";font-size:20px}.report-heading{text-align:left}.report-heading>p:not(.overline),.first-step{font-size:12px}.benefit-line,.cost-line,.suitable-line,.stop-line,.strategy-copy{font-size:11px;color:#222}.advice-grid{display:grid!important}.advice-card{display:block!important}.review-form .review-print-note{display:block}.advice-card-head{padding:0}}

.account-uid{display:flex;align-items:center;gap:10px;margin:0 0 16px;color:var(--muted);font-size:12px}.account-uid input{min-width:0;width:112px;padding:8px 10px;font:inherit;font-variant-numeric:tabular-nums;letter-spacing:.08em}.account-uid button{min-height:44px;padding:10px 12px}
