.part-preview-popover{position:fixed;inset:auto;margin:0;padding:0;width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 8px 32px #0003}.part-preview-popover header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}.part-preview-popover header small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.part-preview-scene{position:relative;height:min(210px,38dvh);touch-action:none}.part-preview-scene .three-view{position:absolute;top:0;right:0;bottom:0;left:0}.part-preview-info{padding:10px 12px;font-size:12px}.part-preview-info strong,.part-preview-info small{display:block}.part-preview-info small,.part-preview-info p{color:var(--muted);font-size:10px;margin:4px 0 0}.part-preview-scene .asset-viewer{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;overflow:hidden;touch-action:none}.part-preview-scene .asset-viewer canvas{display:block;width:100%;height:100%}.parts-browser{position:absolute;z-index:3;bottom:18px;left:50%;transform:translate(-50%);width:min(1080px,calc(100% - 330px));padding:0 12px 10px;display:flex;flex-direction:column;max-height:55%}.dock-bottom:not(.dock-collapsed) .parts-browser{height:290px}.dock-bottom .parts-list{flex:1}.palette-header{display:flex;align-items:center;gap:16px;min-height:46px;border-bottom:1px solid var(--line);flex-shrink:0}.palette-choices{display:flex;align-items:center;gap:4px}.palette-choices button{white-space:nowrap;padding:6px 10px;border-radius:6px;font-size:12px;min-height:32px}.palette-choices button:hover{background:var(--tint)}.palette-choices button[aria-pressed=true]{color:var(--accent);background:var(--tint);font-weight:700}.palette-domains{flex-shrink:0;gap:4px}.palette-domains button{padding:6px 16px;border-radius:18px}.palette-domains button[aria-pressed=true]{background:var(--tm-action);color:var(--tm-on-action)}.palette-search{display:flex;align-items:center;gap:7px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:0 8px;height:30px;margin-left:auto;width:min(280px,40%)}.palette-search input{border:0;background:transparent;color:var(--text);min-width:0;width:100%;font-size:12px;outline-offset:4px}.palette-search button{display:grid;place-items:center}.palette-search-key{flex:none;min-width:18px;padding:0 4px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font:11px/16px var(--tm-font-mono);text-align:center}.palette-search:focus-within .palette-search-key{display:none}@media(hover:none){.palette-search-key{display:none}}.palette-tools{display:flex;margin-left:auto;gap:2px}.palette-tools .icon-button{width:30px;height:30px}.palette-filters{display:flex;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);flex-shrink:0}.palette-track-count,.palette-types{display:flex;align-items:center;gap:8px;min-width:0}.palette-track-count{border-right:1px solid var(--line);padding-right:12px;flex-shrink:0}.palette-caption{color:var(--muted);font-size:10px;white-space:nowrap}.palette-types .palette-choices{flex-wrap:wrap}.palette-results-header{display:flex;justify-content:space-between;align-items:center;height:28px;flex-shrink:0;color:var(--muted);font-size:10px}.palette-results-header>div{display:flex;gap:4px}.palette-results-header button{width:28px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:5px}.palette-results-header button:disabled{opacity:.3}.parts-list{display:flex;gap:16px;overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;padding:0 0 6px}.palette-result-group{flex:0 0 auto;min-width:0}.palette-result-group+.palette-result-group{border-left:1px solid var(--line);padding-left:16px}.palette-result-group h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:11px;font-weight:600}.palette-result-group h3 span{color:var(--muted);font-weight:400;font-size:10px}.palette-group-cards{display:flex;gap:8px}.part-choice{flex:0 0 126px;width:126px;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden}.part-choice:has(.part-item.active){border-color:var(--accent);background:var(--tint)}.part-item{width:100%;display:flex;flex-direction:column;align-items:stretch;padding:6px 8px 4px;text-align:left}.part-item:hover{background:var(--tint)}.part-item:focus-visible,.part-preview-trigger:focus-visible,.palette-choices button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.part-card-visual{height:32px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.part-card-visual svg{width:100%;height:32px}.part-card-name{font-size:11px;font-weight:600;height:30px;line-height:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.part-card-code{font-size:10px;color:var(--muted);line-height:16px}.part-card-footer{display:flex;align-items:center;justify-content:space-between;padding:0 6px;border-top:1px solid var(--line);height:28px;color:var(--muted)}.part-card-detail{font-size:10px}.part-preview-trigger,.app .part-preview-trigger{display:flex;align-items:center;justify-content:center;gap:3px;font-size:10px;min-height:26px;min-width:40px;border-radius:4px;color:var(--muted)}.part-preview-trigger:hover,.part-preview-trigger[aria-expanded=true]{background:var(--tint);color:var(--accent)}.catalog-empty{padding:20px;font-size:12px;color:var(--muted)}.app.dock-bottom .canvas-area{bottom:calc(var(--palette-height, 250px) + 64px)}.app.dock-bottom .status-bar{bottom:calc(var(--palette-height, 250px) + 30px)}.app.dock-bottom .selection-bar{bottom:calc(var(--palette-height, 250px) + 62px)}.app.dock-left .parts-browser{top:0;bottom:0;left:0;transform:none;width:264px;max-height:100%;padding:0 12px;border-radius:0}.dock-left .palette-header{flex-wrap:wrap;gap:8px;padding:10px 0}.dock-left .palette-domains button{padding:6px 12px}.dock-left .palette-search{order:3;width:100%;margin:0}.dock-left .palette-filters{align-items:stretch;flex-direction:column;gap:8px}.dock-left .palette-track-count{border:0;padding:0}.dock-left .palette-types{align-items:flex-start}.dock-left .palette-types .palette-caption{padding-top:9px}.dock-left .palette-types .palette-choices{flex:1}.dock-left .palette-choices button{padding:6px 9px}.dock-left .parts-list{flex:1;flex-direction:column;overflow-x:hidden}.dock-left .palette-result-group+.palette-result-group{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.dock-left .palette-group-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.dock-left .part-choice{width:auto;min-width:0}.app.dock-left .canvas-area{left:calc(var(--palette-width, 264px) + 12px);bottom:88px}.app.dock-left .tools{left:calc(var(--palette-width, 264px) + 12px);max-width:calc(100% - var(--palette-width, 264px) - 24px)}.app.dock-left .status-bar{left:calc(var(--palette-width, 264px) + 12px);bottom:27px}.app.dock-left .selection-bar{left:calc(var(--palette-width, 264px) + 12px);transform:none;bottom:80px}.app.dock-left.dock-collapsed .parts-browser{width:64px;padding:8px}.dock-left.dock-collapsed .palette-header{border:0;flex-direction:column}.dock-left.dock-collapsed .palette-domains{flex-direction:column}.dock-left.dock-collapsed .palette-domains button{padding:6px 2px;font-size:10px}.dock-left.dock-collapsed .palette-tools{flex-direction:column;margin:0}.dock-bottom.dock-collapsed .parts-browser{padding-bottom:0}.dock-bottom.dock-collapsed .palette-header{border:0}@media(max-width:1100px){.dock-bottom:not(.dock-collapsed) .parts-browser{height:340px}.app.dock-bottom .parts-browser{width:calc(100% - 36px)}.app.dock-bottom .view-controls{bottom:calc(var(--palette-height, 250px) + 30px)}}@media(max-width:640px){.dock-bottom:not(.dock-collapsed) .parts-browser{height:390px}.parts-browser{max-height:54%}.palette-header{gap:6px;flex-wrap:wrap;padding:6px 0}.palette-domains{flex:1 0 100%;min-width:0;overflow-x:auto;scrollbar-width:none}.palette-domains button{padding-inline:12px}.palette-tools{order:4;margin-left:0}.palette-search{order:3;flex:1;width:auto;min-width:0;margin:0}.palette-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px}.palette-track-count,.palette-types{flex-shrink:0}.palette-types .palette-choices{flex-wrap:nowrap}.palette-choice-count{display:none}.palette-search-scope{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.palette-caption{display:none}.app.dock-left .parts-browser{width:210px}.dock-left .palette-group-cards{grid-template-columns:1fr}}@media(pointer:coarse){.dock-bottom:not(.dock-collapsed) .parts-browser{height:390px}.palette-choices button,.palette-tools .icon-button,.palette-results-header button,.part-preview-trigger,.app .part-preview-trigger{min-height:44px;min-width:44px}.palette-search{min-height:44px}.palette-search input{font-size:16px}.part-card-footer{height:45px}.palette-results-header{height:46px}}.part-choice{position:relative}.part-favorite{position:absolute;z-index:1;top:2px;right:2px;width:28px;height:28px;display:grid;place-items:center;border-radius:5px;color:var(--muted);background:var(--surface)}.app .part-favorite{min-height:28px}.part-favorite[aria-pressed=true]{color:var(--accent)}.part-favorite:hover{background:var(--tint)}.part-favorite:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.part-card-visual{padding-right:20px}.palette-sort{max-width:100px;height:26px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text);font:inherit}.palette-domains button:has(svg){display:grid;place-items:center;padding-inline:12px}@media(pointer:coarse){.part-favorite{width:44px;height:44px}.palette-sort{min-height:44px}.part-card-visual{padding-right:36px}}.palette-choice-count{margin-left:4px;font-size:9px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}.palette-filters[data-searching] .palette-track-count,.palette-filters[data-searching] .palette-types{opacity:.45}.palette-search-scope{font-size:10px;color:var(--muted);white-space:nowrap}.part-card-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:20px;padding:0 6px 2px 8px;color:var(--muted)}.part-variants{display:flex;align-items:center;gap:3px;min-width:0}.part-choice .part-variants button{display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid var(--line);color:var(--muted);background:var(--surface)}.part-variants.color button{width:13px;height:13px;flex-shrink:0;border-radius:50%;background:var(--swatch, var(--surface))}.part-variants.color button[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--accent)}.part-variants.hand button{min-width:26px;height:22px;padding:0 6px;border-radius:11px;font-size:11px;font-weight:600}.part-variants.hand button[aria-pressed=true]{background:var(--tm-action);color:var(--tm-on-action);border-color:transparent}.part-variants button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.part-count{position:absolute;z-index:1;top:4px;left:4px;padding:0 4px;border-radius:4px;font-size:10px;line-height:15px;font-weight:600;color:var(--accent);background:var(--tint);font-variant-numeric:tabular-nums;pointer-events:none}.dock-left .palette-domains button:has(svg){padding-inline:8px}.part-variant-select{display:none}@media(any-pointer:coarse),(max-width:800px){.part-variants{display:none}.part-variant-select{display:block;flex:1;min-width:0;margin-right:4px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text)}}.dock-left .palette-choices button{padding-inline:7px}.palette-domains button{flex-shrink:0}.dock-left:not(.dock-collapsed) .palette-search{order:3;flex:1;width:auto;min-width:0}.dock-left:not(.dock-collapsed) .palette-tools{order:4}.palette-filters{min-height:47px}.palette-view-note{font-size:11px;color:var(--muted)}@media(pointer:coarse){.palette-filters{min-height:59px}}.appearance-picker{position:relative;display:inline-flex}.appearance-options{position:fixed;margin:0;inset:auto;width:min(360px,85vw);padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 8px 35px #0003;z-index:80;color:var(--text);max-height:calc(100dvh - 16px);overflow:auto}.appearance-options header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.appearance-choices{display:flex;gap:7px;overflow:auto;padding-bottom:5px}.appearance-choices>button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:90px;min-height:70px;padding:7px;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit;font-size:11px}.appearance-choices>button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.appearance-choices>button>span:first-child{max-height:40px}.appearance-choices>button>svg:not(.appearance-thumbnail){position:absolute;top:3px;right:3px;color:var(--accent)}.appearance-thumbnail{width:82px;height:35px}.appearance-preview{height:210px;margin-top:8px;border-radius:8px;overflow:hidden}.appearance-preview .asset-viewer{height:100%;min-height:0}.test-run.workspace{position:relative}.run-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.run-controls{position:absolute;left:18px;bottom:20px;width:350px;padding:14px 16px;border-radius:18px;max-height:70%;overflow-y:auto}.run-control-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.run-control-row:first-child strong{flex:1}.run-control-row label{display:flex;align-items:center;gap:12px;flex:1;min-width:0;white-space:nowrap}.run-control-row label select{flex:1;width:0}.run-controls select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:5px;min-width:0}.run-control-row input[type=range]{width:105px;accent-color:var(--accent)}.run-control-row output{margin-left:auto;font-variant-numeric:tabular-nums;min-width:46px;text-align:right}.run-control-row small{display:block;color:var(--muted);font-size:10px}.run-controls p{font-size:12px;margin:7px 0;line-height:1.6}.run-controls details{color:var(--muted);font-size:11px}.run-controls summary{cursor:pointer}.run-warning{color:var(--warning)}.run-switches{display:grid;gap:7px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.run-switches label{display:flex;justify-content:space-between;align-items:center;font-size:12px}.run-view-controls{position:absolute;bottom:22px;right:20px;display:flex;border-radius:12px;padding:4px}.test-run .mini-view{right:20px}.run-power-mode{display:flex;align-items:center;gap:6px;font-size:12px;margin:8px 0}.run-power-packs>div{display:flex;align-items:center;gap:6px;margin:10px 0}.run-power-packs label{display:flex;align-items:center;flex:1;gap:6px;font-size:12px}.run-power-packs input{width:100px;accent-color:var(--accent)}.run-power-packs output{font-size:12px;min-width:30px}.run-panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:4px}.run-panel-heading span{color:var(--muted);font-size:12px;flex:1}.run-controls{max-width:calc(100% - 36px);overscroll-behavior:contain}@media(max-width:600px){.run-controls{left:10px;bottom:74px;max-width:calc(100% - 20px);max-height:48%;padding:8px 12px}.run-control-row{flex-wrap:wrap}.run-view-controls{bottom:14px;right:10px}}@media(any-pointer:coarse){.run-controls input[type=range]{min-height:44px;touch-action:pan-y}.run-controls select{min-height:44px}}.power-editor h3{font-size:14px;margin:20px 0 9px}.power-plan{width:100%;height:210px;background:var(--bg);border:1px solid var(--line);border-radius:10px;margin-top:12px}.power-plan [role=button]{cursor:pointer}.power-plan [role=button]:focus-visible{outline:none}.power-plan [role=button]:focus-visible circle{stroke:var(--text);stroke-width:3px}.power-legend{font-size:11px;color:var(--muted)}.power-row>.power-dot{flex:none;width:9px;height:9px;border-radius:50%}.power-bill small{display:block;color:var(--muted)}.power-summary{display:flex;align-items:center;gap:20px;padding:12px;border-radius:10px;background:var(--tint)}.power-check{display:flex;gap:8px;font-size:12px;margin-top:10px}.power-row{display:flex;align-items:center;gap:9px;margin:8px 0}.power-row>span{flex:1;font-size:12px}.power-row>input{flex:1;min-width:80px}.power-row small{color:var(--muted)}.power-row label{display:flex;gap:3px;align-items:center;font-size:12px}.power-editor input:not([type=checkbox]),.power-editor select{background:var(--surface);color:var(--text);font:inherit;border:1px solid var(--line);border-radius:7px;padding:5px 7px;min-width:0}.power-new{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px}.power-new button,.power-add{background:var(--tint);color:var(--accent);border-radius:7px;padding:6px 9px;display:inline-flex;align-items:center;gap:6px}.power-editor details{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.6}.power-editor summary{cursor:pointer}.power-error{color:var(--warning)}.power-bill{width:100%;border-collapse:collapse;font-size:12px}.power-bill td,.power-bill th{padding:8px 5px;border-bottom:1px solid var(--line);text-align:left}.power-bill td:last-child,.power-bill th:last-child{text-align:right}.app.account-screen{min-height:0;overflow:auto}.account-spacer{flex:1}.app .account-menu-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px 0 8px;border:1px solid var(--line);border-radius:var(--tm-radius-pill);background:var(--tm-surface);color:var(--tm-text);font-size:13px}.app .account-menu-button[aria-expanded=true]{background:var(--tint)}.account-menu-button .account-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-panel{position:fixed;z-index:50;min-width:220px;max-width:calc(100vw - 16px);padding:6px;border:1px solid var(--line);border-radius:var(--tm-radius-surface);background:var(--tm-surface);color:var(--tm-text);box-shadow:0 12px 40px #0003}.account-menu-name{margin:6px 10px 8px;color:var(--tm-muted);font-size:12px;overflow-wrap:anywhere}.account-menu-panel ul{list-style:none;margin:0;padding:0}.app .account-menu-panel [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 10px;border-radius:var(--tm-radius-control);color:inherit;font-size:14px;text-align:left}.account-menu-panel [role=separator]{height:1px;margin:6px 4px;background:var(--line)}@media(forced-colors:active){.account-menu-panel{border-color:CanvasText}}.account-screen .app-header{position:sticky;top:0}.app.account-screen .modes button{width:auto;padding-inline:12px;white-space:nowrap}.library-content{max-width:1200px;margin:auto;padding:42px 32px}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.library-heading h1{font-size:24px;margin:0 0 10px}.library-heading .primary{display:flex;align-items:center;gap:8px}.library-actions,.library-actions>button,.template-back,.template-size,.template-size label,.template-categories,.template-card .layout-card-meta>span{display:flex;align-items:center;gap:8px}.library-actions,.template-size,.template-categories{flex-wrap:wrap}.template-back{margin-bottom:18px;color:var(--accent)}.template-filters{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.template-categories button{border-radius:20px;padding:8px 14px;border:1px solid var(--line)}.template-categories button.active{background:var(--tm-action);color:var(--tm-on-action)}.template-size input{width:106px;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}.template-size-note{font-size:12px;line-height:1.7}.template-card{display:flex;flex-direction:column}.template-card .layout-card-details{flex:1}.template-card .layout-card-cover{height:180px}.template-card .muted{font-size:13px;line-height:1.6}.template-series{color:var(--muted);font-size:12px}.template-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}.template-source{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--accent)}.template-search{display:flex;align-items:center;gap:8px}.template-search input{width:220px;max-width:60vw;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}.template-dimensions{font-size:18px;font-variant-numeric:tabular-nums}.template-card details{font-size:12px;color:var(--muted);line-height:1.7}.template-card summary{cursor:pointer;padding:5px 0}.template-card ul{padding-left:18px}.layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}.layout-card{padding:0;text-align:left;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}.layout-card:hover{border-color:var(--accent)}.layout-card-open{display:block;width:100%;padding:0;text-align:left;border-radius:0}.layout-card-copy{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;border-top:1px solid var(--line);border-radius:0;color:var(--accent)}.layout-card-cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;padding:14px}.layout-card-cover{position:relative;overflow:hidden;height:145px;display:grid;place-items:center;color:var(--accent);background:var(--tint)}.layout-card-details{padding:20px;display:flex;flex-direction:column;gap:10px}.layout-card-details strong{overflow-wrap:anywhere}.layout-card-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.library-empty{padding:90px 20px;text-align:center;color:var(--muted)}.library-error{padding:16px;margin-bottom:20px;border:1px solid var(--warning);border-radius:12px;color:var(--warning)}.library-error button{margin-left:16px;text-decoration:underline}.login-card{max-width:460px;margin:12vh auto;padding:36px;background:var(--surface);border:1px solid var(--line);border-radius:24px;text-align:center}.login-card>svg{color:var(--accent)}.login-card h1{font-size:32px}.login-card p{line-height:1.8}.login-link{display:block;text-decoration:none;margin:28px 0}.allowlist-form{display:flex;gap:12px;max-width:600px}.allowlist-form input{flex:1;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.allowlist{list-style:none;padding:0;max-width:600px}.allowlist li{display:flex;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.layout-name-field select{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}@media(max-width:600px){.library-content{padding:28px 18px}.account-name{display:none}.login-card{margin:8vh 16px;padding:24px}.account-screen .app-header{gap:8px}.library-heading h1{font-size:20px}}@media(max-width:600px){.app.account-screen .app-header{height:auto;min-height:58px;padding-block:8px;flex-wrap:wrap}.account-screen .app-header .brand{margin-right:auto}.account-screen .account-spacer{flex-basis:100%;height:0;order:1}.account-screen .app-header .modes{order:2;margin-right:auto}.account-screen .app-header .train-appearance{order:2}.library-heading{align-items:flex-start;flex-direction:column;gap:14px}.allowlist-form{flex-wrap:wrap}.allowlist-form input{flex-basis:100%;font-size:16px}.allowlist li{align-items:center}.template-size input{font-size:16px}}.layout-card-actions{display:flex;border-top:1px solid var(--line)}.layout-card-actions button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-height:44px;border-radius:0}.layout-card-actions button+button{border-left:1px solid var(--line)}.layout-management{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 20px 80px #0004}.layout-management::backdrop{background:#091a2b88}.layout-management h2{font-size:20px;margin:0 0 24px}.layout-management p{line-height:1.7;font-size:14px}.layout-management label{display:grid;gap:8px;margin:18px 0;font-size:14px}.layout-management input,.layout-management select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface);font:inherit}.layout-management-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.layout-management-actions button{min-height:44px;padding:10px 16px}.layout-management .tm-button.danger:not(:disabled){background:#bd3344;color:#fff}.layout-management .tm-button.danger:before{display:none}.layout-delete-name{overflow-wrap:anywhere;font-weight:600}.library-notice{padding:12px 16px;border-radius:10px;background:var(--tint);color:var(--text)}.template-elevation{color:var(--accent);font-size:12px;font-weight:600}.template-filters>.modes{position:static;inset:auto;transform:none;flex:0 0 auto}.template-filters>.template-categories{flex-basis:100%;order:-1}@font-face{font-family:DM Sans;src:url(/assets/dm-sans-CaIixsPY.woff2) format("woff2");font-style:normal;font-weight:100 1000;font-display:swap}@font-face{font-family:LINE Seed JP;src:url(/assets/line-seed-jp-regular-Cmo2tr1V.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:LINE Seed JP;src:url(/assets/line-seed-jp-bold-DUcdxscC.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{--tm-font-sans: "DM Sans", "LINE Seed JP", system-ui, -apple-system, "Segoe UI", sans-serif;--tm-font-mono: ui-monospace, Consolas, monospace;--tm-font-size-caption: .8125rem;--tm-font-size-small: .875rem;--tm-font-size-body: 1rem;--tm-font-size-lead: 1.25rem;--tm-font-size-title: 2rem;--tm-font-weight-regular: 400;--tm-font-weight-strong: 600;--tm-font-weight-japanese-strong: 700;--tm-font-line-height-body: 1.55;--tm-font-line-height-reading: 1.6;--tm-font-line-height-japanese: 1.8;--tm-font-line-height-heading: 1.2;--tm-space-1: .25rem;--tm-space-2: .5rem;--tm-space-3: .75rem;--tm-space-4: 1rem;--tm-space-6: 1.5rem;--tm-space-8: 2rem;--tm-space-12: 3rem;--tm-space-16: 4rem;--tm-radius-control: .625rem;--tm-radius-surface: 1rem;--tm-radius-pill: 999px;--tm-control-min-height: max(44px, 2.75rem);--tm-control-focus-width: 3px;--tm-control-focus-offset: 3px;--tm-motion-fast: .12s;--tm-motion-normal: .18s;--tm-motion-settle: .28s;--tm-motion-sweep: .48s;--tm-motion-ease: cubic-bezier(.2, 0, 0, 1);--tm-background: #F7F7F5;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #303841;--tm-on-action: #FFFFFF;--tm-link: #303841;--tm-focus: #303841;color-scheme:light}[data-tm-mode=light],[data-tm-mode=system]{--tm-background: #F7F7F5;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #303841;--tm-on-action: #FFFFFF;--tm-link: #303841;--tm-focus: #303841;color-scheme:light}[data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #F7F7F5;--tm-on-action: #14171B;--tm-link: #F7F7F5;--tm-focus: #F7F7F5;color-scheme:dark}@media(prefers-color-scheme:dark){:root:where(:not([data-tm-mode=light]):not([data-tm-mode=dark])),[data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #F7F7F5;--tm-on-action: #14171B;--tm-link: #F7F7F5;--tm-focus: #F7F7F5;color-scheme:dark}}[data-tm-palette=teal-apricot][data-tm-mode=light]{--tm-background: #FAF8F2;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #E58C62;--tm-on-action: #14171B;--tm-link: #08515A;--tm-focus: #08515A;--tm-brand-body: #08515A;--tm-brand-accent: #E58C62;--tm-mark-body: #08515A;--tm-mark-accent: #E58C62;color-scheme:light}[data-tm-palette=teal-apricot][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #E58C62;--tm-on-action: #14171B;--tm-link: #E58C62;--tm-focus: #E58C62;--tm-brand-body: #08515A;--tm-brand-accent: #E58C62;--tm-mark-body: #FAF8F2;--tm-mark-accent: #E58C62;color-scheme:dark}[data-tm-palette=teal-apricot]:not([data-tm-mode]),[data-tm-palette=teal-apricot][data-tm-mode=system]{--tm-background: #FAF8F2;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #E58C62;--tm-on-action: #14171B;--tm-link: #08515A;--tm-focus: #08515A;--tm-brand-body: #08515A;--tm-brand-accent: #E58C62;--tm-mark-body: #08515A;--tm-mark-accent: #E58C62;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=teal-apricot]:not([data-tm-mode]),[data-tm-palette=teal-apricot][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #E58C62;--tm-on-action: #14171B;--tm-link: #E58C62;--tm-focus: #E58C62;--tm-brand-body: #08515A;--tm-brand-accent: #E58C62;--tm-mark-body: #FAF8F2;--tm-mark-accent: #E58C62;color-scheme:dark}}[data-tm-palette=ink-coral][data-tm-mode=light]{--tm-background: #FAF7F3;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #EC806F;--tm-on-action: #14171B;--tm-link: #252B37;--tm-focus: #252B37;--tm-brand-body: #252B37;--tm-brand-accent: #EC806F;--tm-mark-body: #252B37;--tm-mark-accent: #EC806F;color-scheme:light}[data-tm-palette=ink-coral][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #EC806F;--tm-on-action: #14171B;--tm-link: #EC806F;--tm-focus: #EC806F;--tm-brand-body: #252B37;--tm-brand-accent: #EC806F;--tm-mark-body: #FAF7F3;--tm-mark-accent: #EC806F;color-scheme:dark}[data-tm-palette=ink-coral]:not([data-tm-mode]),[data-tm-palette=ink-coral][data-tm-mode=system]{--tm-background: #FAF7F3;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #EC806F;--tm-on-action: #14171B;--tm-link: #252B37;--tm-focus: #252B37;--tm-brand-body: #252B37;--tm-brand-accent: #EC806F;--tm-mark-body: #252B37;--tm-mark-accent: #EC806F;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=ink-coral]:not([data-tm-mode]),[data-tm-palette=ink-coral][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #EC806F;--tm-on-action: #14171B;--tm-link: #EC806F;--tm-focus: #EC806F;--tm-brand-body: #252B37;--tm-brand-accent: #EC806F;--tm-mark-body: #FAF7F3;--tm-mark-accent: #EC806F;color-scheme:dark}}[data-tm-palette=pine-gold][data-tm-mode=light]{--tm-background: #F8F7EF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #D9B45E;--tm-on-action: #14171B;--tm-link: #29483E;--tm-focus: #29483E;--tm-brand-body: #29483E;--tm-brand-accent: #D9B45E;--tm-mark-body: #29483E;--tm-mark-accent: #D9B45E;color-scheme:light}[data-tm-palette=pine-gold][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #D9B45E;--tm-on-action: #14171B;--tm-link: #D9B45E;--tm-focus: #D9B45E;--tm-brand-body: #29483E;--tm-brand-accent: #D9B45E;--tm-mark-body: #F8F7EF;--tm-mark-accent: #D9B45E;color-scheme:dark}[data-tm-palette=pine-gold]:not([data-tm-mode]),[data-tm-palette=pine-gold][data-tm-mode=system]{--tm-background: #F8F7EF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #D9B45E;--tm-on-action: #14171B;--tm-link: #29483E;--tm-focus: #29483E;--tm-brand-body: #29483E;--tm-brand-accent: #D9B45E;--tm-mark-body: #29483E;--tm-mark-accent: #D9B45E;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=pine-gold]:not([data-tm-mode]),[data-tm-palette=pine-gold][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #D9B45E;--tm-on-action: #14171B;--tm-link: #D9B45E;--tm-focus: #D9B45E;--tm-brand-body: #29483E;--tm-brand-accent: #D9B45E;--tm-mark-body: #F8F7EF;--tm-mark-accent: #D9B45E;color-scheme:dark}}[data-tm-palette=indigo-lilac][data-tm-mode=light]{--tm-background: #F8F7FC;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #B1A2EF;--tm-on-action: #14171B;--tm-link: #353A68;--tm-focus: #353A68;--tm-brand-body: #353A68;--tm-brand-accent: #B1A2EF;--tm-mark-body: #353A68;--tm-mark-accent: #B1A2EF;color-scheme:light}[data-tm-palette=indigo-lilac][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #B1A2EF;--tm-on-action: #14171B;--tm-link: #B1A2EF;--tm-focus: #B1A2EF;--tm-brand-body: #353A68;--tm-brand-accent: #B1A2EF;--tm-mark-body: #F8F7FC;--tm-mark-accent: #B1A2EF;color-scheme:dark}[data-tm-palette=indigo-lilac]:not([data-tm-mode]),[data-tm-palette=indigo-lilac][data-tm-mode=system]{--tm-background: #F8F7FC;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #B1A2EF;--tm-on-action: #14171B;--tm-link: #353A68;--tm-focus: #353A68;--tm-brand-body: #353A68;--tm-brand-accent: #B1A2EF;--tm-mark-body: #353A68;--tm-mark-accent: #B1A2EF;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=indigo-lilac]:not([data-tm-mode]),[data-tm-palette=indigo-lilac][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #B1A2EF;--tm-on-action: #14171B;--tm-link: #B1A2EF;--tm-focus: #B1A2EF;--tm-brand-body: #353A68;--tm-brand-accent: #B1A2EF;--tm-mark-body: #F8F7FC;--tm-mark-accent: #B1A2EF;color-scheme:dark}}[data-tm-palette=cobalt-ice][data-tm-mode=light]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #5EDBFF;--tm-on-action: #14171B;--tm-link: #174FF6;--tm-focus: #174FF6;--tm-brand-body: #174FF6;--tm-brand-accent: #5EDBFF;--tm-mark-body: #174FF6;--tm-mark-accent: #5EDBFF;color-scheme:light}[data-tm-palette=cobalt-ice][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #5EDBFF;--tm-on-action: #14171B;--tm-link: #5EDBFF;--tm-focus: #5EDBFF;--tm-brand-body: #174FF6;--tm-brand-accent: #5EDBFF;--tm-mark-body: #FFFFFF;--tm-mark-accent: #5EDBFF;color-scheme:dark}[data-tm-palette=cobalt-ice]:not([data-tm-mode]),[data-tm-palette=cobalt-ice][data-tm-mode=system]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #5EDBFF;--tm-on-action: #14171B;--tm-link: #174FF6;--tm-focus: #174FF6;--tm-brand-body: #174FF6;--tm-brand-accent: #5EDBFF;--tm-mark-body: #174FF6;--tm-mark-accent: #5EDBFF;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=cobalt-ice]:not([data-tm-mode]),[data-tm-palette=cobalt-ice][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #5EDBFF;--tm-on-action: #14171B;--tm-link: #5EDBFF;--tm-focus: #5EDBFF;--tm-brand-body: #174FF6;--tm-brand-accent: #5EDBFF;--tm-mark-body: #FFFFFF;--tm-mark-accent: #5EDBFF;color-scheme:dark}}[data-tm-palette=graphite-lime][data-tm-mode=light]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #ACFF35;--tm-on-action: #14171B;--tm-link: #202632;--tm-focus: #202632;--tm-brand-body: #202632;--tm-brand-accent: #ACFF35;--tm-mark-body: #202632;--tm-mark-accent: #ACFF35;color-scheme:light}[data-tm-palette=graphite-lime][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #ACFF35;--tm-on-action: #14171B;--tm-link: #ACFF35;--tm-focus: #ACFF35;--tm-brand-body: #202632;--tm-brand-accent: #ACFF35;--tm-mark-body: #FFFFFF;--tm-mark-accent: #ACFF35;color-scheme:dark}[data-tm-palette=graphite-lime]:not([data-tm-mode]),[data-tm-palette=graphite-lime][data-tm-mode=system]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #ACFF35;--tm-on-action: #14171B;--tm-link: #202632;--tm-focus: #202632;--tm-brand-body: #202632;--tm-brand-accent: #ACFF35;--tm-mark-body: #202632;--tm-mark-accent: #ACFF35;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=graphite-lime]:not([data-tm-mode]),[data-tm-palette=graphite-lime][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #ACFF35;--tm-on-action: #14171B;--tm-link: #ACFF35;--tm-focus: #ACFF35;--tm-brand-body: #202632;--tm-brand-accent: #ACFF35;--tm-mark-body: #FFFFFF;--tm-mark-accent: #ACFF35;color-scheme:dark}}[data-tm-palette=midnight-pink][data-tm-mode=light]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #FF4DA6;--tm-on-action: #14171B;--tm-link: #171B48;--tm-focus: #171B48;--tm-brand-body: #171B48;--tm-brand-accent: #FF4DA6;--tm-mark-body: #171B48;--tm-mark-accent: #FF4DA6;color-scheme:light}[data-tm-palette=midnight-pink][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #FF4DA6;--tm-on-action: #14171B;--tm-link: #FF4DA6;--tm-focus: #FF4DA6;--tm-brand-body: #171B48;--tm-brand-accent: #FF4DA6;--tm-mark-body: #FFFFFF;--tm-mark-accent: #FF4DA6;color-scheme:dark}[data-tm-palette=midnight-pink]:not([data-tm-mode]),[data-tm-palette=midnight-pink][data-tm-mode=system]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #FF4DA6;--tm-on-action: #14171B;--tm-link: #171B48;--tm-focus: #171B48;--tm-brand-body: #171B48;--tm-brand-accent: #FF4DA6;--tm-mark-body: #171B48;--tm-mark-accent: #FF4DA6;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=midnight-pink]:not([data-tm-mode]),[data-tm-palette=midnight-pink][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #FF4DA6;--tm-on-action: #14171B;--tm-link: #FF4DA6;--tm-focus: #FF4DA6;--tm-brand-body: #171B48;--tm-brand-accent: #FF4DA6;--tm-mark-body: #FFFFFF;--tm-mark-accent: #FF4DA6;color-scheme:dark}}[data-tm-palette=carbon-lime][data-tm-mode=light]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #ACFF35;--tm-on-action: #14171B;--tm-link: #171A1C;--tm-focus: #171A1C;--tm-brand-body: #171A1C;--tm-brand-accent: #ACFF35;--tm-mark-body: #171A1C;--tm-mark-accent: #ACFF35;color-scheme:light}[data-tm-palette=carbon-lime][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #ACFF35;--tm-on-action: #14171B;--tm-link: #ACFF35;--tm-focus: #ACFF35;--tm-brand-body: #171A1C;--tm-brand-accent: #ACFF35;--tm-mark-body: #FFFFFF;--tm-mark-accent: #ACFF35;color-scheme:dark}[data-tm-palette=carbon-lime]:not([data-tm-mode]),[data-tm-palette=carbon-lime][data-tm-mode=system]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #ACFF35;--tm-on-action: #14171B;--tm-link: #171A1C;--tm-focus: #171A1C;--tm-brand-body: #171A1C;--tm-brand-accent: #ACFF35;--tm-mark-body: #171A1C;--tm-mark-accent: #ACFF35;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=carbon-lime]:not([data-tm-mode]),[data-tm-palette=carbon-lime][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #ACFF35;--tm-on-action: #14171B;--tm-link: #ACFF35;--tm-focus: #ACFF35;--tm-brand-body: #171A1C;--tm-brand-accent: #ACFF35;--tm-mark-body: #FFFFFF;--tm-mark-accent: #ACFF35;color-scheme:dark}}[data-tm-palette=graphite-volt][data-tm-mode=light]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #8AF53B;--tm-on-action: #14171B;--tm-link: #202632;--tm-focus: #202632;--tm-brand-body: #202632;--tm-brand-accent: #8AF53B;--tm-mark-body: #202632;--tm-mark-accent: #8AF53B;color-scheme:light}[data-tm-palette=graphite-volt][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #8AF53B;--tm-on-action: #14171B;--tm-link: #8AF53B;--tm-focus: #8AF53B;--tm-brand-body: #202632;--tm-brand-accent: #8AF53B;--tm-mark-body: #FFFFFF;--tm-mark-accent: #8AF53B;color-scheme:dark}[data-tm-palette=graphite-volt]:not([data-tm-mode]),[data-tm-palette=graphite-volt][data-tm-mode=system]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #8AF53B;--tm-on-action: #14171B;--tm-link: #202632;--tm-focus: #202632;--tm-brand-body: #202632;--tm-brand-accent: #8AF53B;--tm-mark-body: #202632;--tm-mark-accent: #8AF53B;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=graphite-volt]:not([data-tm-mode]),[data-tm-palette=graphite-volt][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #8AF53B;--tm-on-action: #14171B;--tm-link: #8AF53B;--tm-focus: #8AF53B;--tm-brand-body: #202632;--tm-brand-accent: #8AF53B;--tm-mark-body: #FFFFFF;--tm-mark-accent: #8AF53B;color-scheme:dark}}[data-tm-palette=carbon-volt][data-tm-mode=light]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #8AF53B;--tm-on-action: #14171B;--tm-link: #171A1C;--tm-focus: #171A1C;--tm-brand-body: #171A1C;--tm-brand-accent: #8AF53B;--tm-mark-body: #171A1C;--tm-mark-accent: #8AF53B;color-scheme:light}[data-tm-palette=carbon-volt][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #8AF53B;--tm-on-action: #14171B;--tm-link: #8AF53B;--tm-focus: #8AF53B;--tm-brand-body: #171A1C;--tm-brand-accent: #8AF53B;--tm-mark-body: #FFFFFF;--tm-mark-accent: #8AF53B;color-scheme:dark}[data-tm-palette=carbon-volt]:not([data-tm-mode]),[data-tm-palette=carbon-volt][data-tm-mode=system]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #8AF53B;--tm-on-action: #14171B;--tm-link: #171A1C;--tm-focus: #171A1C;--tm-brand-body: #171A1C;--tm-brand-accent: #8AF53B;--tm-mark-body: #171A1C;--tm-mark-accent: #8AF53B;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=carbon-volt]:not([data-tm-mode]),[data-tm-palette=carbon-volt][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #8AF53B;--tm-on-action: #14171B;--tm-link: #8AF53B;--tm-focus: #8AF53B;--tm-brand-body: #171A1C;--tm-brand-accent: #8AF53B;--tm-mark-body: #FFFFFF;--tm-mark-accent: #8AF53B;color-scheme:dark}}[data-tm-palette=carbon-volt-soft][data-tm-mode=light]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #A4D47C;--tm-on-action: #14171B;--tm-link: #343B3E;--tm-focus: #343B3E;--tm-brand-body: #343B3E;--tm-brand-accent: #A4D47C;--tm-mark-body: #343B3E;--tm-mark-accent: #A4D47C;color-scheme:light}[data-tm-palette=carbon-volt-soft][data-tm-mode=dark]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #A4D47C;--tm-on-action: #14171B;--tm-link: #A4D47C;--tm-focus: #A4D47C;--tm-brand-body: #343B3E;--tm-brand-accent: #A4D47C;--tm-mark-body: #FFFFFF;--tm-mark-accent: #A4D47C;color-scheme:dark}[data-tm-palette=carbon-volt-soft]:not([data-tm-mode]),[data-tm-palette=carbon-volt-soft][data-tm-mode=system]{--tm-background: #FFFFFF;--tm-surface: #FFFFFF;--tm-text: #22262B;--tm-muted: #5F656D;--tm-border: #747A82;--tm-action: #A4D47C;--tm-on-action: #14171B;--tm-link: #343B3E;--tm-focus: #343B3E;--tm-brand-body: #343B3E;--tm-brand-accent: #A4D47C;--tm-mark-body: #343B3E;--tm-mark-accent: #A4D47C;color-scheme:light}@media(prefers-color-scheme:dark){[data-tm-palette=carbon-volt-soft]:not([data-tm-mode]),[data-tm-palette=carbon-volt-soft][data-tm-mode=system]{--tm-background: #14171B;--tm-surface: #20242A;--tm-text: #F7F7F5;--tm-muted: #B3BAC4;--tm-border: #7F8996;--tm-action: #A4D47C;--tm-on-action: #14171B;--tm-link: #A4D47C;--tm-focus: #A4D47C;--tm-brand-body: #343B3E;--tm-brand-accent: #A4D47C;--tm-mark-body: #FFFFFF;--tm-mark-accent: #A4D47C;color-scheme:dark}}.tm-scope{color:var(--tm-text);font-family:var(--tm-font-sans);font-size:var(--tm-font-size-body);line-height:var(--tm-font-line-height-body);font-optical-sizing:auto;font-synthesis:none}.tm-title{font-size:var(--tm-font-size-title);line-height:var(--tm-font-line-height-heading);font-weight:var(--tm-font-weight-strong);letter-spacing:-.025em}.tm-heading,.tm-product-name{font-size:var(--tm-font-size-lead);line-height:1.4;font-weight:var(--tm-font-weight-strong)}.tm-body{font-size:var(--tm-font-size-body);line-height:var(--tm-font-line-height-reading);font-weight:var(--tm-font-weight-regular)}.tm-caption{font-size:var(--tm-font-size-caption);color:var(--tm-muted)}.tm-title:lang(ja),.tm-heading:lang(ja){font-weight:var(--tm-font-weight-japanese-strong);line-height:1.6;letter-spacing:normal}.tm-body:lang(ja){line-height:var(--tm-font-line-height-japanese)}.tm-button,.tm-tabs>[role=tab]{box-sizing:border-box}.tm-button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:var(--tm-space-2);min-height:var(--tm-control-min-height);border:1px solid transparent;border-radius:var(--tm-radius-control);padding:var(--tm-space-2) var(--tm-space-4);font:inherit;font-weight:650;text-decoration:none;color:var(--tm-on-action);background:var(--tm-action);cursor:pointer;transition:background-color var(--tm-motion-normal) var(--tm-motion-ease),transform var(--tm-motion-settle) var(--tm-motion-ease)}.tm-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 15%,#FFFFFF33 48%,transparent 80%);transform:translate(-110%);opacity:0}.tm-button:focus-visible:not(:disabled):before{animation:tm-action-light var(--tm-motion-sweep) var(--tm-motion-ease)}.tm-button--secondary{color:var(--tm-text);background:var(--tm-surface);border-color:var(--tm-border)}.tm-button--quiet{color:var(--tm-text);background:transparent}.tm-button--secondary:before,.tm-button--quiet:before{display:none}.tm-button--secondary:focus-visible:not(:disabled),.tm-button--quiet:focus-visible:not(:disabled){background:color-mix(in srgb,var(--tm-text) 6%,var(--tm-surface))}.tm-button:disabled{color:var(--tm-muted);background:color-mix(in srgb,var(--tm-text) 6%,var(--tm-surface));cursor:not-allowed;opacity:1}@keyframes tm-action-light{0%{transform:translate(-110%);opacity:0}15%{opacity:1}80%{opacity:1}to{transform:translate(110%);opacity:0}}.tm-button:focus-visible,.tm-input:focus-visible,.tm-link:focus-visible,.tm-interactive:focus-visible{outline:var(--tm-control-focus-width) solid var(--tm-focus);outline-offset:var(--tm-control-focus-offset)}.tm-field{display:grid;gap:var(--tm-space-2)}.tm-label{font-weight:650}.tm-input{width:100%;min-height:var(--tm-control-min-height);padding:var(--tm-space-2) var(--tm-space-3);border:1px solid var(--tm-border);border-radius:var(--tm-radius-control);background:var(--tm-surface);color:var(--tm-text);font:inherit;box-sizing:border-box;transition:background-color var(--tm-motion-normal) var(--tm-motion-ease),border-color var(--tm-motion-normal) var(--tm-motion-ease)}.tm-input:focus{border-color:var(--tm-focus);background:color-mix(in srgb,var(--tm-text) 4%,var(--tm-surface))}.tm-input-group{display:flex;position:relative;align-items:center;border-bottom:1px solid var(--tm-border);border-radius:6px 6px 0 0;background:color-mix(in srgb,var(--tm-text) 5%,var(--tm-surface));transition:background-color var(--tm-motion-normal) ease}.tm-input-group:focus-within{background:color-mix(in srgb,var(--tm-text) 7%,var(--tm-surface))}.tm-input-group:has(input:focus-visible){outline:2px solid var(--tm-focus);outline-offset:3px}.tm-input-group>input{box-sizing:border-box;width:100%;min-width:0;min-height:max(46px,var(--tm-control-min-height));padding:10px 12px;border:0;border-radius:6px;outline:none;background:transparent;color:var(--tm-text);font:inherit}.tm-input-group>button{box-sizing:border-box;display:grid;place-items:center;flex:none;width:var(--tm-control-min-height);height:var(--tm-control-min-height);border:0;border-radius:4px;background:transparent;color:var(--tm-muted);cursor:pointer}.tm-input-group>button:disabled{opacity:.4;cursor:default}.tm-input-group>button:focus-visible{outline:2px solid var(--tm-focus);outline-offset:3px}.tm-input-group:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--tm-brand-accent, var(--tm-action));transform:scaleX(0);transform-origin:left;transition:transform var(--tm-motion-normal) var(--tm-motion-ease);pointer-events:none}.tm-input-group:focus-within:after{transform:scaleX(1)}.tm-input-group:has([aria-invalid=true]){border-color:var(--tm-text)}.tm-hint{color:var(--tm-muted);font-size:var(--tm-font-size-small)}.tm-link{color:var(--tm-link);text-underline-offset:.2em;transition:text-underline-offset var(--tm-motion-normal) var(--tm-motion-ease),text-decoration-color var(--tm-motion-normal) var(--tm-motion-ease),opacity var(--tm-motion-fast) ease}.tm-link:focus-visible{text-underline-offset:.35em;text-decoration-color:var(--tm-action)}.tm-link:active{text-underline-offset:.14em;text-decoration-thickness:2px}.tm-interactive{border-radius:6px;transition:background-color var(--tm-motion-normal) var(--tm-motion-ease),transform var(--tm-motion-settle) var(--tm-motion-ease)}.tm-interactive:focus-visible:not(:disabled):not(:has(:disabled)){background-color:color-mix(in srgb,var(--tm-text) 6%,transparent)}.tm-surface{background:var(--tm-surface);border-radius:var(--tm-radius-surface);padding:var(--tm-space-6)}.tm-stack{display:grid;gap:var(--tm-space-4)}.tm-inline{display:flex;align-items:center;gap:var(--tm-space-3);flex-wrap:wrap}.tm-choice{display:flex;align-items:center;justify-content:space-between;gap:var(--tm-space-4);min-height:var(--tm-control-min-height);cursor:pointer}.tm-choice:has(input:disabled){cursor:default;color:var(--tm-muted);background:transparent;transform:none}.tm-checkbox{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;flex:none;width:18px;height:18px;margin:0;border:1px solid var(--tm-border);border-radius:4px;background:var(--tm-surface);color:var(--tm-focus);cursor:pointer;transition:background-color var(--tm-motion-normal) ease,transform var(--tm-motion-fast) var(--tm-motion-ease)}.tm-checkbox:before{box-sizing:border-box;content:"";width:8px;height:5px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:0;transform:translateY(-1px) rotate(-45deg) scale(.8);transition:transform var(--tm-motion-fast) var(--tm-motion-ease),opacity var(--tm-motion-fast) ease}.tm-checkbox:checked{background:var(--tm-action);color:var(--tm-on-action);border-color:var(--tm-focus)}.tm-checkbox:checked:before{opacity:1;transform:translateY(-1px) rotate(-45deg) scale(1)}.tm-checkbox:focus-visible{outline:2px solid var(--tm-focus);outline-offset:3px}.tm-checkbox:disabled{opacity:1;color:var(--tm-muted);background:var(--tm-surface);cursor:default}.tm-choice:active .tm-checkbox:not(:disabled){transform:scale(.88)}.tm-switch{box-sizing:border-box;width:40px;height:24px;position:relative;flex:none}.tm-switch>input{position:absolute;margin:0;top:-10px;right:-2px;bottom:-10px;left:-2px;width:44px;height:44px;opacity:0;cursor:pointer;z-index:1}.tm-switch>span{box-sizing:border-box;display:block;height:24px;border:1px solid var(--tm-border);border-radius:99px;padding:2px;background:#78838b;transition:background-color var(--tm-motion-normal) ease}.tm-switch>span:after{box-sizing:border-box;content:"";display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform var(--tm-motion-settle) var(--tm-motion-ease),width var(--tm-motion-fast) ease,background-color var(--tm-motion-fast) ease}.tm-switch>input:checked+span{background:var(--tm-brand-body, var(--tm-text))}.tm-switch>input:checked+span:after{transform:translate(16px);background:var(--tm-brand-accent, var(--tm-on-action))}.tm-switch>input:focus-visible+span{outline:2px solid var(--tm-focus);outline-offset:4px}.tm-switch>input:active:not(:disabled)+span:after{width:22px}.tm-switch>input:checked:active:not(:disabled)+span:after{transform:translate(12px)}.tm-switch>input:disabled{cursor:default}.tm-switch>input:disabled+span{background:var(--tm-surface)}.tm-switch>input:disabled+span:after{background:var(--tm-muted)}.tm-tabs{--tm-tabs-count: 1;--tm-tabs-index: 0;display:grid;grid-template-columns:repeat(var(--tm-tabs-count),minmax(0,1fr));position:relative}.tm-tabs:after{content:"";position:absolute;left:0;bottom:1px;width:calc(100% / var(--tm-tabs-count));height:2px;background:var(--tm-brand-accent, var(--tm-action));clip-path:inset(0 max(0px,calc(50% - 17px)));transform:translate(calc(var(--tm-tabs-index) * 100%));transition:transform var(--tm-motion-settle) var(--tm-motion-ease);pointer-events:none}.tm-tabs>[role=tab]{display:flex;align-items:center;justify-content:center;min-height:var(--tm-control-min-height);border:0;padding:10px;background:transparent;color:var(--tm-muted);font:inherit;font-size:13px;line-height:1.4;border-radius:4px;cursor:pointer;transition:color var(--tm-motion-fast) ease,background-color var(--tm-motion-normal) ease,transform var(--tm-motion-settle) var(--tm-motion-ease)}.tm-tabs>[role=tab][aria-selected=true]{color:var(--tm-text);font-weight:650}.tm-tabs>[role=tab]:focus-visible{outline:var(--tm-control-focus-width) solid var(--tm-focus);outline-offset:var(--tm-control-focus-offset);background:color-mix(in srgb,var(--tm-text) 6%,transparent)}:is(.tm-button,.tm-field,.tm-input-group,.tm-input-group>button,.tm-stack,.tm-inline,.tm-choice,.tm-checkbox,.tm-switch>span,.tm-tabs,.tm-tabs>[role=tab])[hidden]:not([hidden=until-found i]){display:none}@media(hover:hover){.tm-button:hover:not(:disabled){transform:translateY(-2px);background-color:color-mix(in srgb,var(--tm-action) 93%,#FFFFFF)}.tm-button:hover:not(:disabled):before{animation:tm-action-light var(--tm-motion-sweep) var(--tm-motion-ease)}.tm-button--secondary:hover:not(:disabled),.tm-button--quiet:hover:not(:disabled){background:color-mix(in srgb,var(--tm-text) 6%,var(--tm-surface))}.tm-input:hover:not(:disabled){border-color:var(--tm-focus);background-color:color-mix(in srgb,var(--tm-text) 3%,var(--tm-surface))}.tm-input-group:hover{background-color:color-mix(in srgb,var(--tm-text) 7%,var(--tm-surface))}.tm-input-group>button:hover:not(:disabled){color:var(--tm-text)}.tm-choice:hover .tm-checkbox:not(:checked):not(:disabled){background-color:color-mix(in srgb,var(--tm-text) 6%,var(--tm-surface))}.tm-choice:hover .tm-checkbox:checked:not(:disabled){background-color:color-mix(in srgb,var(--tm-action) 93%,#FFFFFF)}.tm-choice:hover .tm-switch>input:not(:disabled)+span{background-color:color-mix(in srgb,#FFFFFF 8%,#78838B)}.tm-choice:hover .tm-switch>input:checked:not(:disabled)+span{background-color:color-mix(in srgb,#FFFFFF 8%,var(--tm-brand-body, var(--tm-text)))}.tm-interactive:hover:not(:disabled):not(:has(:disabled)){background-color:color-mix(in srgb,var(--tm-text) 6%,transparent);transform:translateY(-1px)}.tm-link:hover{text-underline-offset:.35em;text-decoration-color:var(--tm-action)}.tm-tabs>[role=tab]:hover:not(:disabled){color:var(--tm-text);background-color:color-mix(in srgb,var(--tm-text) 6%,transparent);transform:translateY(-1px)}}.tm-button:active:not(:disabled){transform:translateY(1px) scale(.97);transition-duration:var(--tm-motion-fast)}.tm-interactive:active:not(:disabled):not(:has(:disabled)),.tm-tabs>[role=tab]:active:not(:disabled){transform:scale(.97);background-color:color-mix(in srgb,var(--tm-text) 10%,transparent);transition-duration:var(--tm-motion-fast)}@media(prefers-reduced-motion:reduce){.tm-button,.tm-button:before,.tm-input,.tm-input-group,.tm-input-group:after,.tm-checkbox,.tm-checkbox:before,.tm-switch>span,.tm-switch>span:after,.tm-link,.tm-interactive,.tm-tabs:after,.tm-tabs>[role=tab]{transition:none;animation:none!important}.tm-button:hover:not(:disabled),.tm-button:active:not(:disabled),.tm-interactive:hover:not(:disabled):not(:has(:disabled)),.tm-interactive:active:not(:disabled):not(:has(:disabled)),.tm-tabs>[role=tab]:hover:not(:disabled),.tm-tabs>[role=tab]:active:not(:disabled){transform:none}.tm-choice:active .tm-checkbox:not(:disabled){transform:none}.tm-switch>input:active:not(:disabled)+span:after{width:18px}.tm-switch>input:checked:active:not(:disabled)+span:after{transform:translate(16px)}}@media(forced-colors:active){.tm-button{border-color:ButtonText}.tm-button:before{display:none}.tm-checkbox{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.tm-checkbox:before{display:none}.tm-switch>input{opacity:1;position:static;width:24px;height:24px}.tm-switch>span{display:none}.tm-input-group{border-color:ButtonText}.tm-input-group:after{background:Highlight}.tm-input-group:has(input:focus-visible),.tm-input-group>button:focus-visible,.tm-checkbox:focus-visible,.tm-switch>input:focus-visible{outline:2px solid Highlight;outline-offset:3px}.tm-button:disabled{color:GrayText;border-color:GrayText}.tm-tabs:after{background:Highlight}.tm-tabs>[role=tab][aria-selected=true]{text-decoration:underline;text-decoration-color:ButtonText}.tm-button:focus-visible,.tm-input:focus-visible,.tm-link:focus-visible,.tm-interactive:focus-visible,.tm-tabs>[role=tab]:focus-visible{outline-color:Highlight}}.app,.asset-workshop{--line: color-mix(in srgb, var(--tm-text) 16%, var(--tm-surface))}.train-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;line-height:1;letter-spacing:normal}.train-brand img{width:38px;height:28px;object-fit:contain}.train-mark-dark,.dark .train-mark-light{display:none}.dark .train-mark-dark{display:block}.train-appearance.tm-input{width:94px;flex-shrink:0;padding:6px;font-size:12px}.login-card .train-brand{justify-content:center}.login-card .train-brand img{width:58px;height:40px}.login-card .train-appearance{margin-bottom:12px}.app .tm-button,.app button{min-height:44px}.app .icon-button{min-width:44px;min-height:44px;padding:0}.app .modes button{min-width:44px;min-height:44px}.app :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select){min-height:44px}.app :where(input,select,textarea){color:var(--tm-text);border-color:var(--tm-border)}.app input[type=range],.app input[type=checkbox],.app input[type=radio]{accent-color:var(--tm-action)}.app :where(button,a,input,select,textarea,summary):focus-visible{outline:var(--tm-control-focus-width) solid var(--tm-focus);outline-offset:var(--tm-control-focus-offset)}.app button:not(.tm-button){transition:background-color var(--tm-motion-normal) var(--tm-motion-ease),color var(--tm-motion-normal) var(--tm-motion-ease),border-color var(--tm-motion-normal) var(--tm-motion-ease),filter var(--tm-motion-normal) var(--tm-motion-ease),translate var(--tm-motion-settle) var(--tm-motion-ease)}.app button:not(.tm-button):active:not(:disabled){translate:0 1px}.app button:disabled{color:var(--tm-muted);cursor:not-allowed;opacity:1}@media(hover:hover){.app button:not(.tm-button):hover:not(:active):not(:disabled){filter:brightness(1.06);translate:0 -1px}}@media(prefers-reduced-motion:reduce){.app button:not(.tm-button){translate:none!important}.app *,.app *:before,.app *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.app :focus-visible{outline-color:Highlight}.app .modes .active,.app button.active{outline:1px solid Highlight}.train-appearance{forced-color-adjust:auto}}.traffic-density-control{display:inline-flex;align-items:center;gap:6px}.traffic-density-control select{min-height:44px;min-width:60px}:root{font-family:var(--tm-font-sans);font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--tm-focus);outline-offset:3px}a{color:inherit}svg{flex-shrink:0}.app{--surface: var(--tm-surface);--canvas: var(--tm-background);--grid: color-mix(in srgb, var(--tm-text) 10%, var(--tm-background));--text: var(--tm-text);--muted: var(--tm-muted);--accent: var(--tm-link);--tint: color-mix(in srgb, var(--tm-text) 6%, var(--tm-surface));--bed: #c9ced0;--bed-edge: #a3adb4;--sleeper: #707579;--rail: #303d48;--shadow: 0 2px 10px #0000000a;--warning: #805700;--danger: #ae2639;background:var(--canvas);color:var(--text);height:100dvh;min-height:440px;overflow:hidden}.app.dark{--bed: #5d6873;--bed-edge: #74818e;--sleeper: #9fa9b4;--rail: #e2e7eb;--warning: #ffbf4c;--danger: #ffadb6;color-scheme:dark}.app-header{height:58px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:12px;position:relative;z-index:5}.brand{font-size:25px;font-weight:700;letter-spacing:-.9px;text-decoration:none;white-space:nowrap}.header-divider{height:24px;border-left:1px solid var(--line);margin:0 4px}.project-name{width:220px;background:transparent;border:0;color:var(--text);font-weight:500;padding:5px 0}.modes{position:absolute;left:50%;transform:translate(-50%);display:flex;background:var(--canvas);border:1px solid var(--line);border-radius:30px;padding:3px}.modes button{height:32px;width:80px;border-radius:24px;font-weight:500}.modes button.active{background:var(--tm-action);color:var(--tm-on-action)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.test-mode-button{border:1px solid var(--accent);color:var(--accent);border-radius:9px;padding:7px 11px;white-space:nowrap;font-size:12px}.test-mode-button.active{background:var(--tm-action);color:var(--tm-on-action)}.prototype-label{font-size:11px;color:var(--muted);margin-right:12px}.save-status{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap}.save-status.save-error{color:var(--warning)}.layout-name-field{display:grid;gap:8px}.layout-name-field input{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--canvas)}@media(max-width:800px){.save-status span{display:none}}.icon-button{width:38px;height:38px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button:hover:not(:disabled){background:var(--tint);color:var(--accent)}.icon-button.active{background:var(--tint);color:var(--accent)}.workspace{height:calc(100% - 58px);position:relative;background-color:var(--canvas)}.layout-editor{display:flex;flex-direction:column}.layout-editor>.workspace{flex:1;min-height:0;height:auto}.layout-editor>.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);flex-shrink:0;overflow:visible}.editor-identity{display:flex;align-items:center;gap:8px;min-width:0}.editor-identity .project-name{width:100%;min-width:0;text-overflow:ellipsis}.layout-editor .app-header>.modes{position:static;transform:none}.layout-editor .header-actions{justify-self:end}.test-mode-icon{display:none}@media(max-width:1000px){.layout-editor .header-divider,.layout-editor .project-name,.layout-editor .save-status span{display:none}}@media(max-width:800px){.layout-editor>.app-header{height:108px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:50px 50px;gap:0 8px;padding:4px 8px}.layout-editor .header-actions{grid-column:1 / -1;width:100%;justify-content:flex-end;gap:4px;margin:0;border-top:1px solid var(--line)}.layout-editor .save-status{min-width:44px;min-height:44px;justify-content:center}.layout-editor .test-mode-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}}@media(max-width:480px){.layout-editor .test-mode-button span{display:none}.layout-editor .test-mode-icon{display:block}}.grid-setting select{color:var(--text);background:var(--surface);border:0;font:inherit;max-width:82px;padding:6px 2px}.snap-guide circle{fill:var(--tint);fill-opacity:.65;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.snap-guide text{fill:var(--accent);paint-order:stroke;stroke:var(--canvas);stroke-width:4px;stroke-linejoin:round}.floating{background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.canvas-area{position:absolute;left:28px;right:28px;top:110px;bottom:220px}.plan{height:100%;width:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}.plan.placing{cursor:crosshair}.plan.panning{cursor:grab}.plan.pan-active{cursor:grabbing}.selection-marquee{fill:#008c9b1a;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.roadbed-surface{fill:var(--bed);stroke:var(--bed-edge);stroke-width:1;stroke-linejoin:round}.sleepers{fill:none;stroke:var(--sleeper);stroke-width:var(--sleeper-thickness)}.rail{fill:none;stroke:var(--rail);stroke-width:var(--rail-width)}.joint{fill:none;stroke:var(--canvas);stroke-width:2}.hit-area{fill:none;stroke:transparent;stroke-width:32;cursor:move}.selected .roadbed-surface{stroke:var(--accent);stroke-width:2;fill:var(--tint)}.selected .rail,.selected .sleepers{stroke:var(--accent)}.selection-end{fill:var(--surface);stroke:var(--accent);stroke-width:3}.open-port{fill:var(--surface);stroke:#efaa26;stroke-width:4;pointer-events:none}.rotation-hit{fill:transparent;pointer-events:all;cursor:grab}.rotation-handle,.rotation-pin{fill:var(--surface);stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.rotation-pin{fill:var(--accent)}.dimensions path{stroke:var(--muted);stroke-width:1.3;fill:none}.dimensions text{fill:var(--text);font-family:inherit;font-size:var(--dimension-font, 21px);font-weight:500;paint-order:stroke;stroke:var(--canvas);stroke-width:10px;stroke-linejoin:round}.tools{position:absolute;left:20px;top:18px;padding:6px;display:flex;gap:5px;z-index:2}.tools .icon-button:first-child.active{background:var(--tm-action);color:var(--tm-on-action)}.tool-divider{border-left:1px solid var(--line);height:24px;align-self:center;margin:0 4px}.mini-view{position:absolute;right:20px;top:16px;width:224px;height:146px;overflow:hidden}.three-view{width:100%;height:100%;position:relative}.three-view canvas{display:block;width:100%;height:100%;touch-action:none}.mini-swap{position:absolute;bottom:5px;right:6px;display:flex;align-items:center;gap:9px;padding:5px 8px;background:var(--surface);border-radius:5px;font-size:12px}.mini-plan{pointer-events:none}.selection-bar{position:absolute;bottom:223px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:13px;padding:3px 7px 3px 13px;font-size:13px}.selection-bar small{color:var(--muted);font-size:11px}.placement-hint{position:absolute;top:74px;left:20px;max-width:calc(100% - 40px);display:flex;flex-wrap:wrap;white-space:nowrap;gap:12px;align-items:center;padding:1px 5px 1px 14px;color:var(--accent);z-index:4}.placement-hint span{font-size:12px;color:var(--muted)}.status-bar{position:absolute;bottom:189px;left:23px;display:flex;align-items:center;gap:20px;font-size:12px;max-width:90%;white-space:nowrap}.status-bar button{display:flex;align-items:center;gap:7px;padding:6px 0}.status-bar .good{color:var(--accent)}.status-bar .warning{color:var(--warning)}.status-bar .danger,.collision-notice{color:var(--danger)}.collision-overlay polygon{fill:#f03548;stroke:#f03548;stroke-width:1}.collision-notice{position:absolute;top:72px;left:50%;transform:translate(-50%);padding:9px 14px;font-size:12px;pointer-events:none}.autoconnect-panel{position:absolute;z-index:6;top:88px;left:20px;width:280px;max-height:calc(100% - 120px);overflow:auto;padding:14px;font-size:12px}.autoconnect-panel header{display:flex;align-items:center;gap:8px}.autoconnect-panel header button{margin-left:auto}.autoconnect-panel p{line-height:1.6}.connect-options{display:flex;gap:12px;margin:10px 0}.connect-options label{display:grid;gap:4px}.connect-options select{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:5px}.connect-difficult{display:flex;align-items:center;gap:5px}.connect-candidates{display:grid;gap:6px}.connect-candidates button{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px;display:grid;grid-template-columns:36px 1fr;text-align:left;gap:4px}.connect-candidates button[aria-pressed=true]{border-color:var(--accent);background:var(--tint)}.connect-candidates small{grid-column:1 / -1;color:var(--muted)}.connect-bom{padding:0;list-style:none}.connect-bom li{display:flex;justify-content:space-between;padding:3px 0}.open-port.connect-port{pointer-events:all;cursor:crosshair;stroke:var(--accent);stroke-width:2;fill:var(--surface)}.open-port.chosen-port{fill:var(--accent)}.availability-mark svg{width:13px;height:13px}.availability-mark{display:inline-flex;gap:3px}.availability-available{color:var(--accent)}.availability-limited{color:var(--warning)}.availability-discontinued{color:var(--danger)}.dimension-note{font-size:11px;color:var(--muted)}.height-control{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.height-control select,.height-control input{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px}.height-control input{width:78px}.height-control input:invalid{border-color:#d45b57}.length-settings{display:block;color:var(--muted);font-size:11px}.track .structure-deck{fill:var(--structure-color, #bcc2c5);stroke:var(--track-edge, #788590);stroke-width:.7}.track .structure-wall{fill:var(--structure-color, #929ea6)}.dark .track .structure-deck{fill:var(--structure-color, #53616e)}.dark .track .structure-wall{fill:var(--structure-color, #8796a4)}.track.selected .structure-deck{stroke:var(--accent);stroke-width:2}.support-map{width:100%;height:170px;margin:10px 0;background:var(--bg);border:1px solid var(--line)}.support-footprints polygon{fill:var(--muted);fill-opacity:.45;stroke:var(--muted);stroke-width:1}.support-map [role=button]{cursor:pointer}.support-map [role=button]:focus circle{stroke:var(--text);stroke-width:5px}.support-form fieldset{border:0;padding:0;min-width:0}.support-form label{display:flex;gap:8px;align-items:center;margin:8px 0}.support-form input,.support-form select,[aria-label=調整する橋脚]{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:6px}.support-offsets{display:flex;flex-wrap:wrap;gap:8px}.support-offsets label{flex-direction:column;align-items:start;font-size:12px}.support-offsets input{width:110px}.support-actions{display:flex;gap:12px;margin:16px 0}.support-actions button{padding:8px 14px;border:1px solid var(--accent);border-radius:6px}.support-error{color:var(--danger);border-left:3px solid currentColor;padding:8px}.view-controls{position:absolute;bottom:28px;right:20px;z-index:2}.zoom-controls{display:flex;align-items:center;padding:2px}.zoom-controls .icon-button{width:30px;height:32px}.zoom-controls>span{width:42px;text-align:center;font-size:11px}.empty-state,.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:var(--muted)}.empty-state h2{font-size:19px;color:var(--text);font-weight:500}.empty-state p{font-size:12px}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;width:min(560px,calc(100vw - 30px));max-height:80dvh;padding:24px;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#13243855}dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}dialog h2{margin:0;font-size:19px;font-weight:600}dialog p,dialog li{font-size:14px;line-height:1.9}dialog ul{padding-left:20px}.muted{color:var(--muted);font-size:13px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 5px;border-bottom:1px solid var(--line)}th{font-weight:500;color:var(--muted)}td:last-child,th:last-child{text-align:right}td a{text-underline-offset:3px;color:var(--accent)}dialog footer{font-size:12px;color:var(--muted);margin-top:22px}.primary{background:var(--tm-action);color:var(--tm-on-action)}.endpoint-list{max-height:35vh;overflow:auto}.endpoint-list button{display:flex;align-items:center;width:100%;gap:12px;border-bottom:1px solid var(--line);padding:12px;color:var(--warning)}.endpoint-list small{color:var(--muted);margin-left:auto}@media(max-width:1150px){.project-name{width:140px}.prototype-label{display:none}.view-controls{right:14px}.mini-view{width:185px;height:125px}.dimension-note{display:none}}@media(max-width:800px){.app-header{padding:0 12px;gap:4px}.brand{font-size:20px}.header-divider,.project-name{display:none}.header-actions .icon-button{width:30px}.modes button{width:52px}.tools{left:12px;top:12px;gap:1px;padding:4px}.tools .icon-button{width:32px;height:34px}.tools .tool-divider{margin:0}.mini-view{width:145px;height:105px;right:12px;top:65px}.canvas-area{left:4px;right:4px;top:170px;bottom:231px}.view-controls{bottom:181px;right:12px}.status-bar{bottom:214px;left:14px;gap:14px;font-size:11px}.selection-bar{bottom:270px;left:50%}}@media(max-width:480px){.brand{font-size:18px}.app-header>.icon-button{width:27px}.modes{left:53%}.modes button{width:42px;font-size:12px}.header-actions{gap:0}.header-actions .icon-button{width:28px}.tools .icon-button{width:30px}.mini-view{top:68px}.selection-bar small{display:none}}.structure-slab{fill:var(--slab);stroke:var(--bed-edge);stroke-width:.35}.selected .structure-slab{fill:var(--tint);stroke:var(--accent)}.track[data-track-style]{--bed: var(--finish-bed);--sleeper: var(--finish-sleeper);--slab: var(--finish-slab)}.dark .track[data-track-style]{--bed: var(--finish-bed-dark);--sleeper: var(--finish-sleeper-dark);--slab: var(--finish-slab-dark)}.track .structure-buffer-base{fill:#96999b}.track .structure-buffer-concrete{fill:#b1b2ad;stroke:#727674;stroke-width:.7}.track .structure-buffer-ballast{fill:#88857c}.track .structure-buffer-steel{fill:#4d5050;stroke:#8b9295;stroke-width:.5}.track .structure-buffer-marker{fill:#292b2b;stroke:#dbcfad;stroke-width:.7}.track .structure-buffer-marker.lit{fill:#ffcf6b}.track.selected [class*=structure-buffer]{stroke:var(--accent);stroke-width:1}@media(any-pointer:coarse),(max-width:800px){.app .icon-button,.app .tools .icon-button{width:44px;height:44px;min-width:44px}.app button,.app select,.app summary{min-height:44px}.app input:not([type=checkbox]):not([type=radio]){min-height:44px;font-size:16px}.app select{font-size:16px}.app .tools{max-width:calc(100% - 290px);flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain}.app .placement-hint{top:84px}.app .selection-bar{max-width:calc(100% - 28px);overflow-x:auto;white-space:nowrap}.app .status-bar{gap:8px}.app dialog{max-height:calc(100dvh - 24px);overflow-y:auto}}@media(max-width:800px){.app .modes{position:static;transform:none}.app .tools{left:12px;max-width:calc(100% - 24px);gap:2px}.app .mini-view{top:76px}.app .selection-bar{left:50%;max-width:calc(100% - 24px)}.app:not(.layout-editor) .app-header{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.app .app-header>*{flex-shrink:0}.app .placement-hint{left:12px;max-width:calc(100% - 24px)}}@media(max-height:600px)and (max-width:1000px){.app{min-height:320px}.app .mini-view{width:110px;height:76px;top:84px}}.shortcut-list{display:grid;gap:12px;margin:20px 0}.shortcut-list>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px}.shortcut-list strong{font-size:13px;font-weight:500}.shortcut-list button{border:1px solid var(--line);border-radius:6px;padding:8px;margin:2px}.shortcut-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.shortcut-form label{display:flex;flex-direction:column;gap:5px;font-size:13px}.shortcut-form select{max-width:100%;padding:9px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px}.link-notice{position:absolute;right:20px;top:100%;max-width:calc(100vw - 32px);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:12px;z-index:10}.scenery-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.scenery-coordinates input{width:100%;display:block}.scenery-run-status{position:absolute;left:20px;bottom:20px;padding:7px 12px;z-index:8;font-size:12px;display:flex;gap:12px;pointer-events:none}.scenery-controls{gap:6px}.part-context-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenery-controls .icon-button{flex-shrink:0}@media(max-width:640px){.scenery-controls .part-context-name{max-width:100px}}.sync-comparison{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:16px;background:var(--bg);border-radius:8px}.sync-comparison dd{margin:0}.sync-comparison small,.recovery-choice small{display:block;color:var(--muted);margin-top:5px}.sync-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.sync-actions button{border:1px solid var(--line);border-radius:6px;padding:10px 12px}.sync-actions button:first-child{background:var(--tm-action);color:var(--tm-on-action)}.recovery-choice{display:flex;gap:12px;align-items:center;margin:12px 0}.sync-dialog{max-width:min(560px,95vw)}
