:root{--page-sky:#f6f7f4;--background:#f6f7f4;--foreground:#1f2a24;--card:#fff;--card-foreground:#1f2a24;--popover:#fff;--popover-foreground:#1f2a24;--primary:#2f7d6d;--primary-foreground:#fff;--secondary:#eef5f2;--secondary-foreground:#1f2a24;--muted-bg:#eef5f2;--muted-foreground:#5f6b65;--accent-bg:#eef5f2;--accent-foreground:#1f2a24;--destructive:#b4463b;--border:#dde3df;--input:#fff;--ring:#2f7d6d;--bg:var(--background);--surface:var(--card);--text:var(--foreground);--muted:var(--muted-foreground);--line:var(--border);--primary-ink:var(--primary-foreground);--accent:#f0b35a;--danger:var(--destructive);--danger-bg:#fbeae8;--info-bg:#eef5f2;--field:#fff;--user-bubble:#e3efe9;--badge-ended-bg:#eee;--badge-private-bg:#fff7e6;--badge-private-border:#c9b58a;--badge-private-text:#7a5a12;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark,[data-theme=dark]{--page-sky:#0a0e1a;--background:#0a0e1a;--foreground:#fff;--card:#171c2b;--card-foreground:#fff;--popover:#171c2b;--popover-foreground:#fff;--primary:#7dcebd;--primary-foreground:#0a0e1a;--secondary:#1c2436;--secondary-foreground:#fff;--muted-bg:#1c2436;--muted-foreground:#c5cad6;--accent-bg:#1c2436;--accent-foreground:#fff;--destructive:#ffb4ab;--border:#ffffff29;--input:#12182a;--ring:#7dcebd;--bg:#0a0e1a;--surface:#171c2b;--text:#fff;--muted:#c5cad6;--line:#ffffff29;--primary-ink:#0a0e1a;--accent:#f0b35a;--danger:#ffb4ab;--danger-bg:#3d2422;--info-bg:#1c2436;--field:#12182a;--user-bubble:#1d3b34;--badge-ended-bg:#2a3142;--badge-private-bg:#3a3018;--badge-private-border:#c9b58a;--badge-private-text:#f3e2b8;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff;background-color:#0a0e1a}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;font-size:16px;line-height:1.7}a{color:var(--primary)}.site-header{background:var(--surface);color:var(--text);border-bottom:1px solid var(--line)}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;max-width:960px;margin:0 auto;padding:.75rem 1rem;display:flex}.site-header__brand{color:var(--text);font-weight:700;text-decoration:none}.site-header__user{color:var(--muted);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.container{max-width:960px;margin:0 auto;padding:1.5rem 1rem 4rem}.container--narrow{max-width:560px}h1{margin-bottom:1rem;font-size:1.5rem}h2{margin:1.5rem 0 .75rem;font-size:1.15rem}p{margin-bottom:.75rem}.card{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.card--soft{background:var(--info-bg);color:var(--text)}.card--danger{background:var(--danger-bg);color:var(--text);border-color:#efc3bd}.muted{color:var(--muted);font-size:.9rem}.stack{gap:.75rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row--between{justify-content:space-between}.btn{border:1px solid var(--primary);background:var(--primary);min-height:44px;color:var(--primary-ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{color:var(--primary);background:0 0}.theme-toggle{min-height:36px;padding:.2rem .8rem}.btn--danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn--big{width:100%;min-height:60px;font-size:1.1rem}.field{gap:.3rem;margin-bottom:.9rem;display:grid}.field label{font-size:.95rem;font-weight:600}.field input,.field select,.field textarea{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:10px;min-height:44px;padding:.65rem .8rem}.field textarea{resize:vertical;min-height:90px}.field .hint{color:var(--muted);font-size:.85rem}.error{color:var(--danger);background:var(--danger-bg);border-radius:10px;margin-bottom:.9rem;padding:.6rem .8rem}.notice{background:var(--info-bg);color:var(--text);border-radius:10px;margin-bottom:.9rem;padding:.6rem .8rem}.badge{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:999px;padding:.1rem .6rem;font-size:.78rem;display:inline-block}.badge--private{border-color:var(--badge-private-border);background:var(--badge-private-bg);color:var(--badge-private-text)}.badge--safety{background:var(--danger-bg);color:var(--danger);border-color:#efc3bd}.badge--ended{background:var(--badge-ended-bg);color:var(--text)}.list{gap:.5rem;list-style:none;display:grid}.list__item{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.table{border-collapse:collapse;background:var(--surface);width:100%;color:var(--text);border-radius:12px;font-size:.95rem;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .8rem}.table th{background:var(--info-bg);color:var(--text);font-weight:600}.role-nav{background:var(--surface);color:var(--text);border-bottom:1px solid var(--line)}.role-nav__inner{flex-wrap:wrap;max-width:960px;margin:0 auto;padding:.7rem 1rem .2rem}.child-links{flex-wrap:wrap;gap:.25rem .8rem;margin-top:.35rem;font-size:.9rem;font-weight:400;display:flex}.tabs{gap:.5rem;margin-bottom:1rem;display:flex}.tabs a{border:1px solid var(--line);color:var(--text);background:var(--field);border-radius:999px;padding:.4rem .9rem;text-decoration:none}.tabs a[aria-current=page]{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.chat{gap:.75rem;margin-bottom:1rem;display:grid}.msg{white-space:pre-wrap;word-break:break-word;border-radius:16px;max-width:85%;padding:.75rem 1rem}.msg--assistant{background:var(--surface);color:var(--text);border:1px solid var(--line);border-bottom-left-radius:4px;justify-self:start}.msg--user{background:var(--user-bubble);color:var(--text);border-bottom-right-radius:4px;justify-self:end}.msg--app{max-width:100%;color:var(--muted);background:0 0;justify-self:center;padding:.2rem 0;font-size:.85rem}.msg--safety{box-shadow:inset 4px 0 0 var(--danger);border-color:#efc3bd}.composer{background:var(--bg);color:var(--text);gap:.5rem;padding:.75rem 0;display:grid;position:sticky;bottom:0}.composer textarea{width:100%;font:inherit;border:1px solid var(--line);resize:vertical;background:var(--field);min-height:70px;color:var(--text);border-radius:14px;padding:.75rem .9rem}.quick{flex-wrap:wrap;gap:.4rem;display:flex}.quick button{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--text);cursor:pointer;border-radius:999px;padding:.35rem .8rem;font-size:.9rem}.choice{gap:.6rem;display:grid}.choice label{border:1px solid var(--line);background:var(--field);color:var(--text);cursor:pointer;border-radius:12px;align-items:flex-start;gap:.7rem;padding:.9rem 1rem;display:flex}.choice input{margin-top:.35rem}.choice strong,.choice .muted{display:block}.meta{color:var(--muted);font-size:.9rem}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form{gap:.9rem;display:grid}.form label{gap:.35rem;font-weight:600;display:grid}.form label.inline,label.inline{align-items:center;gap:.35rem;margin-right:.8rem;font-weight:400;display:inline-flex}.form input[type=text],.form select,.form textarea{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:10px;width:100%;min-height:44px;padding:.65rem .8rem;font-weight:400}.form textarea{resize:vertical;min-height:90px}.form button[type=submit],form.card button[type=submit]{border:1px solid var(--primary);background:var(--primary);min-height:44px;color:var(--primary-ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;justify-self:start;align-items:center;padding:.5rem 1.1rem;font-weight:600;display:inline-flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.list>li{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}.result-text{white-space:pre-wrap;word-break:break-word;font:inherit;margin:0;line-height:1.8}fieldset.card{border:1px solid var(--line)}fieldset.card legend{padding:0 .35rem;font-weight:600}
