:root{--cloud-ink:var(--ink);--cloud-muted:var(--muted);--cloud-border:var(--border);--cloud-paper:var(--paper);--cloud-surface:var(--surface);--cloud-accent:var(--accent);--cloud-accent-soft:var(--accent-soft);--cloud-success:var(--success);--cloud-success-bg:var(--success-bg)}
.auth-page{min-height:calc(100dvh - 60px);display:grid;place-items:center;padding:32px;background:var(--cloud-paper)}
.auth-card{width:min(100%,440px);background:var(--cloud-surface);border:1px solid var(--cloud-border);border-radius:8px;padding:36px;color:var(--cloud-ink)}
.auth-brand{display:inline-flex}.auth-brand img{display:block;height:36px;width:auto}
.auth-card h1{font-size:30px;margin:26px 0 8px;letter-spacing:-1px;color:var(--cloud-ink)}
.auth-card p{color:var(--cloud-muted)}.auth-card input{width:100%;border-color:var(--control-border);background:var(--cloud-surface)}.auth-card label{display:block;margin:20px 0 5px;color:var(--cloud-ink)}
.auth-actions{display:grid;gap:10px;margin-top:24px}.auth-card small{display:block;margin-top:18px;color:var(--cloud-muted);line-height:1.7}.auth-message{min-height:24px;color:var(--cloud-accent)!important;font-size:14px;overflow-wrap:anywhere}.auth-message[data-tone="success"]{color:var(--cloud-success)!important}
.auth-help{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:12px}.auth-card .auth-link{min-height:44px;background:transparent;border:0;padding:8px 0;color:var(--cloud-muted);text-decoration:underline;text-underline-offset:3px;font-size:13px}.auth-card .auth-link:hover{color:var(--cloud-accent)}.auth-card #auth-password-hint,.auth-card #recovery-hint{margin-top:8px}.auth-card button:disabled{cursor:wait;opacity:.6}.auth-card [hidden]{display:none!important}
.web-session{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;padding:10px 20px 10px 270px;background:var(--raised);border-bottom:1px solid var(--cloud-border);font-size:12px;color:var(--cloud-ink)}.web-session p{margin:0}.web-session button{padding:5px 15px;background:var(--cloud-surface);min-height:40px;border:1px solid var(--cloud-border);color:var(--accent-ink)}.web-session a{font-weight:700;color:var(--cloud-accent)}.web-session strong{display:block}#web-workspace .sidebar{top:0}#web-workspace .profile{display:none}#web-account{overflow-wrap:anywhere}
@media(max-width:700px){.web-session{padding:12px 20px}.auth-page{padding:18px}.auth-card{padding:26px}.web-session strong{display:inline}}
.project-manager{max-width:940px;margin:auto;padding:36px 24px;color:var(--cloud-ink)}.project-manager header,.project-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-manager h1{margin-top:40px}.project-manager>p{color:var(--cloud-muted);line-height:1.8}.project-create{display:flex;gap:12px;margin:8px 0 24px}.project-create input{flex:1;min-width:0}.project-card{padding:24px;margin-top:20px}.project-card h2{margin:0;overflow-wrap:anywhere}.project-card p{overflow-wrap:anywhere}.project-card summary{cursor:pointer;min-height:44px;padding:12px 0}.project-card form{display:flex;align-items:end;gap:12px;margin:16px 0}.project-card form label{flex:1}.project-card input{width:100%;min-width:0}.project-key-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--cloud-border);padding:12px 0}.project-key-row span{overflow-wrap:anywhere}.project-manager [data-project-message]{min-height:24px;color:var(--cloud-accent)}.project-card [data-new-key]{padding:16px;border:1px solid var(--cloud-border);margin-bottom:16px}.project-card [data-key-token]{font-family:Consolas,monospace}.project-manager button{min-height:44px}.project-manager a{text-underline-offset:4px}.project-card-heading>a{white-space:nowrap}.project-manager [hidden]{display:none!important}@media(max-width:500px){.project-create,.project-card form{flex-direction:column;align-items:stretch}.project-card{padding:18px}.project-card-heading{align-items:flex-start;flex-direction:column}}
.signup-consent{font-size:12px;font-weight:400;line-height:1.7;margin-top:12px}.auth-card .signup-consent input{display:inline-block;width:auto;min-height:0;margin:0 5px 0 0}.signup-consent a{text-decoration:underline}
.social-actions{display:grid;gap:10px;margin-top:24px}.social-actions button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;width:100%;font-size:14px;font-weight:500;border:1px solid #747775;border-radius:8px}.social-google{background:#fff;color:#1f1f1f;font-family:"Google Sans",Arial,sans-serif}.social-google img{flex:none}.social-kakao{background:#fee500;padding:0;border-color:#fee500!important}.social-kakao img{max-width:100%;height:auto}.auth-card .auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0 8px;font-size:12px}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--cloud-border)}.auth-card button:focus-visible,.signup-consent input:focus-visible{outline:2px solid var(--cloud-accent);outline-offset:3px}

.console-theme-bar{display:flex;justify-content:flex-end;align-items:center;min-height:60px;padding:8px 24px;background:var(--cloud-paper)}.theme-toggle{min-height:44px;padding:0 12px;border:1px solid var(--control-border);background:var(--cloud-surface);color:var(--cloud-ink);font-size:13px}.theme-toggle[aria-pressed="true"]{border-color:var(--cloud-accent)}.auth-brand .brand-logo-dark,:root[data-theme="dark"] .auth-brand .brand-logo:not(.brand-logo-dark){display:none}:root[data-theme="dark"] .auth-brand .brand-logo-dark{display:block}.auth-actions>a{text-align:center}.project-manager footer,#web-workspace footer{flex-wrap:wrap;letter-spacing:0;font-size:12px;gap:12px 20px}.project-manager footer a,#web-workspace footer a{min-height:44px;display:inline-flex;align-items:center}
.project-card [data-gateway-form]{flex-wrap:wrap}.project-card .gateway-consent{flex:1 1 100%;display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.7;overflow-wrap:anywhere}.project-card .gateway-consent input{flex:none;width:20px;height:20px;min-height:0;margin:3px 0 0;accent-color:var(--cloud-accent)}.project-card .gateway-consent input:focus-visible{outline:2px solid var(--cloud-accent);outline-offset:3px}.project-card .gateway-consent a{text-decoration:underline}
.project-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.project-header-actions>a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}.project-header-actions>button{flex:none}.project-manager header{flex-wrap:wrap}
.project-connection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.project-connection-actions>a{display:inline-flex;align-items:center;min-height:44px}.project-connection-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;white-space:normal}.copy-icon{width:16px;height:16px;flex:none;background:currentColor;mask:url('/console/copy.svg') center/contain no-repeat}.project-card .connection-copy-status{min-height:24px;margin:8px 0}.connection-copy-fallback{max-width:100%;padding:12px;background:var(--cloud-surface);border:1px solid var(--cloud-border);white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 Consolas,monospace;user-select:all}.project-connection-actions a:focus-visible,.project-header-actions a:focus-visible{outline:2px solid var(--cloud-accent);outline-offset:3px}
@media(max-width:400px){.project-header-actions{gap:8px}.project-header-actions>a{padding:0 4px}.project-manager{padding:24px 16px}}
