#root{min-height:100vh}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent);color:var(--ink)}.breadcrumbs{min-width:0;max-width:100%;height:44px;color:var(--ink-muted);scrollbar-width:none;justify-content:flex-start;align-items:center;gap:2px;font-size:.66rem;display:flex;overflow-x:auto}.breadcrumbs button{cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:44px;padding:0 6px}.breadcrumbs button:hover{background:var(--surface-soft)}.breadcrumbs button,.breadcrumbs span{text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;display:inline-flex;overflow:hidden}.breadcrumbs__separator{color:var(--ink-faint);flex:none}.search-results{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow-lg);border-radius:14px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}.search-results button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;width:100%;min-height:50px;padding:0;display:block}.search-results button:hover,.search-results button:focus-visible,.search-results button.is-active{background:var(--accent-soft)}.search-results svg{width:18px;height:18px;color:inherit}.search-result__icon{place-items:center;display:grid}.search-results strong,.search-results small{display:block}.search-results strong{font-size:.78rem}.search-results small,.search-results button>span:last-child{color:var(--ink-faint);font-size:.65rem}.search-results.search-empty{color:var(--ink-muted);text-align:center;padding:18px;font-size:.75rem}::view-transition-old(root){animation:.54s cubic-bezier(.4,0,.2,1) forwards theme-fade-out}::view-transition-new(root){animation:.54s cubic-bezier(.4,0,.2,1) forwards theme-clip-in}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation-duration:0s!important}::view-transition-new(root){animation-duration:0s!important}}@keyframes theme-fade-out{to{opacity:0}}@keyframes theme-clip-in{0%{clip-path:circle(0px at var(--theme-origin-x,50%) var(--theme-origin-y,50%))}to{clip-path:circle(var(--theme-origin-r,1500px) at var(--theme-origin-x,50%) var(--theme-origin-y,50%))}}.scene-canvas{position:absolute;inset:0}.scene-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.scene-loading{z-index:2;color:var(--ink-muted);justify-content:center;align-items:center;gap:10px;font-size:.78rem;display:flex;position:absolute;inset:0}.scene-loading span{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scene-region-label{color:#18312d;text-align:center;min-width:136px;transition:transform .16s var(--ease);background:#f8fcfae6;border:1px solid #465f5b33;border-radius:12px;padding:8px 12px;font-family:inherit;box-shadow:0 8px 24px #122b2724}:root[data-theme=dark] .scene-region-label{color:#eff8f5;background:#182123eb;border-color:#d2e5df33}.scene-region-label.is-active{transform:scale(1.05)}.scene-region-label strong,.scene-region-label span{display:block}.scene-region-label span{color:#667b76;margin-top:2px;font-size:.52rem}.scene-node-hud{color:#18312d;pointer-events:none;text-align:center;transform-origin:50% 100%;background:#f9fcfbf0;border:1px solid #48625e38;border-radius:11px;min-width:142px;padding:8px 11px;box-shadow:0 10px 28px #122b2729}:root[data-theme=dark] .scene-node-hud{color:#eff8f5;background:#182123f2;border-color:#d2e5df38}.scene-node-hud span,.scene-node-hud strong{display:block}.scene-node-hud span{color:#526c66;letter-spacing:.04em;font-size:.52rem}:root[data-theme=dark] .scene-node-hud span{color:#b8cac5}.scene-node-hud strong{margin-top:3px;font-size:.68rem}.scene-node-hud.is-selected{border-color:var(--accent)}.scene-quality{border:1px solid var(--border);background:var(--surface);color:var(--ink-faint);border-radius:6px;padding:4px 6px;font-size:.55rem;position:absolute;bottom:12px;right:12px}.service-card-face{grid-template-columns:48px minmax(0,1fr) auto;align-items:start;gap:14px;width:100%;padding:22px 18px;display:grid}.service-card.has-recent .service-card-face{padding-right:98px}.service-card-face__icon{background:color-mix(in srgb, var(--service-icon-color,var(--accent)) 10%, var(--surface-solid));width:48px;height:48px;color:var(--service-icon-color,var(--accent));border-radius:12px;place-items:center;display:grid}.service-card-face__icon svg{width:25px;height:25px}.service-card-face__copy{flex-direction:column;gap:7px;min-width:0;display:flex}.service-card-face__copy strong{color:var(--ink);font-size:.92rem;line-height:1.35}.service-card-face__copy>span{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.73rem;line-height:1.55;display:-webkit-box;overflow:hidden}.service-card-face__arrow{width:16px;height:16px;color:var(--ink-faint)}.service-card-face--search{grid-template-columns:30px minmax(0,1fr);gap:9px;padding:6px 8px}.service-card-face--search .service-card-face__icon{border-radius:8px;width:30px;height:30px}.service-card-face--search .service-card-face__icon svg{width:17px;height:17px}.service-card-face--search .service-card-face__copy{gap:2px}.service-card-face--search .service-card-face__copy strong{font-size:.78rem}.service-card-face--search .service-card-face__copy>span{-webkit-line-clamp:1;font-size:.65rem}.modal{width:min(520px,100% - 24px);max-height:calc(100dvh - 24px);color:var(--ink);background:0 0;border:0;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08101194}.modal__surface{border:1px solid var(--border);background:var(--surface-solid);max-height:calc(100dvh - 24px);box-shadow:var(--shadow-lg);border-radius:18px;padding:20px;overflow-y:auto}.modal__header{grid-template-columns:1fr auto;align-items:start;gap:12px;display:grid}.modal__header h2{letter-spacing:-.03em;margin:6px 0 0;font-size:1.35rem}.panel-tabs{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;gap:6px;margin:16px 0 18px;padding:4px;display:flex}.panel-tab{min-height:38px;color:var(--ink-muted);font:inherit;cursor:pointer;transition:background-color .14s var(--ease), color .14s var(--ease);background:0 0;border:1px solid #0000;border-radius:9px;flex:1;font-size:.85rem;font-weight:650}.panel-tab:hover{color:var(--ink)}.panel-tab.is-active{background:var(--surface-solid);color:var(--ink);border-color:var(--border);box-shadow:var(--shadow-sm)}.announcement-body{color:var(--ink);word-break:break-word;margin:4px 0;font-size:.9rem;line-height:1.7}.announcement-body p{margin:0 0 10px}.announcement-body a{color:var(--accent,#185fa5);word-break:break-all;text-decoration:underline}.service-detail{grid-template-columns:auto 1fr;gap:14px;margin-top:20px;display:grid}.service-detail dl{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 0;display:grid}.service-detail dl>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;padding:10px}.service-detail dt{color:var(--ink-faint);font-size:.62rem}.service-detail dd{word-break:break-all;margin:4px 0 0;font-size:.75rem}.modal__actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.modal__actions button,.modal__actions a,.help-confirm{border:1px solid var(--border);background:var(--surface-solid);min-height:44px;color:inherit;cursor:pointer;transition:transform 90ms var(--ease);border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:.75rem;font-weight:670;text-decoration:none;display:inline-flex}.modal__actions button:active,.modal__actions a:active,.help-confirm:active{transform:scale(.97)}.primary-action{border-color:var(--ink)!important;background:var(--ink)!important;color:var(--page-bg)!important}.primary-action:disabled{cursor:not-allowed;opacity:.5}.help-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.help-grid>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;min-height:126px;padding:12px}.help-grid span{color:var(--accent);font-size:.65rem;font-weight:760}.help-grid strong{margin-top:10px;font-size:.78rem;display:block}.help-grid p{color:var(--ink-muted);margin:6px 0 0;font-size:.68rem;line-height:1.5}.shortcut-list{grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0 0;display:grid}.shortcut-list>div{border:1px solid var(--border);text-align:center;border-radius:9px;padding:8px}.shortcut-list dt{font-family:ui-monospace,monospace;font-size:.75rem;font-weight:760}.shortcut-list dd{color:var(--ink-faint);margin:4px 0 0;font-size:.58rem}.help-confirm{margin-top:14px;margin-left:auto}.scene-canvas{background:0 0}.scene-canvas canvas{transition:opacity .25s}.scene-canvas[data-models-ready=false] canvas{opacity:0}.scene-loading-panel{color:var(--ink-muted);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:20px;display:flex;position:absolute;inset:0}.scene-loading-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;width:min(470px,90%);display:grid}.scene-loading-island{border:1px solid color-mix(in srgb, var(--island-color) 42%, var(--border));background:color-mix(in srgb, var(--surface) 45%, transparent);border-radius:50% 50% 22px 22px;justify-items:center;gap:12px;padding:22px 12px 14px;font-size:11px;display:grid}.scene-loading-pieces{align-items:end;gap:8px;height:28px;display:flex}.scene-loading-pieces i{background:color-mix(in srgb, var(--island-color) 38%, var(--surface-solid));border-bottom:3px solid color-mix(in srgb, var(--island-color) 48%, transparent);border-radius:7px;width:20px;height:26px}.scene-loading-pieces i:nth-child(2n){height:19px}.scene-loading-message{text-align:center;font-size:13px}.scene-loading-message strong{color:var(--ink);font-weight:600}.scene-loading-message p{margin:7px 0 0;font-size:12px}.scene-loading-spinner{vertical-align:-2px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;margin-right:8px;animation:1s linear infinite spin;display:inline-block}.scene-loading-action{border:1px solid var(--border);min-height:44px;color:var(--ink);background:var(--surface-solid);font:inherit;cursor:pointer;border-radius:24px;padding:0 18px;font-size:12px}.scene-loading-action:hover{border-color:var(--accent)}@media (width<=720px){.scene-loading-preview{gap:16px 20px}.scene-loading-island{padding:14px 8px 10px}}@media (prefers-reduced-motion:reduce){.scene-canvas canvas{transition:none}.scene-loading-spinner{animation:none}}.service-page{background:radial-gradient(ellipse 700px 420px at 76% 260px,color-mix(in srgb,#79c9bd var(--color-wash),transparent),transparent),radial-gradient(ellipse 520px 370px at 93% 440px,color-mix(in srgb,#c7a2c0 var(--color-wash),transparent),transparent),radial-gradient(ellipse 450px 320px at 20% 180px,#e9bd7212,transparent),var(--page-bg);min-height:100vh}.service-hero.has-scene{grid-template-columns:minmax(280px,.9fr) minmax(0,1.7fr);align-items:center;gap:20px;margin:-20px 0 18px;display:grid}.service-hero.has-scene .page-intro{z-index:10;flex-direction:column;align-items:stretch;gap:28px;margin:0;padding:20px 0;position:relative}.service-hero.has-scene .page-intro h1{letter-spacing:-1.5px;margin-bottom:14px;font-size:clamp(34px,3.5vw,46px)}.service-hero.has-scene .catalog-search{width:100%;box-shadow:var(--shadow-sm)}.service-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.view-switch{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-shrink:0;gap:3px;padding:3px;display:flex}.view-switch button{color:var(--ink-muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;min-height:36px;padding:7px 11px;font-size:14px;display:flex}.view-switch button[aria-pressed=true]{background:var(--surface-soft);color:var(--ink);font-weight:650}.view-switch svg{width:16px;height:16px}.spatial-stage{isolation:isolate;background:0 0;min-width:0;height:clamp(380px,46vh,460px);position:relative;overflow:hidden}.spatial-stage .scene-canvas canvas{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(#0000,#000 6% 94%,#0000),linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(#0000,#000 6% 94%,#0000),linear-gradient(90deg,#0000,#000 4% 96%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.scene-tools{pointer-events:none;color:var(--ink-muted);justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex;position:absolute;bottom:0;left:14px;right:14px}.scene-hint-mobile{display:none}.scene-tools button{pointer-events:auto;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:5px 10px;font-size:12px}.scene-quality{top:10px;bottom:auto;right:14px}.scene-region-label{min-width:105px;padding:6px 9px}.scene-region-label strong{font-size:12px}.scene-region-label span{display:none}.scene-loading{inset:0}.scene-loading-preview{transform-origin:50%;transform:scale(.8)}.scene-loading-panel{gap:10px}.directory{margin:0;padding:0}.directory-summary{justify-content:space-between;align-items:center;gap:16px;margin:0 0 15px;display:flex}.directory-summary h2{margin:0;font-size:16px;font-weight:650}.directory-summary>span{color:var(--ink-faint);font-size:13px}.recent-label{align-items:center;gap:4px;display:inline-flex}.recent-label svg{width:12px;height:12px}.personal-index{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;padding:18px 0 0;font-size:14px;display:flex}.personal-index>span{color:var(--ink-muted);align-items:center;gap:6px;display:inline-flex}.personal-index>span svg{width:15px;height:15px}.personal-index button{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 10px;font-size:14px}.system-banner{background:var(--surface-soft);color:var(--ink-muted);border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:14px;display:flex}.system-banner svg{flex-shrink:0;width:18px;height:18px}.breadcrumbs{flex-wrap:wrap;min-height:0;margin:-4px 0 18px;font-size:14px}.breadcrumbs button,.breadcrumbs span{white-space:normal;max-width:none;font-size:14px}.search-results{z-index:110;background:var(--surface);top:calc(100% + 8px);box-shadow:0 14px 40px #0002}.search-results button{width:100%}.search-results .service-card-face--search .service-card-face__copy strong{font-size:14px}.search-results .service-card-face--search .service-card-face__copy>span{font-size:12px}.service-card-face--detail{grid-template-columns:48px 1fr;width:100%}.service-detail{grid-template-columns:1fr}.service-card-face__copy strong{font-size:17px}.service-card-face__copy>span{font-size:14px}.eyebrow{color:var(--ink-muted);margin:0;font-size:13px}.service-detail dt,.service-detail dd,.modal__actions a,.modal__actions button,.help-confirm{font-size:14px}.help-grid{grid-template-columns:1fr}.help-grid>div{min-height:auto}.help-grid strong{font-size:15px}.help-grid p{font-size:14px;line-height:1.7}.shortcut-list{grid-template-columns:repeat(3,minmax(0,1fr))}.shortcut-list dd,.shortcut-list dt{font-size:12px}@media (width<=960px){.service-hero.has-scene{grid-template-columns:1fr;gap:0;margin:0 0 22px}.service-hero.has-scene .page-intro{gap:20px;padding:0}.service-hero.has-scene .page-intro h1{font-size:34px}.spatial-stage{height:360px}}@media (width<=720px){.scene-canvas,.scene-canvas div,.scene-canvas canvas{touch-action:pan-y!important}.scene-hint-desktop{display:none}.scene-hint-mobile{display:inline}}@media (width<=640px){.view-switch button{min-height:40px}.service-toolbar{gap:12px}.spatial-stage{height:330px}.scene-tools{gap:8px;font-size:11px;left:0;right:0}.scene-tools>span{max-width:70%}.service-detail dl{grid-template-columns:1fr}.modal__surface{padding:18px}.search-results{left:-1px;right:-1px}}
