body:not(.is-authenticated) #app_container{display:none!important}
:root {
    --bg-body: #f4f7f6;
    --bg-card: #ffffff;
    --text-main: #212529;
    --text-muted: #6c757d;
    --border-color: #e9ecef;
    --input-border: #ced4da;
    --input-bg: #ffffff;
    --primary: #0d6efd;
    --primary-hover: #0b5ed7;
    --success: #198754;
    --success-bg: #f0fdf4;
    --success-border: #a3cfbb;
    --info: #0dcaf0;
    --drop-bg: #f8faff;
    --table-hover: #f8f9fa;
    --table-header: #e9ecef;
    --shadow: 0 4px 15px rgba(0,0,0,0.03);
    --3d-bg: 0xf8f9fa;
}

[data-theme="dark"] {
    --bg-body: #121212;
    --bg-card: #1e1e1e;
    --text-main: #e0e0e0;
    --text-muted: #a0a0a0;
    --border-color: #333333;
    --input-border: #444444;
    --input-bg: #2a2a2a;
    --primary: #3d8bfd;
    --primary-hover: #0d6efd;
    --success: #20c997;
    --success-bg: #1a2c24;
    --success-border: #2b563f;
    --info: #0dcaf0;
    --drop-bg: #1a1e24;
    --table-hover: #2a2a2a;
    --table-header: #222222;
    --shadow: 0 4px 15px rgba(0,0,0,0.3);
    --3d-bg: 0x1e1e1e;
}

body { background-color: var(--bg-body); font-family: 'Inter', sans-serif; color: var(--text-main); margin:0; padding:0; transition: background 0.3s, color 0.3s; }
#akp_language_wrap { background: var(--bg-card) !important; border-color: var(--border-color) !important; color: var(--text-main); transition: background-color .3s, border-color .3s, color .3s; }
#akp_language { background: var(--input-bg) !important; color: var(--text-main) !important; color-scheme: light; }
#akp_language option { background-color: var(--input-bg); color: var(--text-main); }
[data-theme="dark"] #akp_language { color-scheme: dark; }
.container { max-width: 1200px; margin: 30px auto; padding: 0 20px; position: relative; }

.theme-toggle-btn { position: absolute; top: 0; right: 20px; background: var(--bg-card); border: 1px solid var(--border-color); color: var(--text-main); width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; cursor: pointer; transition: all 0.2s; box-shadow: var(--shadow); z-index: 100; }
.theme-toggle-btn:hover { transform: scale(1.1); color: var(--primary); }

#auth_container { max-width: 400px; margin: 10vh auto; background: var(--bg-card); padding: 40px; border-radius: 12px; box-shadow: var(--shadow); border: 1px solid var(--border-color); }
.auth-input { width: 100%; padding: 14px; margin-bottom: 20px; border: 1px solid var(--input-border); border-radius: 8px; box-sizing: border-box; font-size:16px; background: var(--input-bg); color: var(--text-main); transition: border 0.3s; }
.auth-input:focus { border-color: var(--primary); outline: none; }

