.pg-root[data-v-fb804e31]{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;font-family:Microsoft YaHei,PingFang SC,Segoe UI,system-ui,sans-serif;background:radial-gradient(circle at 70% 6%,rgba(74,141,255,.18),transparent 25rem),linear-gradient(180deg,#dcecff,#f7fbff 40%,#edf5ff)}.pg-wave[data-v-fb804e31]{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.pg-card[data-v-fb804e31]{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:min(620px,calc(100% - 48px));text-align:center}.pg-title[data-v-fb804e31]{margin:0 0 12px;font-size:clamp(28px,3.6vw,44px);font-weight:900;color:#102455;line-height:1.08}.pg-subtitle[data-v-fb804e31]{margin:0 0 36px;font-size:15px;color:#334968;font-weight:400}.pg-row[data-v-fb804e31]{display:flex;align-items:stretch;gap:10px;width:100%}.pg-field[data-v-fb804e31]{flex:1;display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;border:1.5px solid rgba(46,101,179,.22);border-radius:10px;background:#ffffffd9;box-shadow:0 2px 14px #105bd812,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .15s,box-shadow .15s}.pg-field[data-v-fb804e31]:focus-within{border-color:#105bd88c;box-shadow:0 2px 18px #105bd824,inset 0 1px #ffffffe6}.pg-field.has-error[data-v-fb804e31]{border-color:#d741418c}.pg-field-icon[data-v-fb804e31]{flex:0 0 auto;color:#4a78c2}.pg-input[data-v-fb804e31]{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:14px;color:#071c42}.pg-input[data-v-fb804e31]::placeholder{color:#8ba2c4;font-size:14px}.pg-eye[data-v-fb804e31]{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;color:#8ba2c4;background:transparent;cursor:pointer;padding:0;transition:color .15s}.pg-eye[data-v-fb804e31]:hover{color:#105bd8}.pg-btn[data-v-fb804e31]{flex:0 0 auto;height:50px;padding:0 24px;border:0;border-radius:10px;color:#fff;font:inherit;font-size:15px;font-weight:600;letter-spacing:.3px;white-space:nowrap;background:linear-gradient(135deg,#105bd8,#0b49bb);box-shadow:0 6px 20px #105bd84d;cursor:pointer;transition:filter .15s,transform .1s,box-shadow .15s;display:grid;place-items:center}.pg-btn[data-v-fb804e31]:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 8px 24px #105bd861;transform:translateY(-1px)}.pg-btn[data-v-fb804e31]:active:not(:disabled){transform:translateY(0) scale(.98)}.pg-btn[data-v-fb804e31]:disabled{cursor:not-allowed;background:linear-gradient(135deg,#9fb6db,#7e9bc8);box-shadow:0 4px 12px #82a0c840}.pg-spinner[data-v-fb804e31]{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-fb804e31 .65s linear infinite}@keyframes spin-fb804e31{to{transform:rotate(360deg)}}.pg-error[data-v-fb804e31]{display:flex;align-items:center;gap:6px;margin:10px 0 0;width:100%;text-align:left;font-size:13px;color:#d03838;padding:8px 12px;border-radius:8px;background:#d0383814;border:1px solid rgba(208,56,56,.18)}.pg-error-icon[data-v-fb804e31]{flex:0 0 15px;width:15px;height:15px;color:#d03838}.err-enter-active[data-v-fb804e31]{transition:opacity .18s ease,transform .18s ease}.err-leave-active[data-v-fb804e31]{transition:opacity .12s ease,transform .12s ease}.err-enter-from[data-v-fb804e31]{opacity:0;transform:translateY(-4px)}.err-leave-to[data-v-fb804e31]{opacity:0;transform:translateY(-2px)}.pg-hint[data-v-fb804e31]{display:flex;align-items:center;justify-content:center;gap:5px;margin:20px 0 0;font-size:13px;color:#496078}.pg-theme-toggle[data-v-fb804e31]{position:fixed;z-index:30;top:22px;right:clamp(16px,3vw,44px);display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid transparent;border-radius:999px;color:#102455;font:inherit;font-size:14px;background:#f4f8fdeb;box-shadow:0 12px 28px #0c326724;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.pg-theme-toggle[data-v-fb804e31]:hover{border-color:#105bd880;background:color-mix(in srgb,rgba(16,91,216,.08),rgba(244,248,253,.92))}.pg-root.pg-dark[data-v-fb804e31]{background:radial-gradient(circle at 70% 6%,rgba(77,142,255,.16),transparent 25rem),#060c18}.pg-dark .pg-title[data-v-fb804e31]{color:#f4fbff}.pg-dark .pg-subtitle[data-v-fb804e31]{color:#abc2d7}.pg-dark .pg-field[data-v-fb804e31]{border-color:#4d8eff47;background:#081e3cb8;box-shadow:0 2px 14px #00000040,inset 0 1px #ffffff0a}.pg-dark .pg-field[data-v-fb804e31]:focus-within{border-color:#7dafffb3;box-shadow:0 2px 20px #4d8eff38,inset 0 1px #ffffff0d}.pg-dark .pg-field.has-error[data-v-fb804e31]{border-color:#ff6e6e8c}.pg-dark .pg-field-icon[data-v-fb804e31]{color:#6aa6ff}.pg-dark .pg-input[data-v-fb804e31]{color:#f4fbff}.pg-dark .pg-input[data-v-fb804e31]::placeholder{color:#5a7196}.pg-dark .pg-eye[data-v-fb804e31]{color:#6a8bb8}.pg-dark .pg-eye[data-v-fb804e31]:hover{color:#96c8ff}.pg-dark .pg-btn[data-v-fb804e31]{background:linear-gradient(135deg,#3d8dff,#1a63df);box-shadow:0 6px 20px #3d8dff5c}.pg-dark .pg-btn[data-v-fb804e31]:hover:not(:disabled){box-shadow:0 8px 24px #3d8dff75}.pg-dark .pg-btn[data-v-fb804e31]:disabled{background:linear-gradient(135deg,#314b78,#243a5c);box-shadow:0 4px 12px #0000004d;color:#f4fbff99}.pg-dark .pg-error[data-v-fb804e31]{color:#ff9a9a;background:#ff78781a;border-color:#ff787847}.pg-dark .pg-error-icon[data-v-fb804e31]{color:#ff9a9a}.pg-dark .pg-hint[data-v-fb804e31]{color:#abc2d7}.pg-dark .pg-theme-toggle[data-v-fb804e31]{color:#f4fbff;background:#081e3ce0;box-shadow:0 12px 28px #00000052}.pg-dark .pg-theme-toggle[data-v-fb804e31]:hover{border-color:#6aa6ff8c;background:color-mix(in srgb,rgba(106,166,255,.12),rgba(8,30,60,.88))}@media(max-width:600px){.pg-btn[data-v-fb804e31]{padding:0 18px;font-size:14px}.pg-theme-toggle[data-v-fb804e31]{top:12px;right:12px}}:root{font-family:Microsoft YaHei,PingFang SC,Segoe UI,system-ui,sans-serif;color:#071c42;background:#eef5ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit;font-weight:400}button,.visual-card,.resource-card,.drawing-item,.blueprint,.resource-icon,.card-ship,.mini-ship,.scan-ring{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease,opacity .18s ease,filter .18s ease}button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent, #105bd8) 38%,transparent);outline-offset:3px}button:active{transform:translateY(1px) scale(.98)}.theme-toggle svg,.download-btn svg,.resource-actions :is(button,a) svg,.preview-actions :is(button,a) svg{width:1em;height:1em}.portal{--accent: #105bd8;--accent-2: #28c1ff;--panel: rgba(244, 248, 253, .82);--panel-strong: rgba(244, 248, 253, .92);--border: rgba(46, 101, 179, .2);--text: #071c42;--muted: #334968;--soft: #edf5ff;--button: linear-gradient(135deg, #105bd8, #0b49bb);--home-button-height: 40px;--module-button-height: 32px;--module-card-height: 150px;--project-card-height: 140px;--card-radius: 14px;position:relative;min-height:100vh;overflow-x:hidden;color:var(--text);background:radial-gradient(circle at 70% 6%,rgba(74,141,255,.2),transparent 25rem),linear-gradient(180deg,#dcecff,#f7fbff 40%,#edf5ff)}.theme-dark{--accent: #6aa6ff;--accent-2: #96c8ff;--panel: rgba(5, 23, 47, .76);--panel-strong: rgba(8, 30, 60, .9);--border: rgba(77, 142, 255, .24);--text: #f4fbff;--muted: #abc2d7;--soft: #0a203e;--button: linear-gradient(135deg, #3d8dff, #1a63df);background:#060c18}.hero{position:relative;z-index:1;height:clamp(160px,18vw,220px);overflow:hidden;isolation:isolate;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 52%),radial-gradient(circle at 42% 25%,rgba(255,255,255,.72),transparent 21rem)}.theme-dark .hero{background:radial-gradient(circle at 68% 18%,rgba(72,136,255,.16),transparent 22rem),linear-gradient(180deg,rgba(6,12,24,.32),transparent 60%)}.hero-content{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px;text-align:center;transform:translateY(8px)}.brand{display:flex;align-items:center;gap:16px;color:#102455}.theme-dark .brand{color:#fff}.brand h1{margin:0;font-size:clamp(32px,3.4vw,52px);font-weight:900;letter-spacing:0;line-height:1.08;white-space:nowrap}.slogan{margin:12px 0 10px;color:var(--accent);font-size:clamp(16px,1.6vw,24px);font-weight:400}.subline{margin:0;color:var(--muted);font-size:clamp(13px,1vw,17px);font-weight:400}.theme-toggle{position:fixed!important;z-index:30!important;top:22px;right:clamp(16px,3vw,44px);inset-inline-end:clamp(16px,3vw,44px);display:inline-flex;align-items:center;gap:8px;min-height:var(--home-button-height);padding:0 14px;border:1px solid transparent;border-radius:999px;color:var(--text);font-size:14px;background:var(--panel-strong);box-shadow:0 12px 28px #0c326724;cursor:pointer;isolation:isolate;pointer-events:auto;will-change:transform}.theme-toggle:hover{border-color:color-mix(in srgb,var(--accent) 52%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--panel-strong))}.portal-panel{position:relative;z-index:5;isolation:isolate;overflow:hidden;width:min(1600px,calc(100% - clamp(48px,7vw,132px)));margin:-16px auto 28px;border:0;border-radius:18px;background:transparent;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-panel:before,.portal-panel:after{position:absolute;inset:0;border-radius:inherit;content:"";pointer-events:none}.portal-panel:before{z-index:0;background:linear-gradient(180deg,rgba(238,246,255,.86) 0%,rgba(226,239,255,.58) 44%,rgba(226,239,255,.2) 76%,transparent 100%),color-mix(in srgb,var(--panel) 34%,transparent)}.portal-panel:after{z-index:0;padding:1px;background:linear-gradient(180deg,color-mix(in srgb,var(--border) 100%,transparent) 0%,color-mix(in srgb,var(--border) 42%,transparent) 48%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.theme-dark .portal-panel{background:transparent}.theme-dark .portal-panel:before{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 84%,transparent) 0%,color-mix(in srgb,var(--panel) 46%,transparent) 58%,transparent 100%),color-mix(in srgb,var(--panel) 22%,transparent)}.theme-dark .portal-panel:after{background:linear-gradient(180deg,color-mix(in srgb,var(--border) 100%,transparent) 0%,color-mix(in srgb,var(--border) 36%,transparent) 56%,transparent 100%)}.section-block{position:relative;z-index:1;scroll-margin-top:20px;margin:0 12px;padding:clamp(7px,.9vw,14px) clamp(14px,1.6vw,22px);border:0;border-radius:0;background:transparent}.section-block:first-child{padding-top:clamp(20px,1.8vw,30px)}.theme-dark .section-block{background:transparent}.section-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--accent)}.section-head svg{display:block;flex:0 0 auto}.section-head h2{margin:0;color:var(--text);font-size:20px;line-height:1}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.2vw,18px)}.visual-card{position:relative;overflow:hidden;height:var(--project-card-height);min-height:var(--project-card-height);padding:clamp(20px,2vw,28px);border:1px solid var(--border);border-radius:var(--card-radius);background:radial-gradient(circle at 85% 45%,rgba(58,139,235,.42),transparent 9rem),linear-gradient(135deg,#ffffffd6,#b5d5ff85);box-shadow:inset 0 1px #fff6}.visual-card.has-art{background:#e7f2ff}.theme-dark .visual-card.has-art{background:#081f3eb8}.visual-card.has-art{min-height:var(--project-card-height);padding:0}.visual-card.has-art:before{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(232,243,255,.9) 0%,rgba(232,243,255,.78) 38%,rgba(232,243,255,.42) 58%,rgba(232,243,255,.14) 80%,transparent 100%),linear-gradient(180deg,#e8f3ff05,#e8f3ff1a 56%,#e8f3ff5c);content:"";pointer-events:none}.theme-dark .visual-card.has-art:before{background:linear-gradient(90deg,rgba(8,31,62,.96) 0%,rgba(8,31,62,.88) 46%,rgba(8,31,62,.5) 61%,rgba(8,31,62,.12) 82%,transparent 100%),linear-gradient(180deg,#081f3e0a,#081f3e33 58%,#081f3e8f)}.project-art{position:absolute;inset:0 0 0 28%;z-index:1;overflow:hidden;pointer-events:none}.project-art:after{position:absolute;inset:0;background:linear-gradient(180deg,#e8f3ff05,#e8f3ff14 54%,#e8f3ff47),linear-gradient(90deg,rgba(232,243,255,.52) 0%,rgba(232,243,255,.18) 32%,transparent 68%);content:""}.theme-dark .project-art:after{background:linear-gradient(180deg,#081f3e05,#081f3e1f 54%,#081f3e70),linear-gradient(90deg,rgba(8,31,62,.62) 0%,rgba(8,31,62,.16) 25%,transparent 58%)}.project-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center;transform:scale(1.04);transform-origin:62% center;transition:transform .36s ease}.theme-dark .visual-card{background:radial-gradient(circle at 82% 48%,rgba(20,158,211,.32),transparent 9rem),linear-gradient(135deg,#061934fa,#082a4dad)}.card-copy{position:relative;z-index:3}.visual-card.has-art .card-copy{position:absolute;inset:0 auto auto 0;width:min(64%,340px);min-height:58%;padding:22px 25px 42px}.download-card.has-art .card-copy{height:100%;padding-bottom:76px}.online-card.has-art .card-copy{width:72%;max-width:72%}.download-card.has-art .download-btn{position:absolute;left:25px;bottom:24px;margin-top:0}.visual-card h3,.resource-card h3{position:relative;z-index:3;margin:0 0 13px;color:var(--text);font-size:clamp(12px,.86vw,15px);font-weight:900}.visual-card h3{white-space:nowrap}.visual-card p{position:relative;z-index:3;margin:7px 0;color:var(--muted);font-size:12px;font-weight:400}.online-card .card-copy p{display:flex;align-items:center;gap:10px;max-width:100%;width:100%;min-width:max-content;white-space:nowrap}.project-meta{display:flex;align-items:center;gap:10px;white-space:nowrap}.project-meta span+span{position:relative;padding-left:11px}.project-meta span+span:before{position:absolute;left:0;top:50%;width:1px;height:.9em;background:color-mix(in srgb,var(--muted) 42%,transparent);content:"";transform:translateY(-50%)}.round-action{position:absolute;z-index:4;left:25px;bottom:24px;display:grid;width:var(--module-button-height);height:var(--module-button-height);place-items:center;border:1px solid rgba(255,255,255,.46);border-radius:999px;color:#fff;background:var(--button);cursor:pointer;text-decoration:none}.online-card .round-action{width:54px;border-radius:999px}.round-action:hover,.download-btn:hover,.resource-actions :is(button,a):hover,.preview-actions :is(button,a):hover{filter:brightness(1.12)}.theme-dark .round-action{border-color:transparent;color:#fff;background:var(--button);box-shadow:0 10px 20px color-mix(in srgb,var(--accent) 18%,transparent)}.download-btn{position:relative;z-index:4;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:96px;min-height:var(--module-button-height);margin-top:12px;border:0;border-radius:7px;color:#fff;font-size:14px;background:var(--button);box-shadow:0 10px 20px #1255ba3b;cursor:pointer;text-decoration:none}.animated-download-icon{flex:0 0 auto;overflow:visible}.download-icon-group,.download-icon-head,.download-icon-shaft,.download-icon-tray{transform-box:fill-box;transform-origin:center}.download-icon-shaft{stroke-dasharray:30;stroke-dashoffset:0}.download-icon-tray{stroke-dasharray:60;stroke-dashoffset:0}.download-btn:hover .download-icon-group,.resource-actions :is(button,a):hover .download-icon-group,.preview-actions :is(button,a):hover .download-icon-group{animation:downloadGroupPulse .6s ease-in-out}.download-btn:hover .download-icon-shaft,.resource-actions :is(button,a):hover .download-icon-shaft,.preview-actions :is(button,a):hover .download-icon-shaft{animation:downloadShaftDraw .6s ease-in-out}.download-btn:hover .download-icon-head,.resource-actions :is(button,a):hover .download-icon-head,.preview-actions :is(button,a):hover .download-icon-head{animation:downloadHeadDrop .6s ease-in-out 50ms}.download-btn:hover .download-icon-tray,.resource-actions :is(button,a):hover .download-icon-tray,.preview-actions :is(button,a):hover .download-icon-tray{animation:downloadTrayDraw .6s ease-in-out .1s}.animated-move-right-icon{flex:0 0 auto;overflow:visible}.move-right-arrow,.move-right-line{transform-box:fill-box;transform-origin:center}.round-action:hover .move-right-arrow{animation:moveRightArrow .6s ease-in-out}.round-action:hover .move-right-line{animation:moveRightLine .8s ease-in-out}@keyframes downloadGroupPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes downloadShaftDraw{0%{stroke-dashoffset:30;opacity:.4}to{stroke-dashoffset:0;opacity:1}}@keyframes downloadHeadDrop{0%{transform:translateY(-2px) scale(1);opacity:.6}50%{transform:translateY(2px) scale(1.05);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@keyframes downloadTrayDraw{0%{stroke-dashoffset:60;opacity:.3}to{stroke-dashoffset:0;opacity:1}}@keyframes moveRightArrow{0%,to{transform:translate(0)}50%{transform:translate(3px)}}@keyframes moveRightLine{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.download-btn:hover .download-icon-group,.download-btn:hover .download-icon-shaft,.download-btn:hover .download-icon-head,.download-btn:hover .download-icon-tray,.resource-actions :is(button,a):hover .download-icon-group,.resource-actions :is(button,a):hover .download-icon-shaft,.resource-actions :is(button,a):hover .download-icon-head,.resource-actions :is(button,a):hover .download-icon-tray,.preview-actions :is(button,a):hover .download-icon-group,.preview-actions :is(button,a):hover .download-icon-shaft,.preview-actions :is(button,a):hover .download-icon-head,.preview-actions :is(button,a):hover .download-icon-tray,.round-action:hover .move-right-arrow,.round-action:hover .move-right-line{animation:none}}.card-ship,.scan-ring{position:absolute;z-index:2;pointer-events:none}.visual-card.has-art .card-ship,.visual-card.has-art .scan-ring{display:none}.card-ship{right:4%;bottom:18%;width:38%;height:34%;opacity:.92;clip-path:polygon(0 42%,78% 20%,100% 48%,86% 78%,20% 87%);background:linear-gradient(180deg,#fffffff2,#3e6795e6 58%,#0a1e3ef0 60%);filter:drop-shadow(0 13px 9px rgba(14,59,110,.24))}.platform .card-ship{height:42%;clip-path:polygon(8% 70%,90% 70%,100% 100%,0 100%,10% 70%,20% 10%,25% 70%,63% 70%,70% 0,75% 70%)}.console .card-ship{right:10%;bottom:22%;width:33%;height:47%;clip-path:polygon(0 16%,72% 0,100% 18%,100% 83%,24% 100%,0 83%)}.scan-ring{right:-20px;bottom:-30px;width:170px;height:170px;border:1px solid rgba(40,123,230,.25);border-radius:50%;box-shadow:inset 0 0 0 28px #378bf20f,inset 0 0 0 58px #378bf20f}.theme-dark .scan-ring{border-color:color-mix(in srgb,var(--accent) 28%,transparent);box-shadow:inset 0 0 0 28px color-mix(in srgb,var(--accent) 6%,transparent),inset 0 0 0 58px color-mix(in srgb,var(--accent) 6%,transparent)}.resource-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:20px}.resource-card{display:flex;flex-direction:column;min-width:0;height:var(--module-card-height);min-height:var(--module-card-height);padding:11px 8px 10px;border:1px solid var(--border);border-radius:var(--card-radius);background:linear-gradient(rgba(38,121,217,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(38,121,217,.08) 1px,transparent 1px),#fff6;background-size:14px 14px,14px 14px,auto}.theme-dark .resource-card{background:linear-gradient(color-mix(in srgb,var(--accent) 13%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 13%,transparent) 1px,transparent 1px),#081f3eb8;background-size:14px 14px,14px 14px,auto}.resource-card h3{margin-bottom:10px;text-align:center;font-size:clamp(12px,.86vw,15px)}.resource-icon{position:relative;display:grid;height:clamp(62px,6.3vw,92px);place-items:center;overflow:hidden;border-radius:6px;background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 72%),linear-gradient(180deg,#ffffff29,#ffffff0a)}.theme-dark .resource-icon{background:radial-gradient(circle at 50% 64%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 72%),linear-gradient(180deg,#0d2b4e6b,#05132733)}.resource-icon img{display:block;width:min(98%,132px);max-width:none;height:auto;filter:drop-shadow(0 12px 18px color-mix(in srgb,var(--accent) 20%,transparent));transition:transform .18s ease,filter .18s ease}.blueprint{position:relative;overflow:hidden;height:clamp(58px,6.2vw,86px);border-radius:6px;background:linear-gradient(rgba(38,121,217,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(38,121,217,.08) 1px,transparent 1px),linear-gradient(135deg,#dbedffcc,#78b1f23d);background-size:14px 14px,14px 14px,auto}.theme-dark .blueprint{background:linear-gradient(rgba(40,220,238,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(40,220,238,.1) 1px,transparent 1px),linear-gradient(135deg,#031123eb,#083b6080);background-size:14px 14px,14px 14px,auto}.mini-ship{position:absolute;right:16%;bottom:26%;width:62%;height:27%;clip-path:polygon(0 45%,85% 18%,100% 48%,83% 84%,19% 92%);background:#145cb59e;border-bottom:2px solid rgba(255,255,255,.72)}.theme-dark .mini-ship{background:#21d6ed47;border-color:#40ebf2b8}.resource-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:auto;padding-top:8px}.resource-actions :is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:var(--module-button-height);padding:0 6px;border:1px solid rgba(19,88,204,.32);border-radius:5px;color:var(--accent);background:#ffffffc2;font-size:14px;font-weight:400;text-decoration:none;white-space:nowrap;cursor:pointer}.resource-actions :is(button,a):hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.76))}.resource-actions :is(button,a):last-child:hover{color:#fff;background:var(--button)}.resource-actions :is(button,a):last-child{color:#fff;border-color:transparent;background:var(--button)}.theme-dark .resource-actions :is(button,a){color:var(--accent);background:#112b48e6;border-width:1px;border-color:color-mix(in srgb,var(--accent) 38%,transparent)}.theme-dark .resource-actions :is(button,a):hover{border-color:var(--accent);color:var(--accent);background:linear-gradient(color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--accent) 10%,transparent)),#112b48e6}.theme-dark .resource-actions :is(button,a):last-child{color:#fff;border-color:transparent;background:var(--button)}.research-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--card-radius);background:linear-gradient(180deg,#ffffff5c,#ecf6ff6b),color-mix(in srgb,var(--panel-strong) 58%,transparent);list-style:none}.theme-dark .research-links{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent),#081f3e8a}.research-links li{position:relative;padding:0 18px}.research-links a{display:inline-flex;align-items:center;gap:8px;min-height:26px;color:var(--accent);font-size:14px;font-weight:400;text-decoration:none}.research-links a:after{content:"›";font-size:16px;line-height:1;opacity:.9}.research-links a:hover{color:color-mix(in srgb,var(--accent) 82%,var(--text));text-decoration:none}.research-links a:hover span{text-decoration:underline solid .8px;text-underline-offset:4px}body:has(.modal-mask){overflow:hidden}.modal-mask{--accent: #105bd8;--accent-2: #28c1ff;--panel: rgba(255, 255, 255, .88);--panel-strong: rgba(255, 255, 255, .96);--border: rgba(46, 101, 179, .2);--text: #071c42;--muted: #496078;--button: linear-gradient(135deg, #105bd8, #0b49bb);position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;color:var(--text);background:#06152e85;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-mask.theme-dark{--accent: #6aa6ff;--accent-2: #96c8ff;--panel: rgba(5, 23, 47, .92);--panel-strong: rgba(8, 30, 60, .96);--border: rgba(77, 142, 255, .24);--text: #f4fbff;--muted: #a8bfd7;--button: linear-gradient(135deg, #3d8dff, #1a63df);background:#000712b3}.modal-mask.fullscreen{padding:0;width:100vw;height:100vh;height:100dvh;background:#06101d;-webkit-backdrop-filter:none;backdrop-filter:none}.drawing-modal{display:flex;height:min(820px,calc(100vh - 48px));width:min(1360px,calc(100vw - 48px));max-height:calc(100vh - 48px);flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:18px;background:radial-gradient(circle at 84% 10%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 22rem),var(--panel);box-shadow:0 30px 90px #000e2259}.drawing-modal.expanded{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border-width:0;border-radius:0}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel-strong) 80%,transparent)}.modal-head p,.modal-head h2,.drawing-list h3,.preview-title h3,.preview-title p{margin:0}.modal-head p{margin-bottom:4px;color:var(--accent);font-size:13px;font-weight:400}.modal-head h2{font-size:clamp(17px,1.15vw,21px)}.modal-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--border);border-radius:9px;color:var(--text);background:color-mix(in srgb,var(--panel-strong) 82%,transparent);cursor:pointer}.modal-close:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel-strong))}.modal-close svg{width:22px;height:22px}.modal-controls .modal-close:first-child svg{width:20px;height:20px}.modal-controls{display:flex;align-items:center;gap:10px}.modal-content{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:18px;flex:1 1 auto;min-height:0;padding:18px}.drawing-modal.expanded .modal-content{position:absolute;inset:0;display:block;min-height:0;padding:0}.drawing-modal.expanded .drawing-list-shell,.drawing-modal.expanded .modal-head{display:none}.drawing-modal.expanded .preview-footer{opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .16s ease,transform .16s ease}.modal-mask.fullscreen.controls-visible .drawing-modal.expanded .preview-footer{opacity:1;pointer-events:auto;transform:translateY(0)}.drawing-modal.expanded .modal-head>div:first-child,.drawing-modal.expanded .preview-title{display:none}.drawing-modal.expanded .drawing-preview{position:absolute;inset:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.drawing-list-shell,.drawing-preview{min-height:0;min-width:0;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel-strong) 62%,transparent);box-shadow:inset 0 1px #ffffff38}.drawing-list-shell{--drawing-list-bg: color-mix(in srgb, var(--panel-strong) 62%, #edf4ff)}.modal-mask.theme-dark .drawing-list-shell{--drawing-list-bg: color-mix(in srgb, var(--panel-strong) 62%, #061a31)}.modal-mask.theme-dark .drawing-list-shell,.modal-mask.theme-dark .drawing-preview{box-shadow:none}.drawing-list-shell{position:relative;border-top-right-radius:16px;border-bottom-right-radius:16px;overflow:hidden;background:var(--drawing-list-bg);background-clip:padding-box}.drawing-list{height:100%;padding:18px 14px 18px 18px;overflow:hidden auto;background:var(--drawing-list-bg);background-clip:padding-box;scrollbar-width:none;-ms-overflow-style:none}.drawing-list::-webkit-scrollbar{display:none;width:0!important;height:0!important}.drawing-list::-webkit-scrollbar-track{background:transparent}.drawing-list::-webkit-scrollbar-track-piece:start,.drawing-list::-webkit-scrollbar-track-piece:end{margin:0;background:transparent}.drawing-list::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--accent) 38%,transparent);background-clip:content-box}.drawing-list::-webkit-scrollbar-button{-webkit-appearance:none;appearance:none;display:none!important;width:0!important;height:0!important;background:transparent!important}.drawing-list::-webkit-scrollbar-button:single-button,.drawing-list::-webkit-scrollbar-button:vertical,.drawing-list::-webkit-scrollbar-button:vertical:start:increment,.drawing-list::-webkit-scrollbar-button:vertical:start:decrement,.drawing-list::-webkit-scrollbar-button:vertical:end:increment,.drawing-list::-webkit-scrollbar-button:vertical:end:decrement{-webkit-appearance:none;appearance:none;display:none!important;width:0!important;height:0!important;min-height:0!important;background:transparent!important}.drawing-list::-webkit-scrollbar-corner{background:transparent}.drawing-scrollbar{position:absolute;top:52px;right:3px;bottom:10px;z-index:8;width:8px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s ease}.drawing-scrollbar.visible{visibility:visible;opacity:1}.drawing-scrollbar-thumb{position:absolute;top:0;left:1px;width:6px;border-radius:999px;background:#a6b2c4ad;cursor:pointer;pointer-events:auto;will-change:transform}.drawing-scrollbar-thumb:hover{background:#8997abd1}.modal-mask.theme-dark .drawing-scrollbar-thumb{background:#6f8bae40}.modal-mask.theme-dark .drawing-scrollbar-thumb:hover{background:#80a4d085}.drawing-toast{position:absolute;right:22px;bottom:22px;left:22px;z-index:12;display:grid;min-height:34px;place-items:center;border:0;border-radius:999px;color:#fffffff0;font-size:13px;background:#091222bd;box-shadow:0 10px 24px #0712262e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.modal-mask.theme-dark .drawing-toast{color:#fffffff5;background:#060a11b3;box-shadow:0 12px 26px #00000052,0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent),0 0 22px color-mix(in srgb,var(--accent) 12%,transparent)}.drawing-toast-enter-active,.drawing-toast-leave-active{transition:opacity .14s ease,transform .14s ease}.drawing-toast-enter-from,.drawing-toast-leave-to{opacity:0;transform:translateY(6px)}.drawing-list h3{position:sticky;top:-18px;z-index:5;margin:-18px -14px 14px -18px;padding:18px 14px 12px 18px;border-top-left-radius:12px;border-top-right-radius:12px;background:var(--drawing-list-bg);box-shadow:0 12px 18px var(--drawing-list-bg);font-size:15px}.theme-dark .drawing-list h3{background:var(--drawing-list-bg);box-shadow:0 12px 18px var(--drawing-list-bg)}.drawing-tabs{position:sticky;top:-18px;z-index:5;display:flex;align-items:flex-start;gap:0;margin:-18px -14px 14px -18px;padding:18px 6px 0;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom:1px solid color-mix(in srgb,var(--border) 78%,transparent);background:var(--drawing-list-bg);box-shadow:0 12px 18px var(--drawing-list-bg)}.drawing-tab{position:relative;display:flex;align-items:flex-start;justify-content:center;flex:1 1 0;min-width:0;min-height:28px;padding:0 6px 16px;border:0;border-radius:0;color:var(--text);font-size:15px;font-weight:700;letter-spacing:0;line-height:1;background:transparent;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-tab:after{position:absolute;right:8px;bottom:-1px;left:8px;height:3px;border-radius:999px 999px 0 0;background:var(--accent);content:"";opacity:0;transform:scaleX(.3);transition:opacity .16s ease,transform .16s ease}.drawing-tab:hover,.drawing-tab.active{color:var(--accent);background:transparent}.drawing-tab.active:after{opacity:1;transform:scaleX(1)}.drawing-tab span,.drawing-tab small{display:inline;min-width:0}.drawing-tab small{margin-left:4px;color:currentColor;font-size:inherit;font-weight:600;opacity:.72}.drawing-count{color:var(--text);font-weight:600;opacity:.72}.drawing-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:66px;margin-bottom:10px;padding:10px 12px;border:1px solid transparent;border-radius:12px;color:var(--muted);background:linear-gradient(90deg,#ffffff94,#ffffff4d),color-mix(in srgb,var(--panel-strong) 52%,transparent);text-align:left;cursor:pointer}.drawing-item:focus,.drawing-item:focus-visible{outline:none}.modal-mask:not(.theme-dark) .drawing-item{border-color:#74a4e738}.drawing-thumb{display:block;width:48px;height:38px;object-fit:cover;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:8px;background:color-mix(in srgb,var(--panel-strong) 70%,transparent)}.theme-dark .drawing-item:not(.active){border-color:color-mix(in srgb,var(--accent) 18%,transparent);color:#9db6cd;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 78%),#0a2342ad}.drawing-item:hover{border-color:color-mix(in srgb,var(--accent) 36%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 88%),color-mix(in srgb,var(--panel-strong) 70%,transparent)}.theme-dark .drawing-item:not(.active):hover{border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 13%,transparent),transparent 84%),#0c2d50db}.drawing-item span{min-width:0}.drawing-item strong,.drawing-item small,.drawing-item em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-item strong{color:var(--text);font-size:15px;font-weight:400}.drawing-item small{margin-top:4px;font-size:12px;font-style:normal}.drawing-item em{color:var(--muted);font-size:12px;font-style:normal;font-weight:400}.drawing-item.active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 20%,transparent),transparent 86%),color-mix(in srgb,var(--panel-strong) 72%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.drawing-preview{display:flex;min-height:0;flex-direction:column;padding:18px}.drawing-modal.expanded .drawing-preview{min-height:0}.drawing-modal.expanded .preview-title{position:absolute;z-index:1;top:82px;right:22px;left:22px;margin:0;pointer-events:none}.preview-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.preview-title h3{font-size:15px;line-height:1}.preview-title p{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:13px;font-weight:400}.preview-shortcut-hint{color:var(--muted);font-size:12px;opacity:.64}.preview-board{display:grid;flex:1 1 auto;min-height:0;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:16px;background:linear-gradient(rgba(38,121,217,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(38,121,217,.09) 1px,transparent 1px),radial-gradient(circle at 45% 38%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 22rem),color-mix(in srgb,var(--panel-strong) 72%,transparent);background-size:24px 24px,24px 24px,auto,auto;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.drawing-modal.expanded .preview-board{position:absolute;inset:0;flex:1 1 auto;min-height:0;border:0;border-radius:0}.preview-board.pan-enabled{cursor:grab}.preview-board.dragging{cursor:grabbing}.theme-dark .preview-board{background:linear-gradient(rgba(40,220,238,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(40,220,238,.09) 1px,transparent 1px),radial-gradient(circle at 45% 38%,rgba(40,220,238,.16),transparent 22rem),#061a31;background-size:24px 24px,24px 24px,auto,auto}.blueprint-large,.preview-image{position:relative;min-height:0;transform-origin:center;transition:transform .18s ease;will-change:transform}.preview-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.preview-empty{display:grid;width:100%;height:100%;min-height:0;place-items:center;margin:0;color:var(--muted);font-size:14px}.preview-board.dragging .blueprint-large,.preview-board.dragging .preview-image{transition:none}.drawing-modal.expanded .blueprint-large,.drawing-modal.expanded .preview-image{max-width:100%;max-height:100%;min-height:0}.draft-line,.draft-circle,.draft-note{position:absolute;border-color:color-mix(in srgb,var(--accent) 48%,transparent);pointer-events:none}.hull-side{left:8%;top:16%;width:62%;height:28%;border:3px solid;border-top-width:2px;border-radius:46% 52% 36% 38%;transform:skew(-7deg)}.hull-side:before,.hull-top:before,.ship-section:before,.ship-section:after,.ruler:before,.ruler:after{position:absolute;content:""}.hull-side:before{left:39%;bottom:96%;width:13%;height:48%;border:2px solid color-mix(in srgb,var(--accent) 42%,transparent);border-bottom:0;clip-path:polygon(20% 0,78% 0,100% 100%,0 100%)}.hull-top{left:8%;top:53%;width:61%;height:24%;border:3px solid;border-radius:50%}.hull-top:before{inset:20% 11%;border:2px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:50%}.ship-section{width:10%;height:26%;border:2px solid;border-radius:50%}.ship-section:before{top:50%;left:8%;width:84%;border-top:1px solid color-mix(in srgb,var(--accent) 48%,transparent)}.ship-section:after{top:8%;left:50%;height:84%;border-left:1px solid color-mix(in srgb,var(--accent) 48%,transparent)}.section-a{right:20%;top:15%}.section-b{right:7%;top:15%}.section-c{right:13%;top:52%}.ruler{width:16%;height:20%;border-top:2px solid;border-left:2px solid}.ruler:before,.ruler:after{width:45%;height:28%;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent)}.ruler:before{left:12%;top:22%}.ruler:after{right:8%;bottom:9%}.ruler-a{right:4%;top:5%}.ruler-b{right:4%;bottom:6%}.draft-note{width:17%;height:8%;border-top:2px solid;border-bottom:2px solid;opacity:.7}.draft-note:before{position:absolute;inset:35% 0 auto;border-top:1px solid color-mix(in srgb,var(--accent) 35%,transparent);content:""}.note-a{left:8%;top:6%}.note-b{left:25%;top:7%}.draft-circle{right:22%;bottom:14%;width:9%;aspect-ratio:1;border:2px solid;border-radius:50%}.circle-b{right:4%;top:36%}.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.drawing-modal.expanded .preview-footer{position:absolute;z-index:2;top:12px;right:12px;left:12px;justify-content:space-between;flex-direction:row;flex-wrap:nowrap;gap:14px;margin-top:0;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none}.drawing-modal.expanded .preview-footer::-webkit-scrollbar{display:none}.drawing-modal.expanded .preview-actions{align-items:center;flex-direction:row;flex-wrap:nowrap;flex-shrink:0}.drawing-modal.expanded .preview-actions :is(button,a){width:auto;white-space:nowrap}.preview-tools,.preview-controls{flex-shrink:0}.preview-actions{flex-wrap:nowrap;flex-shrink:0}.fullscreen-hint{right:22px;left:auto;width:max-content;max-width:calc(100vw - 44px);padding:0 16px}.preview-tools{display:inline-flex;align-items:center;gap:8px;padding:5px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--panel-strong) 68%,transparent)}.preview-tools button{display:grid;width:34px;height:30px;place-items:center;border:0;border-radius:7px;color:var(--muted);background:transparent;cursor:pointer}.preview-tools button:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.preview-tools button.active{color:#fff;background:var(--button);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 18%,transparent)}.preview-actions{display:flex;align-items:center;gap:12px}.preview-actions :is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 22px;border:0;border-radius:8px;color:#fff;font-size:14px;background:var(--button);font-weight:400;text-decoration:none;cursor:pointer;box-shadow:0 14px 28px color-mix(in srgb,var(--accent) 22%,transparent)}@media(hover:hover)and (pointer:fine){.visual-card:hover{border-color:color-mix(in srgb,var(--accent) 42%,transparent);box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 16%,transparent),inset 0 1px #ffffff85;transform:translateY(-4px)}.visual-card:hover .card-ship{filter:drop-shadow(0 17px 12px rgba(14,59,110,.32));transform:translate(-8px) scale(1.04)}.visual-card:hover .scan-ring{opacity:.86;transform:scale(1.08)}.visual-card.has-art:hover .project-art img{transform:scale(1.1)}.resource-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 12px 26px color-mix(in srgb,var(--accent) 13%,transparent);transform:translateY(-3px)}.resource-card:hover .resource-icon{filter:saturate(1.12) brightness(1.03)}.resource-card:hover .resource-icon img{transform:translateY(-2px) scale(1.04)}}@media(max-width:1024px){.portal-panel{width:min(920px,calc(100% - 36px))}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-strip,.research-links{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-content{grid-template-columns:1fr;overflow:auto;max-height:calc(100vh - 128px)}.drawing-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.drawing-list h3{grid-column:1 / -1}.drawing-item{margin-bottom:0}}@media(min-width:1025px)and (max-width:1536px){.portal{--module-card-height: 140px;--project-card-height: 128px;--module-button-height: 28px}.hero{height:clamp(106px,12vw,147px)}.hero-content{transform:translateY(4px)}.brand h1{font-size:40px}.portal-panel{width:min(1240px,calc(100% - clamp(120px,12vw,220px)));margin-top:-10px}.section-block{margin-top:1px;margin-bottom:1px;padding-top:clamp(7px,.8vw,12px);padding-bottom:clamp(7px,.8vw,12px)}.section-head{margin-bottom:10px}.visual-card{padding:18px 20px}.visual-card.has-art .card-copy{width:min(68%,340px);padding:18px 22px 48px}.online-card.has-art .card-copy{width:74%;max-width:74%}.visual-card p{margin-top:4px}.round-action,.download-card.has-art .download-btn{bottom:16px}.visual-card h3,.resource-card h3{font-size:15px}.download-btn,.resource-actions :is(button,a){font-size:12px}.resource-card{padding:9px 7px 8px}.resource-icon{height:62px}.download-btn{margin-top:9px}}@media(max-width:720px){.theme-toggle{top:12px;right:12px;inset-inline-end:12px}.portal-panel{width:calc(100% - 20px)}.hero{height:210px}.hero-content{align-items:center;padding:0 20px;text-align:center;transform:translateY(10px)}.brand{gap:10px}.brand h1{max-width:100%}.section-block{margin:6px 8px;padding:10px 13px}.project-grid{grid-template-columns:1fr}.visual-card{min-height:164px}.resource-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.research-links{grid-template-columns:1fr;gap:3px}.research-links li{padding:0}.resource-actions{grid-template-columns:1fr}.modal-mask{padding:10px}.drawing-modal{width:100%;max-height:calc(100vh - 20px);border-radius:14px}.modal-head{padding:14px}.modal-content{padding:12px;gap:12px}.drawing-list{grid-template-columns:1fr}.drawing-item{grid-template-columns:48px minmax(0,1fr)}.drawing-item em{grid-column:2}.blueprint-large,.preview-image{min-height:260px}.preview-footer,.preview-actions{align-items:stretch;flex-direction:column}.preview-footer{flex-direction:row;align-items:center;overflow-x:auto;scrollbar-width:none}.preview-footer::-webkit-scrollbar{display:none}.preview-actions{align-items:center;flex-direction:row}.preview-tools{justify-content:space-between;width:100%}.preview-actions :is(button,a){width:100%}}
