:root{color-scheme:light;--color-ink: #3a2730;--color-on-ink: #ffffff;--color-on-primary: #ffffff;--color-page: #fff7fa;--color-surface: #fffefe;--color-surface-strong: #ffe6ef;--color-display-surface: #fffafb;--color-text: var(--color-ink);--color-muted: #765f6a;--color-border: #f0c8d6;--color-primary: #8f2f55;--color-primary-strong: #7a2448;--color-accent: #d95f8a;--color-error: #9f2436;--color-focus-ring: #8a4a00;--color-leaf: #06c755;--color-line: var(--color-leaf);--color-disabled-text: #6d6266;--color-disabled-surface: #eadfe4;--color-disabled-border: #b8a8af;--color-success-surface: #edf9f2;--color-success-border: #b9e7cb;--color-error-surface: #fff0f2;--color-error-border: #efbcc7;--shadow-soft: 0 12px 28px rgba(58, 39, 48, .08);--radius-card: 8px;--radius-control: 6px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--font-sans: "Noto Sans", "Noto Sans JP", "Noto Sans Thai", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Hiragino Sans", "Yu Gothic", Meiryo, "Leelawadee UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"}*{box-sizing:border-box}html{background:var(--color-page)}body{margin:0;color:var(--color-text);font-family:var(--font-sans);line-height:1.6}a{color:var(--color-primary-strong);text-decoration-thickness:.08em;text-underline-offset:.18em}button,fieldset,input,select,textarea{font:inherit}fieldset{min-width:0;padding:0;border:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell,.public-shell{min-height:100vh}.app-shell{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom))}.app-shell__header,.public-shell__header{position:sticky;top:0;z-index:15;display:grid;gap:var(--space-3);justify-items:center;padding:max(.45rem,env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) var(--space-2) max(var(--space-4),env(safe-area-inset-left));background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand-header{display:inline-flex;gap:.6rem;align-items:center;justify-content:center;max-width:100%;color:var(--color-ink);font-weight:850;font-size:1rem;line-height:1.2;text-align:center;text-decoration:none;touch-action:manipulation}.brand-header:focus-visible,.app-shell__tab:focus-visible,.public-shell__nav a:focus-visible{outline:4px solid var(--color-focus-ring);outline-offset:3px}.brand-header__icon-frame{display:grid;flex:0 0 auto;width:2.45rem;height:2.45rem;overflow:hidden;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:50%;place-items:center}.brand-header__icon{display:block;width:100%;height:100%;object-fit:cover}.brand-header__name{min-width:0;overflow-wrap:anywhere}.public-shell__nav a{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--space-3);color:var(--color-muted);border-radius:var(--radius-control);text-decoration:none}.public-shell__nav{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.app-shell__bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);padding:var(--space-2) max(var(--space-2),env(safe-area-inset-right)) max(var(--space-2),env(safe-area-inset-bottom)) max(var(--space-2),env(safe-area-inset-left));background:var(--color-surface);border-top:1px solid var(--color-border)}.app-shell__tab{display:grid;min-width:0;min-height:3.35rem;padding:.3rem var(--space-1) .25rem;color:var(--color-muted);font-weight:800;font-size:.68rem;line-height:1.15;text-align:center;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-card);gap:.15rem;place-items:center;touch-action:manipulation}.app-shell__tab--active{color:var(--color-primary-strong);background:var(--color-surface-strong);border-color:var(--color-primary)}.app-shell__tab-icon{width:1.45rem;height:1.45rem}.app-shell__tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell__main{width:min(100%,640px);margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-6)}.public-shell__main{width:min(100%,960px);margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-6)}.focus-shell{min-height:100vh;padding:0;background:var(--color-surface)}.standalone-page{display:grid;min-height:100vh;place-items:center;padding:var(--space-4)}.page-stack,.stack,.form-stack{display:grid;gap:var(--space-4)}.page-header h1,.message-view h1,.stack h1,.stack h2{margin:0;line-height:1.25}.page-header p,.message-view p,.stack p,.legal-copy p{margin:0;color:var(--color-muted)}.card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.dashboard-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric{display:grid;gap:var(--space-1)}.metric__label,.metric__meta,.muted{color:var(--color-muted);font-size:.92rem}.metric strong{font-size:1.35rem}.action-list{display:grid;gap:var(--space-3)}.action-list a{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 var(--space-4);color:var(--color-on-primary);background:var(--color-primary);border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer}.button:disabled{cursor:not-allowed;opacity:.65}.button--secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.button--quiet{color:var(--color-primary-strong);background:transparent}.button:focus-visible,.choice-group__button:focus-visible{outline:4px solid var(--color-focus-ring);outline-offset:3px}.button:active:not(:disabled),.choice-group__button:active{transform:translateY(1px)}.field{display:grid;gap:var(--space-2);font-weight:700}.select,.textarea{width:100%;padding:var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control)}.textarea{resize:vertical}.check-field{display:flex;gap:var(--space-2);align-items:center}.choice-group{display:grid;min-width:0;gap:var(--space-2)}.choice-group__legend{padding:0;font-weight:800}.choice-group__description{margin:0;color:var(--color-muted);font-size:.9rem}.choice-group__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));gap:var(--space-2)}.choice-group__button{position:relative;display:inline-flex;min-height:4.6rem;gap:.45rem;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);color:var(--color-text);text-align:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;touch-action:manipulation}.choice-group__button:hover{border-color:var(--color-primary)}.choice-group__button.is-selected{color:var(--color-primary-strong);background:var(--color-surface-strong);border-color:var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-surface)}.choice-group__button.is-selected:after{position:absolute;top:.38rem;right:.38rem;width:.42rem;height:.42rem;background:currentColor;border-radius:50%;content:""}.choice-group__icon{flex:0 0 auto;width:2.6rem;height:2.6rem;stroke-width:2.3}.choice-group__button-label{font-weight:850;line-height:1.25}.choice-group__button-meta{color:var(--color-muted);font-size:.84rem;line-height:1.35}.choice-group__button.is-selected .choice-group__button-meta{color:var(--color-primary-strong)}.choice-group--icon-only .choice-group__options{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-group--icon-only .choice-group__button{min-height:4.6rem}.choice-group--stacked .choice-group__options{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-group--stacked .choice-group__button{display:grid;min-height:7.2rem;gap:var(--space-1);align-content:center;justify-items:center;padding:var(--space-3) var(--space-2)}.choice-group--stacked .choice-group__button-label{font-size:.86rem}.choice-group--stacked .choice-group__button-meta{font-size:.68rem;line-height:1.3}.notice{margin:0;padding:var(--space-3);color:var(--color-primary-strong);background:var(--color-success-surface);border:1px solid var(--color-success-border);border-radius:var(--radius-card)}.notice--error{color:var(--color-error);background:var(--color-error-surface);border-color:var(--color-error-border)}.message-view{width:min(100%,640px);padding:var(--space-5);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.message-view--error{border-color:var(--color-error-border)}.message-view__action{margin-top:var(--space-4)}.loading-view{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.loading-view__spinner{width:18px;height:18px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.detail-list{display:grid;gap:var(--space-3);margin:0}.detail-list div{display:grid;gap:var(--space-1)}.detail-list dt{color:var(--color-muted);font-weight:700}.detail-list dd{margin:0;overflow-wrap:anywhere}.step-list{margin:0 0 var(--space-4);padding-left:var(--space-5)}.legal-copy{display:grid;gap:var(--space-3)}.mypage{display:grid;gap:var(--space-4)}.mypage-hero{display:grid;gap:var(--space-2);padding:var(--space-4) 0 var(--space-2)}.mypage-user-panel__label,.mypage-status-card span,.mypage-action span{margin:0;color:var(--color-muted);font-weight:800;font-size:.82rem}.mypage-hero h1{margin:0;font-size:clamp(1.6rem,8vw,2.2rem);line-height:1.15}.mypage-hero p{max-width:28rem;margin:0;color:var(--color-muted)}.mypage-user-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-4);color:var(--color-text);background:var(--color-surface-strong);border:2px solid var(--color-primary);border-radius:var(--radius-card)}.mypage-user-panel__avatar{display:grid;width:3.2rem;height:3.2rem;color:var(--color-primary-strong);font-weight:850;font-size:1.35rem;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:50%;place-items:center}.mypage-user-panel__body{display:grid;min-width:0;gap:.1rem}.mypage-user-panel__body strong{overflow-wrap:anywhere;font-size:1.2rem;line-height:1.25}.mypage-user-panel__body span:last-child{overflow-wrap:anywhere;color:var(--color-muted);font-size:.86rem}.mypage-status-grid,.mypage-actions,.home-settings{display:grid;gap:var(--space-3)}.home-settings .choice-group{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.home-settings .choice-group__legend{display:inline-flex;align-items:center;min-height:2rem;margin:0 0 var(--space-1);padding:var(--space-1) var(--space-3);color:var(--color-ink);font-size:.92rem;line-height:1.25;background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-control)}.home-settings .choice-group__button:not(.is-selected){background:color-mix(in srgb,var(--color-surface) 82%,var(--color-surface-strong))}.settings-item-list{display:grid;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none}.settings-item{display:grid;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-card)}.settings-item p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.settings-item__state{color:var(--color-muted);font-weight:800;font-size:.82rem}.support-confirmation{display:grid;gap:var(--space-4)}.support-confirmation__body{display:grid;gap:var(--space-2)}.support-confirmation__body span{color:var(--color-muted);font-weight:800;font-size:.82rem}.support-confirmation__body p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.support-confirmation__actions{display:grid;gap:var(--space-2)}.plan-status{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3);align-items:center}.plan-status span{color:var(--color-muted);font-weight:800;font-size:.82rem}.plan-status strong{font-size:1.35rem;line-height:1.2}.plan-status small{grid-row:1 / span 2;grid-column:2;padding:var(--space-1) var(--space-2);color:var(--color-primary-strong);font-weight:850;line-height:1.2;background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-control)}.plan-options{display:grid;gap:var(--space-3)}.plan-option{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-card)}.plan-option__header{display:flex;gap:var(--space-2);align-items:center}.plan-option__icon{flex:0 0 auto;width:2.6rem;height:2.6rem;color:var(--color-primary-strong);stroke-width:2.3}.plan-option__header h2{margin:0;font-size:1.15rem;line-height:1.25}.plan-option p{margin:0;color:var(--color-muted)}.plan-option__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.plan-option__chips li{padding:var(--space-1) var(--space-2);color:var(--color-text);font-weight:800;font-size:.82rem;line-height:1.2;background:var(--color-surface-strong);border:1px solid var(--color-border);border-radius:var(--radius-control)}.mypage-status-card{display:grid;gap:var(--space-1);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.mypage-status-card strong{font-size:1.1rem;line-height:1.25}.mypage-status-card p{margin:0;color:var(--color-muted);font-size:.92rem}.mypage-action{display:grid;gap:var(--space-1);min-height:4.4rem;padding:var(--space-4);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-card);text-decoration:none;touch-action:manipulation}.mypage-action--primary{color:var(--color-on-primary);background:var(--color-primary);border-color:var(--color-primary)}.mypage-action--primary span{color:var(--color-on-primary)}.mypage-action strong{line-height:1.25}.mypage-action:focus-visible{outline:4px solid var(--color-focus-ring);outline-offset:3px}.account-menu{display:grid;gap:var(--space-3)}.account-menu__item{display:grid;gap:var(--space-1);min-height:4.2rem;padding:var(--space-4);color:var(--color-text);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-card);text-decoration:none;touch-action:manipulation}.account-menu__item span{color:var(--color-muted);font-weight:800;font-size:.82rem}.account-menu__item strong{line-height:1.25}.account-menu__item:focus-visible{outline:4px solid var(--color-focus-ring);outline-offset:3px}.show-display{--show-black: var(--color-ink);--show-control: var(--color-primary);--show-control-text: var(--color-on-primary);--show-border: var(--color-primary);--show-line: var(--color-line);--show-danger: var(--color-error);--show-focus: var(--color-focus-ring);--show-surface: var(--color-display-surface);--show-muted: var(--color-muted);--show-disabled-text: var(--color-disabled-text);--show-disabled-surface: var(--color-disabled-surface);--show-disabled-border: var(--color-disabled-border);display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:320px;min-height:100svh;overflow:hidden;color:var(--show-black);background:var(--show-surface)}.show-top-bar{position:relative;z-index:10;padding:max(.35rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) .05rem max(.75rem,env(safe-area-inset-left));text-align:center;-webkit-user-select:none;user-select:none}.show-brand-link{display:inline-flex;gap:.6rem;align-items:center;justify-content:center;color:var(--show-black);font-weight:850;font-size:1rem;line-height:1.2;text-align:center;text-decoration:none;touch-action:manipulation}.show-brand-link:focus-visible,.show-display__text:focus-visible,.show-display button:focus-visible{outline:4px solid var(--show-focus);outline-offset:3px}.show-brand-icon-frame{display:grid;flex:0 0 auto;place-items:center;width:2.45rem;height:2.45rem;overflow:hidden;background:var(--color-surface);border:2px solid var(--show-border);border-radius:50%}.show-brand-icon{display:block;width:100%;height:100%;object-fit:cover}.show-brand-name{min-width:0;overflow-wrap:anywhere}.show-content-shell{display:grid;min-height:0;padding:0;overflow:hidden}.show-display-panel{display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:center;height:100%;min-height:0;overflow:hidden}.show-display__text{align-self:center;width:100%;max-height:100%;min-height:0;margin:0;overflow-x:hidden;overflow-y:hidden;overflow-wrap:anywhere;color:var(--show-black);font-weight:850;font-size:var(--show-font-size);line-height:1.15;text-align:center;white-space:pre-wrap;touch-action:pan-y}.show-display__text.is-scrollable{overflow-y:auto}.show-display__text.is-size-animated{transition:font-size .1s ease,line-height .1s ease}.show-message{min-height:1.6rem;margin:.9rem 1rem 0;color:var(--show-muted);font-weight:700;font-size:1rem;text-align:center}.show-message:empty{display:none}.show-message[data-state=error]{color:var(--show-danger)}.show-controls{position:relative;z-index:10;display:grid;gap:.5rem;padding:.45rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));touch-action:manipulation}.show-controls__toolbar{display:grid;grid-template-columns:minmax(0,1fr) 4.7rem 4.7rem;gap:.65rem}.show-display .show-control-button,.show-display .show-line-add-button,.show-qr-close-button{min-height:3rem;padding:.25rem .75rem;color:var(--show-control-text);font-weight:750;font-size:1.05rem;white-space:nowrap;background:var(--show-control);border:2px solid var(--show-control);border-radius:var(--radius-card);touch-action:manipulation;-webkit-user-select:none;user-select:none}.show-display .show-control-button:active,.show-display .show-line-add-button:active,.show-qr-close-button:active{transform:translateY(1px)}.show-display .show-control-button:disabled{color:var(--show-disabled-text);cursor:not-allowed;background:var(--show-disabled-surface);border-color:var(--show-disabled-border);opacity:1}.show-display .show-control-button[data-state=speaking]{background:var(--show-danger);border-color:var(--show-danger)}.show-display .show-line-add-button{color:var(--color-ink);background:var(--show-line);border-color:var(--show-line)}.show-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));visibility:hidden;background:#0000;opacity:0;transition:background-color .18s ease,opacity .18s ease,visibility .18s ease;pointer-events:none}.show-modal-backdrop.is-open{visibility:visible;background:#0009;opacity:1;pointer-events:auto}.show-qr-dialog{position:relative;width:min(100%,21rem);padding:1.25rem;color:var(--show-black);text-align:center;background:var(--color-surface);border:3px solid var(--show-border);border-radius:var(--radius-card);transform:translateY(.7rem) scale(.96);transition:transform .18s ease}.show-modal-backdrop.is-open .show-qr-dialog{transform:translateY(0) scale(1)}.show-qr-close-button{position:absolute;top:.6rem;right:.6rem;display:grid;width:2.6rem;min-height:2.6rem;padding:0;place-items:center}.show-qr-title{margin:0 3rem 1rem;font-weight:850;font-size:1.25rem}.show-qr-frame{display:grid;width:min(100%,15rem);margin:0 auto;aspect-ratio:1;place-items:center;background:var(--color-surface-strong);border:2px dashed var(--show-border);border-radius:var(--radius-card)}.show-qr-image{display:block;width:100%;height:100%;object-fit:contain}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:720px){.app-shell__main,.public-shell__main{padding-top:var(--space-6)}.action-list{grid-template-columns:repeat(3,1fr)}.mypage-status-grid,.support-confirmation__actions,.plan-options{grid-template-columns:repeat(2,minmax(0,1fr))}.show-controls__toolbar{grid-template-columns:2fr 1fr 1fr}}@media(orientation:landscape){.show-controls{grid-template-columns:minmax(0,1fr) minmax(9rem,.45fr);align-items:stretch}.show-controls__toolbar{grid-template-columns:2fr 1fr 1fr}}@media(orientation:landscape)and (max-height:540px){.show-top-bar{padding-top:max(.2rem,env(safe-area-inset-top))}.show-controls{width:100%;padding:.35rem max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) .35rem}.show-display__text{font-size:clamp(1.8rem,9vh,4.5rem)}}@media(prefers-reduced-motion:reduce){.show-display__text.is-size-animated,.show-modal-backdrop,.show-qr-dialog{transition:none}}