.btn { padding: 12px 24px; border: none; border-radius: 8px; cursor: pointer; font-size: 15px; font-weight: 600; transition: all 0.2s; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: 'Inter', sans-serif; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }
.btn:active:not(:disabled) { transform: scale(0.97); }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover:not(:disabled) { background: var(--primary-hover); box-shadow: 0 4px 12px rgba(13,110,253,0.3); }
.btn-success { background: var(--success); color: #fff; }
.btn-success:hover:not(:disabled) { filter: brightness(1.1); box-shadow: 0 4px 12px rgba(25,135,84,0.3); }
.btn-info { background: var(--info); color: #000; }
.btn-secondary { background: var(--text-muted); color: #fff; }
.btn-danger { background: #dc3545; color: #fff; }

.step-card { background: var(--bg-card); border-radius: 12px; padding: 25px; margin-bottom: 25px; box-shadow: var(--shadow); border: 1px solid var(--border-color); transition: all 0.3s; }
.step-header { font-size: 20px; font-weight: 700; margin-top: 0; margin-bottom: 20px; color: var(--text-main); display: flex; align-items: center; justify-content: space-between; }
.step-header-left { display: flex; align-items: center; }
.step-num { background: var(--primary); color: #fff; width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; margin-right: 12px; font-weight: bold; }

.drop-zones-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
.drop-zone { border: 2px dashed var(--primary); border-radius: 12px; padding: 40px; text-align: center; background: var(--drop-bg); cursor: pointer; transition: all 0.3s; position: relative; }
.drop-zone:hover, .drop-zone.drag-over { background: rgba(13, 110, 253, 0.1); border-color: var(--primary-hover); transform: scale(1.01); }
.drop-zone.drag-over { animation: pulseBorder 1.5s infinite; }
.drop-zone.has-file { border-style: solid; border-color: var(--success); background: var(--success-bg); }
.drop-zone input[type="file"] { display: none; }
.drop-zone-icon { font-size: 42px; margin-bottom: 10px; color: var(--primary); display: block; }
.drop-zone.has-file .drop-zone-icon { color: var(--success); }
.drop-zone-text { font-size: 18px; font-weight: 600; color: var(--text-main); }
.drop-zone-subtext { font-size: 14px; color: var(--text-muted); margin-top: 5px; }

@keyframes pulseBorder { 0% { box-shadow: 0 0 0 0 rgba(13,110,253, 0.4); } 70% { box-shadow: 0 0 0 15px rgba(13,110,253, 0); } 100% { box-shadow: 0 0 0 0 rgba(13,110,253, 0); } }

.switch { position: relative; display: inline-block; width: 40px; height: 22px; margin-right: 12px; flex-shrink: 0; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--input-border); transition: .3s; border-radius: 22px; }
.slider:before { position: absolute; content: ""; height: 16px; width: 16px; left: 3px; bottom: 3px; background-color: white; transition: .3s; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
input:checked + .slider { background-color: var(--primary); }
input:checked + .slider:before { transform: translateX(18px); }
.switch-success input:checked + .slider { background-color: var(--success); }

.settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 15px; }
.external-fold-settings { display: flex; flex-direction: column; gap: 9px; min-width: 0; padding: 12px; border: 1px solid var(--border-color); border-radius: 8px; background: var(--bg-card); }
.external-fold-settings .input-group { width: 100%; max-width: 260px; }
.external-fold-settings .setting-label { min-width: 0; }
.setting-label { display: flex; align-items: center; cursor: pointer; font-size: 14px; font-weight: 500; color: var(--text-main); user-select: none; transition: opacity 0.2s; }
.setting-label:hover { opacity: 0.8; }

.input-group { display: flex; flex-direction: column; }
.input-group label { font-size: 12px; font-weight: 600; margin-bottom: 6px; color: var(--text-muted); }
.input-group input[type="number"], .input-group input[type="text"] { padding: 10px; border: 1px solid var(--input-border); border-radius: 8px; font-size: 15px; background: var(--input-bg); color: var(--text-main); transition: 0.2s; }
.input-group input[type="number"]:focus, .input-group input[type="text"]:focus { border-color: var(--primary); outline: none; box-shadow: 0 0 0 3px rgba(13,110,253,0.15); }

.panel-divider { border-left: 4px solid var(--input-border); padding-left: 20px; margin-bottom: 25px; }
.panel-linear { border-color: var(--primary); }
.panel-nest { border-color: var(--success); }

#viewer_container { position: relative; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow); margin-top: 25px; border: 1px solid var(--border-color); }
#viewer_ui { position: absolute; top: 15px; left: 15px; right: 15px; display: flex; justify-content: space-between; align-items: center; background: rgba(var(--bg-card), 0.8); padding: 10px 20px; border-radius: 8px; backdrop-filter: blur(8px); box-shadow: 0 4px 10px rgba(0,0,0,0.05); z-index: 10; border: 1px solid var(--border-color); }
#viewer_ui select { background: var(--input-bg); color: var(--text-main); border: 1px solid var(--input-border); }
#viewer_3d { width: 100%; height: 600px; background: #f8f9fa; }
#viewer_3d canvas { display: block; width: 100% !important; height: 100% !important; }
#viewer_container:fullscreen, #viewer_container:-webkit-full-screen { width: 100vw; height: 100vh; margin: 0; border: 0; border-radius: 0; }
#viewer_container:fullscreen #viewer_3d, #viewer_container:-webkit-full-screen #viewer_3d { width: 100%; height: 100%; }

.tabs { display: flex; gap: 20px; margin-bottom: 25px; border-bottom: 2px solid var(--border-color); padding-bottom: 0px; }
.tab-btn { background: none; border: none; padding: 12px 0; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--text-muted); border-bottom: 3px solid transparent; margin-bottom: -2px; transition: 0.3s; display: flex; align-items: center; gap: 6px; }
.tab-btn:hover { color: var(--text-main); }
.tab-btn.active { color: var(--primary); border-bottom-color: var(--primary); }
.tab-content { display: none; }
.tab-content.active { display: block; animation: fadeIn 0.3s; }
@keyframes fadeIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

#editor_page { position:fixed; top:0; left:0; width:100%; height:100%; background:var(--bg-body); z-index:10000; color: var(--text-main); display: flex; flex-direction: column; }
.editor-header { background:var(--bg-card); padding:20px; border-bottom:1px solid var(--border-color); display:flex; justify-content:space-between; align-items:center; z-index:10; box-shadow: var(--shadow); flex-shrink: 0; }

.table-wrapper { flex-grow: 1; overflow: auto; background: var(--bg-card); border-radius: 8px; border: 1px solid var(--border-color); position: relative; margin: 0 20px 20px 20px; box-shadow: var(--shadow); }
.ed-table { width: 100%; min-width:1300px; border-collapse: separate; border-spacing: 0; }
.ed-table th { font-size: 12px; color: var(--text-muted); text-align: center; padding: 12px 8px; background: var(--table-header); border-bottom: 2px solid var(--border-color); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; position: sticky; top: 0; z-index: 10; box-shadow: 0 2px 5px rgba(0,0,0,0.02); }
.ed-table td { padding: 4px 8px; border-bottom: 1px solid var(--border-color); position: relative; background: var(--bg-card); }
.ed-table tbody tr:hover td { background: var(--table-hover); }
.ed-table th:first-child { position: sticky; left: 0; z-index: 11; border-right: 2px solid var(--border-color); }
.ed-table td:first-child { position: sticky; left: 0; z-index: 5; border-right: 2px solid var(--border-color); }

.ed-in { width: 100%; padding: 8px 4px; border: 1px solid transparent; border-radius: 4px; font-size: 14px; box-sizing: border-box; text-align: center; background: transparent; color: var(--text-main); font-family: 'Inter', sans-serif; transition: all 0.2s; }
.ed-in:hover { border-color: var(--border-color); background: rgba(128,128,128,0.05); }
.ed-in:focus { border-color: var(--primary); outline: none; background: var(--input-bg); box-shadow: 0 0 0 3px rgba(13,110,253,0.1); }

.locked-step { opacity: 0.4; pointer-events: none; filter: grayscale(100%); transition: all 0.4s; }
.unlocked-step { opacity: 1; pointer-events: auto; filter: grayscale(0%); }

.type-thumb-card { display:flex; flex-direction:column; background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 8px; overflow:hidden; transition: 0.2s; }
.type-thumb-card:hover { border-color: var(--primary); box-shadow: 0 4px 12px rgba(0,0,0,0.05); }

.modal-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.6); z-index:10001; align-items:center; justify-content:center; backdrop-filter: blur(3px); }

.radio-label { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--text-main); cursor: pointer; margin-bottom: 8px; }
.radio-label input[type="radio"] { cursor: pointer; transform: scale(1.1); margin: 0; }

