/* ログインと設定で共有する土台。色は --color-* 系に閉じ、他ページの役割名を混ぜない。 */
:root{color-scheme:light dark;--color-bg:var(--n-986);--color-panel:var(--n-100);--color-raised:var(--n-964);--color-line:var(--n-88);--color-text:var(--n-27);--color-muted:var(--n-46);--color-accent:var(--gr-48);--color-accent-soft:var(--gr-41);--color-on-accent:var(--n-99);--color-danger:var(--rd-48);--color-success:var(--gr-45);--font-ui:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--radius-control:8px;--radius-panel:12px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--color-bg:var(--n-14);--color-panel:var(--n-18);--color-raised:var(--n-22);--color-line:var(--n-31);--color-text:var(--n-96);--color-muted:var(--n-74);--color-accent:var(--gr-72);--color-accent-soft:var(--gr-82);--color-on-accent:var(--n-19);--color-danger:var(--rd-74);--color-success:var(--gr-80)}}
:root[data-theme="dark"]{--color-bg:var(--n-14);--color-panel:var(--n-18);--color-raised:var(--n-22);--color-line:var(--n-31);--color-text:var(--n-96);--color-muted:var(--n-74);--color-accent:var(--gr-72);--color-accent-soft:var(--gr-82);--color-on-accent:var(--n-19);--color-danger:var(--rd-74);--color-success:var(--gr-80);color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}
*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font:14px/1.55 var(--font-ui)}button,input,select{font:inherit}.app{width:min(760px,calc(100% - 28px));margin:auto;padding:24px 0 64px}.top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.eyebrow{color:var(--color-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{font-size:22px;line-height:1.25;margin:3px 0 0;font-style:normal}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 13px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-raised);color:var(--color-text);text-decoration:none;font-weight:650;white-space:nowrap;cursor:pointer}.button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.button:hover{border-color:var(--color-accent-soft)}.button:active{transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:2px}.top-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.status-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding:12px 14px;margin-bottom:14px;border-left:3px solid var(--color-accent);background:var(--color-panel)}.status-strip span{color:var(--color-muted);font-size:12px}.status-strip strong{overflow-wrap:anywhere}.guardian-note{align-items:start;border-left-color:var(--color-danger)}.guardian-note span{padding-top:1px;white-space:nowrap;font-weight:700;color:var(--color-danger)}.guardian-note strong{font-weight:400;font-size:12px;line-height:1.6;color:var(--color-muted)}.section{margin-top:22px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 2px 8px}.section-head h2{font-size:14px;margin:0;font-style:normal}.section-head p{color:var(--color-muted);font-size:12px;margin:0}.panel{background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius-panel);padding:16px}.provider{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:15px 0;border-top:1px solid var(--color-line);cursor:pointer}.provider:first-child{border-top:0;padding-top:2px}.provider:last-child{padding-bottom:2px}.provider>input{margin-top:5px;accent-color:var(--color-accent)}.provider-name{display:block;font-weight:700}.help{display:block;color:var(--color-muted);font-size:12px;margin-top:2px}.setup-guide{display:block;margin-top:8px;padding:9px 10px;border-left:2px solid var(--color-line);background:var(--color-bg);color:var(--color-muted);font-size:12px;cursor:default}.setup-guide a{color:var(--color-accent-soft);text-underline-offset:2px}.fields{display:grid;gap:10px;margin-top:11px}.field label{display:block;color:var(--color-muted);font-size:12px;margin-bottom:4px}.field input,.field select{width:100%;min-width:0;min-height:44px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-raised);color:var(--color-text);padding:0 11px}.key-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.configured{display:block;color:var(--color-accent-soft);font-size:12px;margin-top:4px}
details.panel{padding:0}details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary::after{content:"＋";color:var(--color-muted);font-size:18px}details[open]>summary::after{content:"−"}details[open]>summary{border-bottom:1px solid var(--color-line)}.detail-body{padding:16px}.detail-title{font-weight:700}.detail-copy{display:block;color:var(--color-muted);font-size:12px;margin-top:2px}.check{display:flex;gap:9px;align-items:flex-start;color:var(--color-muted);font-size:12px}.check input{margin-top:3px;accent-color:var(--color-accent)}.actions{display:flex;gap:8px;margin-top:22px}.actions .button{flex:1}.message{min-height:22px;margin:10px 2px 0;color:var(--color-muted)}.message.error{color:var(--color-danger)}.message.success{color:var(--color-success)}.security{margin:0;padding-left:18px;color:var(--color-muted)}.security li+li{margin-top:5px}
@media(max-width:520px){.app{width:min(100% - 20px,760px);padding-top:16px}.top{align-items:flex-start}.section-head{display:block}.section-head p{margin-top:2px}.key-row{grid-template-columns:minmax(0,1fr)}.actions{flex-direction:column}.status-strip{grid-template-columns:1fr}.status-strip span{margin-bottom:-2px}}
@media(prefers-reduced-motion:no-preference){.button{transition:border-color .15s ease,background-color .15s ease,transform .08s ease}}
.legal-nav{display:flex;gap:14px;margin-top:22px;font-size:12px}.legal-nav a{color:var(--color-muted)}
.hidden{display:none!important}
[hidden]{display:none!important}
.folder-list{list-style:none;margin:10px 0 0;padding:0;max-height:220px;overflow-y:auto;border:1px solid var(--color-line);border-radius:var(--radius-control)}.folder-list li+li{border-top:1px solid var(--color-line)}.folder-list button{display:block;width:100%;min-height:44px;padding:0 12px;border:0;background:none;color:var(--color-text);text-align:left;cursor:pointer;font:inherit}.folder-list button:hover{background:var(--color-raised)}.folder-list .empty{padding:12px;color:var(--color-muted);font-size:12px}
