/* Supplemental free shadcn patterns, styled for DORIS. */
.site-header{gap:16px}.site-header nav{align-items:center}.site-header button,.work-menu summary{cursor:pointer;min-height:44px}.work-menu{position:relative}.work-menu summary{display:flex;align-items:center;gap:8px;list-style:none}.work-menu summary::-webkit-details-marker{display:none}.site-header .work-menu-panel{position:absolute;top:48px;right:-80px;display:flex;flex-direction:column;gap:0;width:350px;padding:12px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);box-shadow:0 20px 60px #0008}.work-menu-item{display:flex;align-items:center;gap:16px;padding:10px!important;border-radius:8px}.work-menu-item:hover{background:#1b2b41}.work-menu-item img{width:80px;height:64px;object-fit:contain;border-radius:6px;background:#02060d}.work-menu-item strong,.work-menu-item small{display:block}.work-menu-item strong{font-size:18px}.work-menu-item small{color:#aab6c5;font-size:11px;margin-top:5px}
[popover]{color:var(--ink);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 20px 70px #0009;width:min(350px,calc(100vw - 30px));padding:24px;font-family:inherit;line-height:1.8}[popover] h2,[popover] h3{font-size:22px;margin:0 0 16px}[popover] p{color:#afbdd0;font-size:14px;margin-bottom:0}#wave-settings{position:fixed;inset:80px auto auto 24px}#wave-settings label{display:flex;justify-content:space-between;font-size:14px}#wave-strength{width:100%;min-height:44px;accent-color:var(--ui-accent);cursor:pointer}#wave-strength:disabled{opacity:.4}.ui-settings>button,.search-open{font:inherit;color:inherit;background:none;border:1px solid var(--ui-border)!important;border-radius:7px;padding:0 12px!important}.ui-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 24px;background:#20344e;color:#eff5ff;border:1px solid #7897bd;border-radius:10px;max-width:calc(100vw - 32px);font-size:14px;z-index:1000;box-shadow:0 8px 40px #0009}.ui-tooltip{position:fixed;padding:8px 12px;background:#d2e2f9;color:#07111e;border-radius:6px;font-size:12px;pointer-events:none;z-index:1001;max-width:250px}
.command-dialog{width:min(620px,calc(100vw - 24px));padding-top:65px}.command-dialog h2{font-size:30px}.command-dialog label{display:block;font-size:13px;margin:22px 0 8px}.command-dialog input{width:100%;min-height:48px;padding:12px;background:#020a15;color:var(--ink);border:1px solid #738eaf;border-radius:8px;font:inherit}.command-dialog #search-count{font-size:12px;color:#aab6c5}.command-results{max-height:45dvh;overflow:auto}.command-result{display:block;text-align:right;width:100%;padding:14px;border:0;border-bottom:1px solid var(--ui-border);background:transparent;color:inherit;border-radius:7px;font:inherit;cursor:pointer}.command-result:hover,.command-result:focus-visible{background:#243a56}.command-result strong,.command-result small{display:block}.command-result small{font-size:12px;color:#aab6c5;margin-top:5px}
.project-dialog{width:min(1150px,94vw)}.project-layout{--media-width:65%;display:grid;grid-template-columns:minmax(0,var(--media-width)) 16px minmax(0,1fr);align-items:stretch}.project-layout .project-views{height:clamp(300px,45dvh,480px);min-width:0}.project-notes{padding:12px 20px;min-width:0}.project-notes h3{font-size:23px;line-height:1.4;margin:22px 0 14px}.project-notes p{font-size:13px;line-height:1.9;color:#aab6c5}.ui-badge{display:inline-block;border:1px solid #7694ba66;border-radius:40px;padding:4px 10px;margin:0 0 7px 5px;font-size:10px;color:#c4d9f6;background:#21334a66}.resize-handle{cursor:col-resize;touch-action:none;position:relative;border-radius:6px}.resize-handle:before{content:'';position:absolute;top:42%;bottom:42%;left:6px;width:4px;border-radius:3px;background:#5f7798}.resize-handle:hover,.resize-handle:focus-visible{background:#26405c}.project-info button{font-size:12px;padding:9px;gap:6px}.project-dialog .ui-dialog-footer{flex-wrap:wrap}.project-dialog .ui-dialog-footer>.ui-muted{flex:1;min-width:180px}.project-dialog .ui-dialog-footer .ui-button{gap:8px;font-size:12px}.project-views>[role=tabpanel]{position:relative}.project-views>[role=tabpanel]:has(.device-hotspot){padding-bottom:58px}.device-hotspot{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);white-space:nowrap;min-height:36px;padding:6px 12px;border-radius:30px;border:1px solid #7996bb;background:#182a42;color:#e4efff;font:inherit;font-size:11px;cursor:pointer}.drawer-handle{display:none}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;text-align:center;padding:20px;color:#bfcde0}.ui-empty>span{font-size:36px;color:#8daedb}.ui-empty h3{font-size:22px;margin:12px 0}.ui-empty p{font-size:13px;line-height:1.8}.ui-empty .ui-button{margin-top:12px}.share-fallback{font-size:11px;word-break:break-all;direction:ltr}
.gallery-panel{overflow:hidden!important;padding:12px!important}.gallery-track{height:calc(100% - 56px);display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#7592b5 transparent}.gallery-slide{flex:0 0 100%;width:100%;height:100%;margin:0;scroll-snap-align:start;min-width:0}.gallery-frame{height:calc(100% - 30px);overflow:hidden;border-radius:8px;background:#02060c}.gallery-frame img{width:100%;height:100%;object-fit:contain;display:block}.gallery-frame .gallery-image-1{transform:scale(1.7);transform-origin:68% 40%}.gallery-frame .gallery-image-2{transform:scale(2.3);transform-origin:26% 67%}.gallery-slide figcaption{height:30px;padding-top:7px;text-align:center;font-size:11px;color:#b7c9df}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:16px;height:56px}.gallery-controls .ui-button{min-height:36px;font-size:11px;padding:6px 14px}.gallery-controls span{font-size:12px;direction:ltr}.gallery-controls button:disabled{opacity:.35;cursor:default}.project-progress{display:flex;align-items:center;gap:12px;margin-top:10px;color:#aab6c5;font-size:10px}.project-progress progress{width:95px;height:3px;border:0;border-radius:4px;overflow:hidden;appearance:none;background:#ffffff24}.project-progress progress::-webkit-progress-bar{background:#ffffff24}.project-progress progress::-webkit-progress-value{background:#a7caf9}.project-progress progress::-moz-progress-bar{background:#a7caf9}.reduced .project-progress{display:none}
@media(max-width:767px){.site-header{gap:8px}.ui-menu{margin-right:0!important}.ui-settings>button,.search-open{padding:0 8px!important;font-size:11px!important;min-height:40px!important}.site-header>a{margin-inline-end:auto}.project-dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-height:94dvh;border-radius:20px 20px 0 0;padding:42px 18px 24px;overscroll-behavior:contain}.drawer-handle{display:flex;position:absolute;top:0;left:calc(50% - 45px);width:90px;height:36px;align-items:center;justify-content:center;touch-action:none;background:none;border:0;cursor:grab}.drawer-handle span{width:42px;height:4px;border-radius:6px;background:#7287a3}.project-dialog .ui-close{top:35px;left:12px}.project-layout{display:block}.resize-handle{display:none}.project-notes{padding:16px 0 0}.project-notes h3,.project-notes>p{display:none}.project-info{display:inline-block}.project-info button{min-height:34px}.project-layout .project-views{height:38dvh;min-height:260px}.project-dialog .ui-tabs button{padding:8px 6px;font-size:12px}.project-dialog .ui-dialog-footer{margin-top:16px;gap:10px}.project-progress{margin-top:6px;font-size:9px;gap:7px}.project-progress progress{width:65px}.command-dialog{padding:62px 20px 24px}.command-dialog h2{font-size:27px}#wave-settings{inset:70px 15px auto auto}.ui-toast{bottom:16px;width:max-content}.project-dialog .ui-dialog-footer>.ui-muted{min-width:0}}
@media(prefers-reduced-motion:no-preference){.project-dialog[open]{animation:drawer-enter .22s ease-out}.reduced .project-dialog[open]{animation:none}@keyframes drawer-enter{from{opacity:.7;transform:translateY(18px)}to{opacity:1;transform:none}}}

.ui-toast{inset:auto auto 24px 50%;margin:0;width:max-content;line-height:1.5}.gallery-frame svg{width:100%;height:100%;display:block;transform:scale(1.12)}

.site-header .work-menu-all{padding:14px!important;border-top:1px solid var(--ui-border);font-size:12px;text-align:center}
/* Layout audit: text blocks share one flow instead of independent absolute anchors. */
.world-copy{position:absolute;left:var(--pad);top:110px;bottom:90px;width:44%;display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,3vh,38px)}
.world-copy .world-heading{position:static;width:auto}.world-copy .project-captions{position:relative;inset:auto;width:auto;height:auto;display:flex;flex-direction:column;gap:12px}.world-copy .project-caption{position:relative;inset:auto}.world-copy .project-progress{order:2;margin:0}.world-copy .story-note{position:static;order:3;white-space:normal;margin:0}.world-copy .project-caption{order:1}.world-copy .world-heading h2{font-size:clamp(48px,min(6.3vw,9vh),92px);margin-bottom:18px}.world-copy .project-caption h3{font-size:clamp(60px,min(7.6vw,10vh),112px)}.world-copy .project-caption h3.long{font-size:clamp(42px,min(5.5vw,8vh),78px)}.world-copy .world-heading .body-copy{line-height:1.65}.world-copy .project-caption>p{margin-block:8px;line-height:1.5}.world-copy .project-caption .eyebrow{margin-top:0}.world-copy .ui-project-open{margin-top:8px}
.craft-copy{position:absolute;right:var(--pad);top:120px;bottom:105px;width:44%;display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,6vh,70px)}.craft-copy .craft-heading,.craft-copy .step-content{position:static;width:auto;min-height:0}.craft-copy .step{position:relative;inset:auto}.craft-copy h2{font-size:clamp(48px,min(6.3vw,9vh),92px)}
.site-header>.search-open{margin-right:0}.site-header>.ui-settings{margin-right:0}.site-header .work-menu-panel{max-width:calc(100vw - 40px)}
@media(max-width:767px){.world-copy,.craft-copy{display:contents}.world-copy .world-heading,.craft-copy .craft-heading{position:absolute;inset:99px var(--pad) auto;width:auto}.world-copy .world-heading h2,.craft-copy h2{font-size:36px;margin:0}.world-copy .project-captions{position:absolute;inset:auto var(--pad) 82px;width:auto;height:auto;gap:7px}.world-copy .project-caption h3{font-size:46px;margin-bottom:7px}.world-copy .project-caption h3.long{font-size:36px}.world-copy .project-caption>p{font-size:12px;margin-block:5px}.world-copy .project-caption .eyebrow{font-size:10px}.world-copy .story-note{font-size:9px;gap:10px}.world-copy .project-progress{font-size:9px}.world-copy .ui-project-open{margin-top:5px}.craft-copy .step-content{position:absolute;inset:auto var(--pad) 100px;width:auto}.world-media{height:52%;top:17%}.world-media .asset-caption{bottom:8%}.world-panel .device-labels{top:80%}}
.reduced .world-copy,.reduced .craft-copy{display:contents}.reduced .world-copy .world-heading,.reduced .craft-copy .craft-heading{position:static;width:auto}.reduced .world-copy .project-captions{display:none}.reduced .craft-copy .step-content{position:static;width:auto}.reduced .craft-copy .step{position:static}.reduced .world-copy .world-heading h2,.reduced .craft-copy h2{font-size:clamp(40px,6vw,82px)}
@media(min-width:768px) and (max-width:950px){.site-header{gap:12px}.site-header nav{gap:14px}.site-header #motion-toggle{font-size:10px;padding-inline:8px}.world-copy{gap:18px;top:100px;bottom:85px}.world-copy .world-heading h2{font-size:50px}.world-copy .world-heading .body-copy{font-size:14px}.world-copy .project-caption h3{font-size:64px}.world-copy .project-caption h3.long{font-size:44px}}