#hover_preview_tooltip {
    position: fixed; display: none; background: var(--bg-card); border: 1px solid var(--border-color);
    border-radius: 8px; padding: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); pointer-events: none;
    z-index: 10005; gap: 20px; align-items: center; transition: opacity 0.1s;
}
.theme-mode-control { position: fixed; top: 15px; right: 15px; z-index: 10001; display: flex; align-items: center; gap: 6px; min-height: 34px; box-sizing: border-box; padding: 5px 8px; background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 8px; color: var(--text-main); box-shadow: var(--shadow); }
.theme-mode-control:hover { border-color: var(--primary); }
#theme_mode { max-width: 105px; border: 0; outline: 0; background: var(--input-bg); color: var(--text-main); font: 600 13px 'Inter', sans-serif; cursor: pointer; color-scheme: light; }
#theme_mode option { background: var(--input-bg); color: var(--text-main); }
[data-theme="dark"] #theme_mode { color-scheme: dark; }
@media (max-width: 520px) { .theme-mode-control { top: 58px; right: 15px; } }
/* Public landing */
.landing-page{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 75% 12%,rgba(13,110,253,.15),transparent 28%),var(--bg-body)}
.landing-header{max-width:1200px;margin:auto;padding:20px 90px 20px 24px;display:flex;align-items:center;justify-content:space-between}.landing-header a{color:var(--text-main);text-decoration:none;font-weight:700}.landing-brand{display:flex;align-items:center;gap:11px}.landing-brand>i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;font-size:23px;background:linear-gradient(135deg,var(--primary),#7048e8);box-shadow:0 10px 25px rgba(13,110,253,.25)}.landing-brand small{display:block;color:var(--text-muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.landing-hero{max-width:1200px;min-height:540px;margin:auto;padding:65px 24px 50px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.landing-kicker{display:inline-flex;gap:7px;padding:7px 11px;border:1px solid rgba(13,110,253,.25);border-radius:99px;color:var(--primary);background:rgba(13,110,253,.07);font-weight:700;font-size:13px}.landing-copy h1{margin:22px 0 18px;font-size:clamp(40px,5vw,66px);line-height:1.04;letter-spacing:-.045em}.landing-copy h1 em{color:var(--primary);font-style:normal}.landing-copy>p{color:var(--text-muted);font-size:18px;line-height:1.7}.landing-actions{display:flex;align-items:center;gap:22px;margin:30px 0}.landing-actions a:last-child{color:var(--text-main);font-weight:700;text-underline-offset:5px}.landing-actions .btn{text-decoration:none;padding:15px 23px}.landing-trust{display:flex;flex-wrap:wrap;gap:18px;color:var(--text-muted);font-size:13px}.landing-trust span::first-letter{color:var(--success)}
.landing-visual{min-height:430px;position:relative;display:grid;place-items:center;perspective:900px}.visual-sheet{width:330px;height:245px;display:grid;place-items:center;position:relative;transform:rotateX(57deg) rotateZ(-34deg);border:32px solid rgba(13,110,253,.18);outline:2px solid var(--primary);background:var(--bg-card);box-shadow:38px 48px 55px rgba(0,0,0,.17);color:var(--text-muted);font-weight:800;letter-spacing:.1em}.visual-sheet:after{content:'';position:absolute;inset:17px;border:2px dashed var(--success)}.visual-sheet i{position:absolute;bottom:4px;font-size:10px;letter-spacing:0;color:var(--primary)}.visual-chip{position:absolute;padding:14px 17px;border:1px solid var(--border-color);border-radius:13px;background:var(--bg-card);box-shadow:0 16px 38px rgba(0,0,0,.13);font-size:12px;color:var(--text-muted)}.visual-chip b{display:block;color:var(--text-main);font-size:14px;margin-bottom:3px}.chip-a{right:0;top:38px}.chip-b{left:0;bottom:32px}
.landing-features{max-width:1200px;margin:auto;padding:35px 24px 90px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.landing-features article{padding:24px;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-card);box-shadow:var(--shadow)}.landing-features article>i{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;font-size:23px;color:var(--primary);background:rgba(13,110,253,.1)}.landing-features h3{margin:18px 0 9px;font-size:17px}.landing-features p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.55}
.landing-auth-section{max-width:1050px;margin:0 auto 70px;padding:55px;display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center;border:1px solid var(--border-color);border-radius:24px;background:linear-gradient(145deg,var(--bg-card),var(--drop-bg));box-shadow:0 24px 70px rgba(0,0,0,.07)}.auth-intro>span{color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.auth-intro h2{font-size:36px;line-height:1.15;margin:12px 0 16px}.auth-intro p{color:var(--text-muted);line-height:1.65}.landing-auth-section #auth_container{width:auto;margin:0;padding:30px;box-shadow:0 14px 40px rgba(0,0,0,.08)}.auth-note{text-align:center;color:var(--text-muted);font-size:11px;margin:17px 0 0}.auth-note i{color:var(--success)}.landing-footer{max-width:1200px;margin:auto;padding:28px 24px 38px;border-top:1px solid var(--border-color);text-align:center;color:var(--text-muted);font-size:12px}
@media(max-width:900px){.landing-hero{grid-template-columns:1fr;padding-top:45px}.landing-visual{min-height:380px}.landing-features{grid-template-columns:repeat(2,1fr)}.landing-auth-section{margin-left:20px;margin-right:20px;padding:38px;grid-template-columns:1fr}.auth-intro{text-align:center}}
@media(max-width:560px){.landing-header{padding:14px 16px}.landing-header>a:last-child{display:none}.landing-hero{padding:45px 20px 25px}.landing-copy h1{font-size:40px}.landing-copy>p{font-size:16px}.landing-actions{align-items:stretch;flex-direction:column}.landing-actions a{text-align:center}.landing-visual{min-height:310px;transform:scale(.76);margin:-30px}.landing-features{grid-template-columns:1fr;padding:20px 20px 60px}.landing-auth-section{padding:25px 18px;gap:24px;border-radius:18px}.auth-intro h2{font-size:28px}.landing-auth-section #auth_container{padding:25px 20px}.theme-mode-control{top:64px}}
/* Controls are part of document flow and never cover page content. */
.interface-controls{position:sticky;top:0;z-index:10020;min-height:52px;padding:8px max(16px,calc((100vw - 1200px)/2 + 24px));box-sizing:border-box;display:flex;flex-direction:row-reverse;align-items:center;gap:9px;background:color-mix(in srgb,var(--bg-body) 88%,transparent);border-bottom:1px solid var(--border-color);backdrop-filter:blur(14px)}
body.editor-page-open #interface_controls{display:none!important}
.interface-controls .theme-mode-control,.interface-controls #akp_language_wrap{position:static!important;display:flex;align-items:center;min-height:35px;margin:0;padding:5px 8px!important;box-sizing:border-box;background:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:8px;box-shadow:none!important;color:var(--text-main)}
.interface-controls #theme_mode,.interface-controls #akp_language{max-width:150px;border:0;outline:0;background:var(--input-bg)!important;color:var(--text-main)!important;font:600 13px Inter,sans-serif;cursor:pointer}
.landing-header{padding-right:24px}
@media(max-width:520px){.interface-controls{position:relative;justify-content:center;padding:8px}.interface-controls .theme-mode-control{position:static!important}.interface-controls #theme_mode,.interface-controls #akp_language{max-width:125px;font-size:12px}}
/* Navigation inside the shared top bar */
.interface-controls{flex-direction:row}
.interface-nav{display:flex;align-items:center;gap:8px;margin-right:auto}.interface-nav a{min-height:35px;padding:0 11px;display:inline-flex;align-items:center;gap:7px;box-sizing:border-box;border-radius:8px;color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.interface-nav a:hover{color:var(--primary);background:rgba(13,110,253,.08)}.interface-nav .interface-brand{padding-left:0;color:var(--text-main);font-size:16px}.interface-brand>i{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--primary),#7048e8);font-size:20px}
@media(max-width:620px){.interface-controls{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px}.interface-nav{grid-column:1/-1;width:100%;justify-content:center;margin:0}.interface-controls .theme-mode-control,.interface-controls #akp_language_wrap{justify-content:center;min-width:0}.interface-controls #theme_mode,.interface-controls #akp_language{width:100%;max-width:none}.interface-nav a{padding:0 8px}.interface-nav .interface-brand{margin-right:auto}}
@media(max-width:390px){.interface-nav a span{display:none}.interface-nav a{font-size:18px}.interface-nav .interface-brand b{display:inline;font-size:14px}}
/* Top-bar order: brand | language | theme | sign in */
.interface-controls .interface-nav{order:0;margin-right:auto}.interface-controls #akp_language_wrap{order:1}.interface-controls .theme-mode-control{order:2}.top-auth-link{order:3;min-height:35px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;box-sizing:border-box;border-radius:8px;background:var(--primary);color:#fff;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.top-auth-link:hover{background:var(--primary-hover);box-shadow:0 4px 12px rgba(13,110,253,.25)}
@media(max-width:620px){.interface-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.interface-controls .interface-nav{grid-column:1;grid-row:1;margin-right:auto;justify-content:flex-start}.interface-controls #akp_language_wrap{grid-column:1;grid-row:2}.interface-controls .theme-mode-control{grid-column:2;grid-row:2}.top-auth-link{grid-column:3;grid-row:1;justify-self:end}.interface-nav .interface-brand{margin:0}}
@media(max-width:390px){.top-auth-link span{display:none}.top-auth-link{width:35px;padding:0;justify-content:center;font-size:18px}}
/* Authentication opens only on explicit user action. */
.auth-modal{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;background:rgba(6,12,24,.66);backdrop-filter:blur(7px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.auth-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.auth-modal-card{position:relative;width:min(100%,420px);transform:translateY(14px) scale(.98);transition:transform .2s ease}.auth-modal.is-open .auth-modal-card{transform:none}.auth-modal #auth_container{display:block!important;width:100%;max-width:none;margin:0;padding:38px 32px 30px;box-sizing:border-box;box-shadow:0 28px 80px rgba(0,0,0,.28)}.auth-modal-close{position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-muted);font-size:21px;cursor:pointer}.auth-modal-close:hover{color:var(--text-main);background:var(--table-hover)}body.auth-modal-open{overflow:hidden}
@media(max-width:480px){.auth-modal{align-items:flex-end;padding:10px}.auth-modal-card{width:100%}.auth-modal #auth_container{padding:38px 22px 25px;border-radius:18px}}
/* Build history */
#history_list{display:grid;gap:12px}.history-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);box-shadow:var(--shadow)}.history-card-info{min-width:0;display:flex;flex-direction:column;gap:6px}.history-card-info strong{color:var(--text-main);font-size:15px}.history-card-info span{color:var(--text-muted);font-size:12px}.history-files{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.history-download{padding:8px 12px;font-size:12px}.history-no-files{color:var(--text-muted);font-size:12px}.history-message{padding:35px 20px;text-align:center;border:1px dashed var(--border-color);border-radius:12px;color:var(--text-muted);background:var(--bg-card)}.history-message.is-error{color:#dc3545;border-color:rgba(220,53,69,.35);background:rgba(220,53,69,.06)}
@media(max-width:650px){.history-card{align-items:flex-start;flex-direction:column}.history-files{width:100%;justify-content:flex-start}.history-download{flex:1}}
/* Authenticated user state in the shared top bar. */
.top-user-panel{order:3;align-items:center;gap:8px;min-width:0;color:var(--text-main);font-size:12px}
.top-user-panel>span{min-height:35px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;box-sizing:border-box;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);white-space:nowrap}
.top-user-name{max-width:180px}.top-user-name b{overflow:hidden;text-overflow:ellipsis}
.top-balance i{color:var(--primary);font-size:16px}.top-balance-paid i{color:var(--success)}
.top-balance b{font-size:15px}
.top-logout-btn{min-height:35px;padding:0 13px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;background:var(--text-muted);color:#fff;font:700 13px Inter,sans-serif;cursor:pointer;white-space:nowrap}
.top-logout-btn:hover{filter:brightness(.9)}
@media(max-width:760px){
  .interface-controls{grid-template-columns:minmax(0,1fr) auto}
  .interface-controls .interface-nav{grid-column:1;grid-row:1}
  .top-auth-link{grid-column:2;grid-row:1}
  .top-user-panel{grid-column:1/-1;grid-row:2;width:100%;justify-content:flex-end;overflow-x:auto}
  .interface-controls #akp_language_wrap{grid-column:1;grid-row:3}
  .interface-controls .theme-mode-control{grid-column:2;grid-row:3}
}
@media(max-width:520px){
  .top-user-panel{justify-content:flex-start}
  .top-user-panel>span{padding:0 7px}
  .top-user-name{max-width:105px}
  .top-balance>span{display:none}
  .top-logout-btn span{display:none}
  .top-logout-btn{width:35px;padding:0;justify-content:center}
}

/* Optional administrator-selected workspace with a left sidebar. */
.workspace-sidebar{display:none}
body.layout-sidebar.is-authenticated #app_container{max-width:1480px!important;display:grid!important;grid-template-columns:220px minmax(0,1fr);column-gap:24px;align-items:start}
body.layout-sidebar #workspace_sidebar{display:flex;grid-column:1;grid-row:1/4;position:sticky;top:76px;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);box-shadow:var(--shadow)}
.workspace-sidebar-title{padding:8px 10px 12px;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.workspace-sidebar button{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-main);font:600 13px Inter,sans-serif;text-align:left;cursor:pointer}
.workspace-sidebar button i{width:24px;color:var(--primary);font-size:19px;text-align:center}
.workspace-sidebar button:hover{background:rgba(13,110,253,.09);color:var(--primary)}
.workspace-sidebar button.is-active{background:rgba(13,110,253,.12);color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}
body.layout-sidebar #tabs_bar,body.layout-sidebar #main_tab,body.layout-sidebar #history_tab{grid-column:2;min-width:0}
body.layout-sidebar #tabs_bar{grid-row:1}
body.layout-sidebar #main_tab,body.layout-sidebar #history_tab{grid-row:2}
body.layout-sidebar .step-card{scroll-margin-top:78px}
@media(max-width:900px){
  body.layout-sidebar.is-authenticated #app_container{display:block!important}
  body.layout-sidebar #workspace_sidebar{position:sticky;top:0;z-index:50;display:flex;flex-direction:row;overflow-x:auto;margin-bottom:16px;padding:8px;border-radius:10px}
  .workspace-sidebar-title{display:none}
  .workspace-sidebar button{width:auto;min-width:max-content}
}

.source-manual-action { text-align:center; margin-top:20px; }
.source-manual-action > span { color:var(--text-muted); margin-right:15px; font-size:14px; }
.source-loaded-state { display:flex; align-items:center; min-width:0; gap:10px; padding:2px 0; color:var(--text-main); }
.source-loaded-state[hidden] { display:none; }
.source-loaded-state > i { flex:0 0 auto; color:var(--success); font-size:25px; }
.source-loaded-caption { flex:0 0 auto; color:var(--text-muted); font-size:14px; }
#source_file_name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.source-change-btn { flex:0 0 auto; margin-left:auto; padding:8px 14px; font-size:13px; }
#step1.source-loaded { padding-top:14px; padding-bottom:14px; }
#step1.source-loaded .step-header { margin-bottom:10px; font-size:17px; }
#step1.source-loaded .step-num { width:24px; height:24px; font-size:12px; }
@media(max-width:620px) {
 .source-loaded-state { flex-wrap:wrap; }
 .source-loaded-caption { display:none; }
 #source_file_name { flex:1 1 calc(100% - 40px); }
 .source-change-btn { width:100%; margin-left:0; }
 .source-manual-action > span { display:block; margin:0 0 10px; }
}
.step-header-actions { display:flex; align-items:center; gap:10px; }
.step-collapse-toggle { padding:8px 12px; font-size:13px; }
.step-card.is-collapsed { padding-top:10px; padding-bottom:10px; }
.step-card.is-collapsed > .step-header { margin-bottom:0; font-size:16px; }
.step-card.is-collapsed > :not(.step-header) { display:none !important; }
.step-card.is-collapsed .step-num { width:24px; height:24px; font-size:12px; }
.step-card.is-collapsed .step-collapse-toggle { padding:6px 11px; }
.step-card.is-collapsed .step-header-actions > .btn-info { display:none; }
@media(max-width:620px) {
 .step-header-actions { gap:6px; }
 .step-collapse-toggle span { display:none; }
 .step-collapse-toggle { min-width:36px; padding:8px; }
}
#viewer_container.fullscreen-only-viewer { position:fixed; left:-200vw; top:0; width:100vw; height:100vh; margin:0; }
#viewer_container.fullscreen-only-viewer:fullscreen,
#viewer_container.fullscreen-only-viewer:-webkit-full-screen { left:0; }
/* Subscription-gated development features. Visibility is granted by the authenticated VPS response. */
.development-feature{display:none!important}.can-view-development .development-feature:not(.experimental-workspace){display:block!important}.can-view-development .workspace-experimental-nav{display:flex!important}.can-view-development .experimental-workspace{display:none!important}.can-view-development.experimental-workspace-open .experimental-workspace{display:block!important}.development-badge{display:inline-flex;align-items:center;padding:4px 8px;margin-left:8px;border-radius:999px;background:#f59f00;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.development-note{margin:0;color:var(--text-muted)}.top-subscription i{color:#f59f00;font-size:16px}
.experimental-workspace{scroll-margin-top:78px}.experimental-workspace-heading{margin-bottom:18px;padding:20px 22px;border:1px solid color-mix(in srgb,#d63384 28%,var(--border-color));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,#6f42c1 8%,var(--bg-card)),color-mix(in srgb,#d63384 6%,var(--bg-card)))}.experimental-workspace-heading>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.experimental-workspace-heading i{color:#8b5cf6;font-size:27px}.experimental-workspace-heading h2{margin:0;font-size:21px}.experimental-workspace-heading p{margin:9px 0 0;color:var(--text-muted);line-height:1.5}.experimental-realistic-card .btn-realistic{width:100%;margin-top:18px;padding:15px}.experimental-workspace-open #step1,.experimental-workspace-open #step2,.experimental-workspace-open #step3,.experimental-workspace-open #step4{display:none!important}.experimental-workspace-open #tabs_bar{display:none}.experimental-workspace-open #progress_container,.experimental-workspace-open #output_2d,.experimental-workspace-open #viewer_container{display:none!important}

/* Isolated experimental realistic 3D viewer. */
.btn-realistic{background:linear-gradient(135deg,#6f42c1,#d63384);color:#fff;border:0}.btn-realistic:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 18px rgba(111,66,193,.3)}.button-dev-badge{margin-left:7px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.2);font-size:9px;font-weight:800;text-transform:uppercase}.realistic-viewer{position:fixed;inset:0;z-index:12000;width:100vw;height:100vh;flex-direction:column;background:#171a20;color:#fff}.realistic-toolbar{z-index:2;min-height:64px;display:flex;align-items:center;gap:14px;padding:10px 18px;box-sizing:border-box;background:rgba(20,23,29,.96);border-bottom:1px solid rgba(255,255,255,.12)}.realistic-toolbar>div{margin-right:auto}.realistic-toolbar select{min-width:180px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:#252a32;color:#fff}.realistic-viewer #realistic_viewer_3d{flex:1;min-height:0;width:100%}.realistic-viewer #realistic_viewer_3d canvas{display:block;width:100%;height:100%}.realistic-viewer #realistic_progress{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px}.realistic-viewer #realistic_progress i{font-size:30px;color:#c49cff}@media(max-width:650px){.realistic-toolbar{flex-wrap:wrap}.realistic-toolbar>div{width:100%}.realistic-toolbar select{flex:1;min-width:0}}
.material-stack-badge{display:inline-flex;margin-left:9px;padding:4px 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#cfd6de;font-size:11px;font-weight:650;white-space:nowrap}@media(max-width:650px){.material-stack-badge{margin:7px 0 0;white-space:normal}}

.realistic-mode-control{display:flex;align-items:center;gap:7px;color:#aeb8c5;font-size:12px;font-weight:700}.realistic-mode-control select{min-width:170px}.realistic-viewer canvas{outline:none}
/* Isolated experimental TAP to DXF converter. */
.tap-converter-card{border-color:color-mix(in srgb,#d63384 32%,var(--border-color));background:linear-gradient(145deg,var(--bg-card),color-mix(in srgb,#d63384 4%,var(--bg-card)))}
.tap-converter-card .step-header-left{gap:9px;flex-wrap:wrap}.tap-converter-card .step-header-left>i{color:#d63384;font-size:24px}.tap-converter-description{margin:-4px 0 20px;color:var(--text-muted);font-size:13px;line-height:1.55}
.tap-converter-grid{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(125px,1fr));gap:12px;align-items:end}.tap-converter-field{min-width:0;display:flex;flex-direction:column;gap:7px;color:var(--text-main);font-size:12px;font-weight:700}.tap-converter-field input{width:100%;min-height:42px;box-sizing:border-box;padding:9px 11px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text-main);font:500 13px Inter,sans-serif}.tap-converter-field input:focus{outline:2px solid color-mix(in srgb,var(--primary) 28%,transparent);border-color:var(--primary)}.tap-converter-file-field input{padding:8px}.tap-converter-file-field input::file-selector-button{margin-right:9px;padding:7px 10px;border:0;border-radius:6px;background:color-mix(in srgb,var(--primary) 12%,var(--input-bg));color:var(--primary);font-weight:700;cursor:pointer}
.tap-converter-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:17px}.tap-converter-check{display:flex;align-items:center;gap:9px;color:var(--text-main);font-size:13px;font-weight:650}.tap-converter-check input{width:18px;height:18px;accent-color:var(--primary)}.tap-converter-status{margin-top:16px;padding:12px;border:1px solid var(--border-color);border-radius:9px;background:color-mix(in srgb,var(--primary) 5%,var(--bg-card))}.tap-converter-status[data-state="error"]{border-color:rgba(220,53,69,.4);color:var(--danger)}.tap-converter-status[data-state="success"]{border-color:rgba(25,135,84,.4);color:var(--success)}.tap-converter-status-line{margin-bottom:8px;font-size:13px;font-weight:700}.tap-converter-progress{height:7px;overflow:hidden;border-radius:99px;background:var(--border-color)}.tap-converter-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#d63384);transition:width .25s ease}.tap-converter-download{margin-top:14px}.tap-converter-report{max-height:280px;overflow:auto;margin:14px 0 0;padding:15px;border:1px solid var(--border-color);border-radius:9px;background:var(--drop-bg);color:var(--text-main);font:12px/1.6 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1050px){.tap-profile-row{grid-template-columns:1fr}.tap-converter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tap-converter-file-field{grid-column:1/-1}}@media(max-width:600px){.tap-profile-row{margin-left:0}.tap-converter-grid{grid-template-columns:1fr}.tap-converter-file-field{grid-column:auto}.tap-converter-actions{align-items:stretch;flex-direction:column}.tap-converter-actions .btn{width:100%}.tap-converter-card .development-badge{margin-left:0}}

.cutout-editor-modal {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(0, 0, 0, 0.58);
}
.cutout-editor-modal[hidden] { display: none; }
.cutout-editor-dialog {
    width: min(1180px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 20px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-card);
    color: var(--text-main);
    box-shadow: var(--shadow);
}
.cutout-editor-header,
.cutout-editor-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.cutout-editor-header h3 { margin: 0 0 5px; }
.cutout-editor-header p { margin: 0; color: var(--text-muted); }
.cutout-editor-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(420px, 1.1fr);
    gap: 20px;
    margin: 20px 0;
}
.cutout-preview-wrap {
    position: sticky;
    top: 0;
    align-self: start;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-body);
}
#cutout_preview { display: block; width: 100%; height: auto; }
.cutout-item {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-body);
}
.cutout-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.cutout-coordinate-grid,
.cutout-edge-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(90px, 1fr));
    gap: 8px;
}
.cutout-edge-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    margin-top: 12px;
}
.cutout-field label,
.cutout-edge label {
    display: block;
    margin-bottom: 4px;
    color: var(--text-muted);
    font-size: 12px;
}
.cutout-field input,
.cutout-edge input,
.cutout-edge select {
    width: 100%;
    box-sizing: border-box;
    padding: 8px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-card);
    color: var(--text-main);
}
.cutout-edge {
    padding: 9px;
    border-left: 3px solid var(--primary);
    background: var(--bg-card);
}
.cutout-edge-existing {
    color: var(--text-muted);
    border-left-color: var(--border-color);
}
.cutout-edge-sizes {
    display: grid;
    grid-template-columns: repeat(2, minmax(80px, 1fr));
    gap: 7px;
    margin-top: 7px;
}
.cutout-empty {
    margin-bottom: 14px;
    padding: 20px;
    text-align: center;
    color: var(--text-muted);
    border: 1px dashed var(--border-color);
    border-radius: 10px;
}
.cutout-editor-actions { justify-content: flex-end; }
@media (max-width: 820px) {
    .cutout-editor-modal { padding: 10px; }
    .cutout-editor-dialog { max-height: calc(100vh - 20px); padding: 14px; }
    .cutout-editor-layout { grid-template-columns: 1fr; }
    .cutout-preview-wrap { position: static; }
    .cutout-coordinate-grid,
    .cutout-edge-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
}
@media (max-width: 480px) {
    .cutout-coordinate-grid,
    .cutout-edge-grid { grid-template-columns: 1fr; }
    .cutout-editor-header { align-items: flex-start; }
}
.cutout-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.cutout-toolbar .btn { padding: 7px 10px; }
.cutout-snap-field {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    color: var(--text-muted);
    font-size: 13px;
    white-space: nowrap;
}
.cutout-snap-field input {
    width: 74px;
    padding: 6px 8px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: var(--input-bg, var(--bg-card));
    color: var(--text-main);
}
#cutout_preview {
    width: 100%;
    min-height: 300px;
    touch-action: none;
    user-select: none;
}
.cutout-preview-rect,
.cutout-preview-label { cursor: move; }
.cutout-preview-label { pointer-events: all; user-select: none; }
.cutout-resize-handle {
    fill: var(--primary);
    stroke: var(--bg-card);
    stroke-width: 2;
}
.cutout-resize-handle[data-cutout-handle="nw"],
.cutout-resize-handle[data-cutout-handle="se"] { cursor: nwse-resize; }
.cutout-resize-handle[data-cutout-handle="ne"],
.cutout-resize-handle[data-cutout-handle="sw"] { cursor: nesw-resize; }
.cutout-pointer-hint {
    min-height: 20px;
    margin-top: 8px;
    color: var(--text-muted);
    font-size: 13px;
}
@media (max-width: 520px) {
    .cutout-snap-field { width: 100%; margin-left: 0; }
    #cutout_preview { min-height: 240px; }
}
.realistic-toolbar>.realistic-export-actions{display:flex;align-items:center;gap:8px;margin-right:0}.realistic-export-actions .btn{min-width:78px}@media(max-width:650px){.realistic-toolbar>.realistic-export-actions{width:auto;margin-left:auto}.realistic-export-actions .btn{min-width:68px;padding:8px 10px}}
.material-rotation-container{margin:4px 0 12px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border-color));border-radius:9px;background:color-mix(in srgb,var(--primary) 5%,var(--bg-card))}.material-rotation-title{margin-bottom:9px;font-size:13px;font-weight:750;color:var(--text-main)}.material-rotation-hint{margin:0 0 10px;font-size:12px;line-height:1.4;color:var(--text-muted)}.material-rotation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 14px}.material-rotation-item{min-width:0;padding:7px 9px;border-radius:7px;background:var(--bg-card)}.material-rotation-item .material-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-material-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.viewer-material-controls label{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;font-weight:700;color:inherit}.viewer-material-controls label>span{white-space:nowrap}.viewer-material-controls select,.viewer-material-controls input[type=text]{min-width:112px;max-width:170px;padding:7px 9px;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--text-main)}.viewer-material-controls input[type=color]{width:34px;height:32px;padding:2px;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);cursor:pointer}.realistic-toolbar{flex-wrap:wrap}.realistic-toolbar>.viewer-material-controls{margin-right:0}.realistic-toolbar>.viewer-material-controls select,.realistic-toolbar>.viewer-material-controls input[type=text]{min-width:110px;max-width:145px;background:#252a32;color:#fff;border-color:rgba(255,255,255,.2)}.realistic-toolbar>.viewer-material-controls input[type=color]{border-color:rgba(255,255,255,.2);background:#252a32}.standard-viewer-materials{justify-content:center;flex:1;margin:0 14px}@media(max-width:900px){#viewer_ui{flex-wrap:wrap;gap:10px}.standard-viewer-materials{order:3;flex-basis:100%;margin:0;justify-content:flex-start}}@media(max-width:650px){.realistic-toolbar>.viewer-material-controls{width:100%;order:3}.viewer-material-controls label{flex:1 1 250px}.viewer-material-controls select,.viewer-material-controls input[type=text]{flex:1;max-width:none}}
.top-compute-share{display:inline-flex;align-items:center;gap:5px;color:var(--text-main);text-decoration:none;padding:6px 8px;border-radius:8px}.top-compute-share:hover{background:var(--drop-bg)}@media(max-width:900px){.top-compute-share span{display:none}}

/* AKP registration form */
.auth-modal-card{width:min(100%,460px)}
.auth-modal #auth_container{max-height:calc(100vh - 40px);overflow-y:auto}
.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 38px 24px 0;padding:4px;border-radius:10px;background:var(--drop-bg);border:1px solid var(--border-color)}
.auth-mode-switch button{min-height:38px;padding:7px 12px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font:700 13px Inter,sans-serif;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.auth-mode-switch button.is-active{background:var(--bg-card);color:var(--primary);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.auth-mode-switch button:focus-visible,.auth-terms input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.auth-modal #auth_title{margin:0 0 22px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.auth-fields{display:grid;gap:13px}
#auth_container [hidden]{display:none!important}
.auth-field{display:grid;gap:6px;color:var(--text-main);font-size:13px;font-weight:700}
.auth-field .auth-input{margin:0}
.auth-password-hint{margin:-2px 0 0;color:var(--text-muted);font-size:12px;line-height:1.45}
.auth-terms{display:flex;align-items:flex-start;gap:9px;color:var(--text-muted);font-size:12px;line-height:1.45;cursor:pointer}
.auth-terms input{flex:0 0 auto;width:16px;height:16px;margin:1px 0 0;accent-color:var(--primary)}
.auth-submit{width:100%;margin-top:20px}
.auth-message{min-height:20px;margin-top:14px;text-align:center;font-size:13px;line-height:1.4}
#auth_container.is-busy .auth-fields,#auth_container.is-busy .auth-mode-switch{opacity:.68}
@media(max-width:480px){.auth-modal #auth_container{max-height:calc(100vh - 20px)}.auth-mode-switch{margin-right:32px}}