@font-face{font-family:LotPixel;src:url('assets/pixel.ttf') format('truetype');font-display:swap}
:root{--ink:#142430;--deep:#101e29;--panel:#1c303c;--line:#41515a;--paper:#ebe7d5;--muted:#a2b2ac;--gold:#dec18a;--pixel:LotPixel,monospace;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color-scheme:dark;font-family:var(--mono);color:var(--paper);background:var(--ink)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:hover{color:var(--gold)}a{color:inherit}img{max-width:100%;display:block}button,summary{-webkit-user-select:none;user-select:none}.app{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 28px;background:#142430;border-bottom:1px solid #41515a;z-index:2}.identity{display:flex;gap:14px;align-items:center;text-decoration:none}.identity strong{display:block;font-family:var(--pixel);font-size:18px;font-weight:normal;letter-spacing:.5px;line-height:1.3}.identity small{font-size:9px;display:block;margin-top:4px;letter-spacing:.65px;color:var(--muted)}.clapper{position:relative;font-family:var(--pixel);font-size:18px;padding:13px 8px 3px;border:2px solid var(--paper);height:40px;width:44px;display:flex;align-items:center;justify-content:center}.clapper:before{content:"";position:absolute;left:-2px;right:-2px;top:-3px;height:9px;background:repeating-linear-gradient(130deg,var(--paper) 0 7px,var(--ink) 7px 13px);transform:rotate(-9deg);transform-origin:left bottom;border:1px solid var(--paper)}nav{display:flex;align-items:center;gap:24px}nav button{font-size:11px;padding:10px 0;white-space:nowrap}.index-button span{display:inline-block;padding:3px 5px;background:#31434b;color:#d6cab0;font-size:9px;margin-left:3px}.key{border:1px solid #76867b;font-size:10px;display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;margin-left:5px;color:#d8d8be}.settings-button{font-size:24px}#lot{position:relative;overflow:hidden;min-height:220px;isolation:isolate;background:#24363e}#world{width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none;outline:none}.scene-grain{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 140px #07152144}.welcome{position:absolute;top:32px;left:30px;max-width:340px;z-index:1;transition:opacity .25s,transform .25s;text-shadow:0 2px 2px #10212d}.welcome:before{content:"";position:absolute;z-index:-1;inset:-34px -50px -40px -32px;background:radial-gradient(ellipse at 10% 20%,#10212dd9 0,#10212dbe 45%,#10212d00 73%);pointer-events:none}.eyebrow{font-size:8px;letter-spacing:1px;color:#bdc5ac;display:flex;align-items:center;gap:7px}.live-dot,.monitor-top i{display:inline-block;width:5px;height:5px;background:#d4b775;box-shadow:0 0 8px #d4b77555;flex:none}.welcome h1{font-family:var(--pixel);font-weight:normal;font-size:30px;line-height:1.45;margin:18px 0 13px;letter-spacing:-.3px}.welcome em{font-style:normal;color:var(--gold);font-size:36px}.welcome p{font-size:12px;line-height:1.7;margin:0 0 20px;color:#d6d8c7}.explore-button{font-family:var(--pixel);font-size:14px;padding:12px 15px;background:#dfc38f;color:#1b2e38;box-shadow:3px 3px 0 #132430}.explore-button:hover{background:#efdbb2;color:#142430}.explore-button span{margin-left:12px}.welcome>small{display:block;max-width:240px;font-size:8px;margin-top:13px;line-height:1.7;color:#bdc5b6}.welcome.dismissed{opacity:0;transform:translateY(-8px);pointer-events:none}.minimap{position:absolute;top:22px;right:26px;width:150px;border:1px solid #8a9b89;background:#152934e8;padding:6px;box-shadow:4px 4px 0 #10232a77}.minimap>span{font-size:8px;display:flex;justify-content:space-between;padding:2px 1px 6px;color:#d8cfb1}.minimap canvas{display:block;width:100%;height:auto;image-rendering:pixelated;opacity:.8}.minimap small{display:flex;justify-content:space-between;font-size:6px;padding-top:6px;color:#b2b9a4}.minimap i{width:5px;height:5px;background:#e3bd82}.map-plus{font-size:10px}.place{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#172b37dc;padding:8px 12px;border:1px solid #7b89755c;font-size:9px;white-space:nowrap}.place>span:first-child{color:var(--gold)}.monitor{position:absolute;left:28px;bottom:24px;width:224px;background:#162a35;border:1px solid #78877d;box-shadow:4px 4px 0 #0b1e2988}.monitor-top{display:flex;justify-content:space-between;align-items:center;font-size:7px;padding:5px 8px;border-bottom:1px solid #52655f}.monitor-top span{display:flex;align-items:center;gap:6px}.monitor-top i{width:4px;height:4px;background:#d88c6c}.monitor-top button{font-size:13px;padding:1px 5px;min-width:25px}.monitor-image{position:relative;width:100%;padding:5px}.monitor-image img{width:100%;height:111px;object-fit:cover}.monitor-play{position:absolute;right:11px;bottom:12px;font-size:7px;padding:5px 7px;background:#142632df;border:1px solid #81928499}.monitor-caption{padding:5px 10px 9px}.monitor-caption span{font-size:7px;color:var(--gold);display:block;margin-bottom:4px;text-transform:uppercase}.monitor-caption strong{font-size:10px;font-weight:normal;line-height:1.4;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:8px;color:#ccd1b8;text-shadow:0 1px 2px #071d2c;white-space:nowrap;padding:6px 8px;background:#152b3777}.interaction{position:absolute;bottom:53px;left:50%;transform:translateX(-50%);text-align:center;z-index:2;min-width:230px}.interaction-caption{font-size:9px}.interaction>span{display:block;font-size:8px;margin-bottom:9px;color:#eee3c4;text-shadow:0 2px 3px #132536}.interaction button{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #dec18a;background:#162a36ed;box-shadow:3px 3px 0 #0c1d28;padding:11px 15px;width:100%}.interaction .key{margin:0}.interaction strong{font-family:var(--pixel);font-size:14px;font-weight:normal}.statusbar{height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 27px;font-size:8px;letter-spacing:.4px;border-top:1px solid #495b5f;background:#142430}.statusbar>div{display:flex;align-items:center;gap:10px}.divider{color:#586e72}#visited-count{color:#a3b5ac}.desktop-keys span{color:#859b95;font-size:8px}.desktop-keys b{font-weight:normal;color:#c3c9b0;margin-right:5px}.statusbar button{font-size:8px;padding:9px 0;color:#afbeb0}.loading{position:absolute;inset:0;background:#182b36;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;z-index:5}.loading[hidden]{display:none}.touch-controls{display:none}.toast{position:fixed;top:95px;left:50%;transform:translateX(-50%);z-index:20;padding:12px 18px;background:#dac08e;color:#1c303b;font-size:11px;box-shadow:4px 4px 0 #0d2131;opacity:0;pointer-events:none;transition:opacity .15s;max-width:90vw;text-align:center}.toast.visible{opacity:1}.skip{position:fixed;top:-90px;left:20px;z-index:30;background:#dfc38f;color:#162b34;padding:12px}.skip:focus{top:12px}.no-js{position:fixed;inset:20%;padding:30px;background:#162b34;z-index:30}
/* The in-game journal opens into a readable, image-led portfolio. */
.panel{width:min(1080px,calc(100vw - 56px));max-width:none;max-height:calc(100dvh - 70px);padding:0;background:#e7e3d3;color:#23343c;border:3px solid #182b37;outline:1px solid #cfbe96;box-shadow:8px 8px 0 #081a2c77;overflow:auto}.panel::backdrop{background:#071b2acc;backdrop-filter:blur(4px)}.panel-bar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#1b303c;color:#e9e1c9;padding:14px 20px;border-bottom:1px solid #728476;font-size:10px}.panel-bar button{padding:5px 0;font-size:10px;min-height:30px}.panel-bar .panel-close{font-size:14px;padding:5px 9px;border:1px solid #7c8a7b}.panel-label{color:#c6b58c;font-size:9px;letter-spacing:1px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;padding:30px 32px 23px}.panel-heading h2{font-family:var(--pixel);font-weight:normal;font-size:29px;line-height:1.25;margin:9px 0 8px}.panel-heading p{font-size:11px;color:#64716d;line-height:1.6;margin:0;max-width:500px}.panel-heading .eyebrow{color:#657568}.count-mark{font-family:var(--pixel);font-size:40px;color:#a2aaa0}.filter-row{display:flex;flex-wrap:wrap;gap:3px;padding:0 32px 20px;border-bottom:1px solid #bcc2b5}.filter-row button{border:1px solid #9aa79a;padding:8px 11px;font-size:10px;color:#334c50}.filter-row button.active,.filter-row button:hover{background:#263e48;color:#efe5ca;border-color:#263e48}.filter-row small{opacity:.65;margin-left:5px}.search-row{display:flex;gap:10px;padding:18px 32px 0}.search-row input{color:#2a4046;font:inherit;font-size:11px;padding:12px;border:1px solid #aab5a7;background:#eeeddf;min-width:0;width:100%;border-radius:0}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px;padding:24px 32px 32px}.project{text-align:left;display:block;padding:0;color:#213840;min-width:0}.project:hover{color:#6a6749}.project-visual{position:relative;overflow:hidden;background:#b3b9a9;aspect-ratio:16/10}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.project:hover img{transform:scale(1.035)}.project-visual:after{content:'↗';position:absolute;right:8px;bottom:8px;background:#e9e1c7;color:#203641;padding:4px 8px}.project-meta{display:flex;justify-content:space-between;font-size:8px;margin:12px 0 6px;color:#798171;text-transform:uppercase}.project h3{font-family:system-ui,sans-serif;font-size:17px;line-height:1.25;font-weight:550;margin:0 0 6px;letter-spacing:-.35px}.project p{font-size:8px;line-height:1.5;margin:0;color:#596e6e;min-height:12px}.empty{padding:35px;grid-column:1/-1;font-size:12px;color:#61736b}.film-title{padding:25px 32px 20px;border-bottom:1px solid #adb7ac}.film-title .eyebrow{color:#6b796e}.film-title h2{font-family:system-ui,sans-serif;font-size:clamp(22px,3vw,37px);font-weight:500;line-height:1.15;letter-spacing:-1px;margin:9px 0 11px}.film-title p{font-size:10px;line-height:1.7;margin:0;color:#50676a}.film-title .watch-link{display:inline-flex;align-items:center;gap:25px;background:#263e48;color:#efe3c7;text-decoration:none;padding:11px 15px;margin:14px 7px 0 0;font-size:10px}.film-body{display:grid;grid-template-columns:minmax(0,1fr) 215px;padding:20px 24px 28px;gap:20px}.gallery-main{background:#182c37;min-height:270px;position:relative;display:flex;justify-content:center;align-items:center;aspect-ratio:16/10;overflow:hidden}.gallery-main img{width:100%;height:100%;max-height:59vh;object-fit:contain}.gallery-nav{display:flex;align-items:center;justify-content:space-between;font-size:9px;margin-top:10px;color:#586e6b}.gallery-nav button{color:#203b47;border:1px solid #92a295;padding:8px 12px}.gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;align-content:start}.gallery-thumbs button{padding:2px;border:1px solid transparent;aspect-ratio:1.25}.gallery-thumbs button.active{border-color:#234657}.gallery-thumbs img{height:100%;width:100%;object-fit:cover}.photo-note{font-size:8px;line-height:1.7;color:#6b7970;margin:14px 0}.side-title{font-family:var(--pixel);font-size:13px;font-weight:normal;margin:0 0 12px}.profile{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;padding:10px 32px 35px}.profile img{width:100%;max-height:450px;object-fit:cover;object-position:center 35%}.profile p{font-size:12px;line-height:1.85;color:#455d60;margin:0 0 18px}.slate{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid #b1bcad}.slate dt{font-size:8px;color:#7d877a}.slate dd{font-size:10px;margin:6px 0 0}.contact-layout{padding:0 32px 38px}.contact-layout p{font-size:12px;line-height:1.7;color:#536b6b}.contact-row{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-top:1px solid #a7b3a5;gap:12px}.contact-row div{min-width:0}.contact-row small{display:block;font-size:8px;margin-bottom:9px;color:#61746a}.contact-row a{font-family:system-ui,sans-serif;font-size:clamp(18px,3vw,29px);letter-spacing:-.6px;color:#263f48;text-decoration:none;overflow-wrap:anywhere}.contact-row a:hover{text-decoration:underline}.contact-row>span{font-size:25px;color:#677b6e}.map-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:25px;padding:0 32px 32px}.big-map{width:100%;height:auto;image-rendering:pixelated;border:5px solid #283e46;align-self:start}.map-list{display:flex;flex-direction:column}.map-list button{display:grid;grid-template-columns:30px 1fr 20px;gap:14px;align-items:center;text-align:left;color:#28434c;padding:15px 5px;border-bottom:1px solid #b3bcae}.map-list button:hover{background:#d7d7c7}.map-number{font-family:var(--pixel);font-size:18px;color:#7e8269}.map-list strong{font-weight:normal;font-size:12px;display:block}.map-list small{font-size:8px;color:#788273;display:block;margin-top:5px}.map-foot{font-size:9px;line-height:1.7;color:#687a6b;padding-top:20px}.settings-list{padding:0 32px 30px}.setting{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b2bbaa;gap:20px;padding:20px 0}.setting strong{display:block;font-size:12px;font-weight:normal}.setting small{display:block;font-size:9px;line-height:1.6;color:#697a6d;margin-top:6px;max-width:430px}.toggle{border:1px solid #7c927e;padding:8px 15px;color:#344e54;font-size:10px;min-width:65px}.toggle[aria-pressed=true]{background:#2c4b52;color:#f1e7c9}.help-copy{font-size:11px;line-height:1.9;color:#556e69;padding:25px 0 0;border-top:1px solid #aab6a5}.help-copy kbd{font:inherit;background:#d2d5c4;padding:2px 4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* A compact monitor keeps a route into the work without covering the lot. */
.monitor-project{display:block;width:100%;padding:0;text-align:left}.monitor-image,.monitor-caption{display:block}.monitor-top{padding:3px 5px 3px 8px}.monitor-top>div{display:flex}.monitor-top button{min-width:30px;min-height:30px}.monitor-compact .monitor-project{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;min-height:55px}.monitor-compact .monitor-image{padding:5px}.monitor-compact .monitor-image img{height:40px}.monitor-compact .monitor-play{display:none}.monitor-compact .monitor-caption{min-width:0;padding:6px 8px 6px 2px}.monitor-compact .monitor-caption span{font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-project:hover .monitor-caption strong{color:var(--gold)}
@media(pointer:coarse){.touch-controls{display:flex;position:absolute;bottom:24px;left:22px;right:24px;justify-content:space-between;align-items:flex-end;pointer-events:none}.joystick{position:relative;width:100px;height:100px;border:1px solid #afc1ae80;background:#152c3659;border-radius:50%;touch-action:none;pointer-events:auto}.stick-knob{position:absolute;left:33px;top:33px;width:32px;height:32px;border:1px solid #d3c39a;background:#d4bf8766;border-radius:50%;pointer-events:none}.stick-cross:before,.stick-cross:after{content:"";position:absolute;top:49px;left:15px;width:68px;height:1px;background:#a7b7a233}.stick-cross:after{transform:rotate(90deg)}.touch-action{width:68px;height:68px;border:1px solid #d1bd91;border-radius:50%;background:#172e3d99;color:#e9d4a3;font-family:var(--pixel);font-size:26px;box-shadow:3px 3px 0 #0b1d2855;pointer-events:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}.touch-action span{font-family:var(--mono);font-size:7px}.monitor{left:24px;bottom:155px;width:174px}.monitor-image img{height:83px}.scene-hint{bottom:7px;font-size:7px}.interaction{bottom:35px;min-width:0;width:160px}.interaction button{padding:10px;gap:7px}.interaction .key{display:none}.interaction strong{font-size:12px}.desktop-keys{display:none!important}}
@media(max-width:800px){.topbar{padding:12px 18px;min-height:67px}.identity strong{font-size:14px}.identity small{font-size:7px;letter-spacing:0}.clapper{width:33px;height:32px;font-size:13px}.identity{gap:10px}nav{gap:17px}nav button{font-size:10px}.desktop-contact{display:none}.welcome{left:23px;top:29px}.welcome h1{font-size:25px}.welcome em{font-size:31px}.welcome p{font-size:11px}.minimap{width:117px;right:20px}.place{top:auto;bottom:18px;left:auto;right:20px;transform:none;font-size:8px}.scene-hint{display:none}.statusbar{padding:0 18px;font-size:7px}.statusbar button{font-size:7px}.panel{width:calc(100vw - 30px);max-height:calc(100dvh - 35px)}.projects{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:23px 15px}.panel-heading{padding:25px 22px 20px}.panel-heading h2{font-size:25px}.filter-row{padding:0 22px 20px}.search-row{padding:18px 22px 0}.film-body{grid-template-columns:1fr;padding:18px}.gallery-thumbs{grid-template-columns:repeat(8,minmax(0,1fr))}.film-title{padding:22px}.profile{gap:20px;padding:0 22px 28px}.profile p{font-size:11px}.map-layout{padding:0 22px 25px;gap:20px}.contact-layout{padding:0 22px 28px}}
@media(max-width:560px){.topbar{min-height:62px;padding:10px 14px;gap:9px}.identity strong{font-size:12px;letter-spacing:0}.identity small{font-size:6px;max-width:130px;line-height:1.5;letter-spacing:0}.identity{gap:8px}.clapper{width:29px;height:28px;font-size:12px;padding:9px 5px 2px}.clapper:before{height:7px}nav{gap:11px}nav button{font-size:9px}nav .key{display:none}#map-button{font-size:0}#map-button:before{content:'MAP';font-size:9px}.settings-button{font-size:20px}nav .index-button{font-size:0}nav .index-button:before{content:'WORK';font-size:9px}.index-button span{display:none}.welcome{top:25px;left:19px;max-width:250px}.welcome .eyebrow{font-size:6px;letter-spacing:.4px;gap:5px}.welcome h1{font-size:23px;margin:13px 0 10px}.welcome em{font-size:26px}.welcome p{font-size:10px;line-height:1.6;margin-bottom:15px}.explore-button{font-size:12px;padding:10px 12px}.welcome>small{font-size:7px;max-width:205px}.minimap{width:80px;right:13px;top:16px;padding:4px}.minimap>span{font-size:6px;line-height:1}.minimap small{font-size:4px}.place{right:14px;bottom:145px;font-size:6px;padding:6px 8px;gap:5px}.monitor{width:146px;left:15px;bottom:145px}.monitor-image img{height:68px}.monitor-top{font-size:5px;padding:4px 5px}.monitor-top button{font-size:12px;min-width:18px;padding:0 2px}.monitor-caption{padding:3px 7px 7px}.monitor-caption strong{font-size:8px}.monitor-caption span{font-size:6px}.monitor-play{font-size:5px;padding:4px}.statusbar{height:34px;padding:0 14px;font-size:6px;gap:7px}.statusbar>div{gap:7px}.statusbar button{font-size:6px}.desktop-keys{display:none!important}.statusbar .divider,#status{display:none}.touch-controls{bottom:24px;left:18px;right:20px}.joystick{width:92px;height:92px}.stick-knob{left:29px;top:29px}.stick-cross:before,.stick-cross:after{top:45px;width:62px}.touch-action{width:61px;height:61px;font-size:23px}.interaction{bottom:33px;left:54%;width:137px}.interaction strong{font-size:11px}.interaction button{padding:10px 8px}.interaction>span{font-size:6px;line-height:1.5}.panel{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-width:2px}.panel-bar{padding:8px 12px;font-size:8px;gap:8px}.panel-bar button{font-size:8px}.panel-heading{padding:21px 17px 19px;align-items:center;gap:15px}.panel-heading h2{font-size:22px;margin:6px 0 10px}.panel-heading p{font-size:9px}.count-mark{font-size:30px}.panel-label{font-size:7px}.projects{padding:17px;gap:22px 12px}.project h3{font-size:14px;letter-spacing:-.2px}.project p{font-size:7px}.project-meta{font-size:6px;gap:5px;margin-top:9px}.project-visual{aspect-ratio:1.15}.project-visual:after{font-size:10px;padding:3px 6px}.filter-row{padding:0 17px 17px;gap:4px}.filter-row button{font-size:8px;padding:8px}.filter-row small{display:none}.search-row{padding:14px 17px 0}.search-row input{padding:10px;font-size:10px}.film-title{padding:18px}.film-title h2{font-size:25px}.film-title p{font-size:8px}.film-title .watch-link{font-size:9px}.film-body{padding:12px;gap:20px}.gallery-main{min-height:210px;aspect-ratio:1.2}.gallery-nav{font-size:8px}.gallery-thumbs{grid-template-columns:repeat(6,minmax(0,1fr))}.profile{grid-template-columns:1fr;padding:0 17px 25px}.profile img{max-height:280px;object-position:center 35%}.profile p{font-size:11px}.contact-layout{padding:0 17px 27px}.contact-layout p{font-size:10px}.contact-row{padding:18px 0}.contact-row small{font-size:7px}.contact-row a{font-size:20px}.map-layout{grid-template-columns:1fr;padding:0 17px 25px;gap:14px}.big-map{max-height:260px;object-fit:contain;background:#1b3039}.map-list button{padding:11px 5px}.map-list strong{font-size:11px}.map-list small{font-size:7px}.map-foot{padding-top:14px}.settings-list{padding:0 17px 22px}.setting{padding:17px 0}.setting strong{font-size:11px}.setting small{font-size:8px}.help-copy{font-size:10px}.toast{top:78px;font-size:9px}}
@media(max-height:550px) and (min-width:560px){.topbar{min-height:50px;padding:8px 18px}.identity small{display:none}.clapper{height:29px;width:32px;font-size:12px}.statusbar{height:30px}.welcome{top:18px;left:20px}.welcome h1{font-size:19px;margin:10px 0}.welcome em{font-size:23px}.welcome p,.welcome>small{display:none}.welcome .eyebrow{font-size:6px}.explore-button{font-size:11px;padding:8px 10px}.monitor{left:auto;right:19px;bottom:107px;width:142px}.monitor-image img{height:61px}.monitor-top{font-size:5px}.monitor-caption strong{font-size:8px}.monitor-caption span{font-size:6px}.minimap{width:85px;top:12px;right:19px}.minimap>span{font-size:6px}.minimap small{display:none}.place{top:13px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);font-size:7px}.touch-controls{bottom:15px}.joystick{width:85px;height:85px}.stick-knob{left:25px;top:25px}.stick-cross:before,.stick-cross:after{top:41px;left:13px;width:58px}.touch-action{width:60px;height:60px;font-size:22px}.interaction{bottom:20px;width:190px}.scene-hint{display:none}.panel{max-height:calc(100dvh - 18px)}.gallery-main{min-height:190px}.gallery-main img{max-height:65vh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(pointer:coarse){.playing .monitor{display:none}}
.profile [data-contact]{color:#243d48;border:1px solid #809080;font-size:10px;padding:12px 16px;margin-top:18px}
.gallery-main video{display:block;width:100%;height:100%;max-height:59vh;object-fit:contain}.video-thumb{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:#263e48;color:#dbc393;width:100%;height:100%;font-size:17px}.video-thumb small{font-size:6px}.project-info{display:flex;flex-wrap:wrap;gap:18px 30px;margin:20px 0 0}.project-info dt{font-size:8px;color:#7d877a}.project-info dd{font-size:10px;margin:6px 0 0}.film-title .project-writeup{margin-top:15px;white-space:pre-line;max-width:800px}.category-reel{padding:0 32px 22px}.category-reel a{display:inline-block;background:#263e48;color:#efe3c7;text-decoration:none;padding:11px 15px;font-size:10px}.monitor[hidden]{display:none}.welcome #welcome-copy{max-width:280px}.panel-bar>span:not(.panel-label){font-size:8px;max-width:45%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
@media(max-width:560px){.welcome #welcome-copy{max-width:230px}.category-reel{padding:0 17px 18px}.gallery-main video{max-height:60vh}}

/* A cartridge-era title screen. The name is the title; the lot is the backdrop. */
[hidden]{display:none!important}
.title-screen{position:fixed;inset:0;z-index:10;min-height:100dvh;overflow:auto;background:#101b2b;isolation:isolate;color:#f4e8c9}
#title-scene{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;z-index:-3}
.title-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#101324ed 0%,#131e3099 35%,#15223455 68%,#0e182ce8 100%)}
.title-shade:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#060f1b18 0 1px,transparent 1px 4px);pointer-events:none}
.cartridge-frame{position:absolute;inset:20px;border:2px solid #a7ad8b55;box-shadow:0 0 0 5px #111c2b55,inset 0 0 0 3px #111c2b55;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;padding:14px 18px;font-family:var(--pixel);font-size:9px;color:#bdc5ae;letter-spacing:1px}
.title-content{min-height:100dvh;padding:78px 32px 100px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.title-spark{font-family:var(--pixel);color:#e6be7c;font-size:22px;margin-bottom:24px;text-shadow:0 3px 0 #6c5065}
.title-content h1{font-family:var(--pixel);font-weight:normal;line-height:1.3;font-size:clamp(52px,12vw,132px);letter-spacing:1px;margin:0;color:#f4e8c9;text-shadow:0 3px 0 #d2b780,3px 6px 0 #65516a,6px 9px 0 #151d35}
.title-content h1 span{display:block}.title-content h1 span:last-child{font-size:1.55em;line-height:1.25;letter-spacing:5px;margin-top:4px}
.title-role{font-family:var(--pixel);color:#d5bd89;font-size:clamp(9px,1.7vw,15px);letter-spacing:clamp(1px,.2vw,3px);line-height:1.8;margin:20px 0 0;text-shadow:2px 2px 0 #142033}
.title-rule{display:flex;align-items:center;gap:7px;margin:28px 0 24px}.title-rule:before,.title-rule:after{content:'';width:70px;height:2px;background:#b2b28a66}.title-rule i{width:4px;height:4px;transform:rotate(45deg);background:#d7b883}.title-rule i:nth-child(2){width:7px;height:7px;background:#eee0b5}
.start-button{position:relative;font-family:var(--pixel);font-size:clamp(15px,2.2vw,22px);line-height:1.6;letter-spacing:1px;min-height:48px;padding:8px 26px;color:#f7e5b5;text-shadow:2px 3px 0 #142030}
.start-button>span{position:absolute;left:0;top:9px;font-size:15px;animation:start-blink 1.6s steps(1,end) infinite;color:#e4ae7d}
@keyframes start-blink{0%,60%{opacity:1}61%,100%{opacity:0}}
.title-work{font-family:var(--pixel);font-size:11px;letter-spacing:1px;min-height:44px;padding:12px 24px;color:#c1cbb7}.title-work:hover{color:#ffdf9b}.title-instruction{font-size:8px;letter-spacing:1px;color:#b0bfb5;margin:15px 0 0}.title-loading{font-family:var(--pixel);font-size:10px;line-height:1.7;max-width:290px;margin-top:20px;color:#dac696}.title-loading button{border:1px solid #dec18a;padding:10px 18px;min-height:44px}.title-loading a{font-family:var(--mono);font-size:11px}
.title-footer{position:absolute;bottom:max(42px,env(safe-area-inset-bottom));left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b2beaa;font-family:var(--pixel);font-size:8px;letter-spacing:.5px}.title-footer button{min-height:44px;padding:8px 0 8px 15px;font-size:9px;color:#d3c89e}
.crew-seal{position:absolute;right:55px;bottom:105px;border:2px solid #a8c1a1;color:#c8d8ac;box-shadow:inset 0 0 0 3px #132b36;padding:10px 12px;font-family:var(--pixel);font-size:9px;line-height:1.8;transform:rotate(-6deg);background:#132b36d9}.crew-seal span{color:#dd9c9a;margin-left:7px}
.take-hud{position:absolute;top:25px;left:50%;transform:translateX(-50%);z-index:3;background:#14232cec;border:2px solid #d6c198;box-shadow:3px 3px 0 #0c1729;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:25px;min-width:310px;max-width:calc(100% - 30px)}
.take-hud strong{display:block;font-family:var(--pixel);font-size:16px;font-weight:normal;line-height:1.5;color:#f0dab2}.take-hud div>span{display:block;font-size:8px;color:#d9957d;letter-spacing:2px;margin-bottom:6px}.take-hud button{font-family:var(--pixel);font-size:12px;padding:11px;border:1px solid #7d8d81;min-height:44px}.take-hud button span{font-family:var(--mono);display:block;font-size:7px;margin-top:5px;color:#a0b5aa}
.treasure-hud{position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);width:min(520px,calc(100% - 34px));display:flex;align-items:center;gap:22px;padding:20px 24px;background:#142832f2;border:3px double #ead39a;box-shadow:6px 7px 0 #08131f;color:#e9dfbd;pointer-events:none;animation:treasure-found 2.8s steps(8,end)}.treasure-hud[hidden]{display:none}.treasure-hud small{display:block;margin-bottom:9px;font-family:var(--pixel);font-size:8px;letter-spacing:2px;color:#eca67f}.treasure-hud strong{display:block;font-family:var(--pixel);font-size:15px;font-weight:normal;line-height:1.6;color:#ffe3a4}.treasure-hud p{margin:8px 0 0;font-size:10px;line-height:1.65;color:#c7d2bd}.treasure-screw{position:relative;display:block;flex:0 0 48px;width:48px;height:58px;transform:rotate(-12deg);filter:drop-shadow(4px 4px 0 #091723);animation:treasure-screw .65s steps(4,end) infinite alternate}.treasure-screw:before{content:'';position:absolute;left:7px;top:3px;width:34px;height:11px;background:linear-gradient(#f5e8bd 0 3px,#b9c4b7 3px 8px,#657b7c 8px);box-shadow:inset 8px 0 #dce0ca,inset -6px 0 #384f57}.treasure-screw:after{content:'';position:absolute;left:19px;top:13px;width:13px;height:37px;background:repeating-linear-gradient(0deg,#d9dec9 0 4px,#50676b 4px 7px);clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%)}.treasure-screw i:before,.treasure-screw i:after{content:'';position:absolute;z-index:1;background:#536a6c}.treasure-screw i:before{left:12px;top:7px;width:24px;height:2px}.treasure-screw i:after{left:23px;top:2px;width:2px;height:12px}@keyframes treasure-found{0%{opacity:0;transform:translate(-50%,-44%) scale(.8)}12%,88%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-53%) scale(1)}}@keyframes treasure-screw{from{transform:rotate(-15deg) translateY(1px)}to{transform:rotate(-9deg) translateY(-3px)}}
.rolling .monitor,.rolling .minimap,.rolling .place,.rolling .touch-controls,.rolling .interaction,.rolling .scene-hint{visibility:hidden}
#lot.rolling:before,#lot.rolling:after{content:'';position:absolute;left:0;right:0;height:12px;background:#0c1824;z-index:1;pointer-events:none}#lot.rolling:before{top:0}#lot.rolling:after{bottom:0}
.backstage-layout{padding:0 32px 5px}.backstage-drawing{display:block;width:100%;height:auto;image-rendering:pixelated;border:3px solid #2c424b;background:#253741}.backstage-note{display:flex;justify-content:space-between;gap:25px;padding:18px 0 0}.backstage-note p{font-size:11px;line-height:1.9;color:#4d6565;max-width:590px;margin:0}.backstage-note>span{font-family:var(--pixel);font-size:9px;line-height:1.7;color:#637769;white-space:nowrap}.crew-note{padding:15px;border:1px dashed #79927e;font-size:10px;line-height:1.8;color:#3b5d55;margin-bottom:18px}.title-return{font-size:10px;border:1px solid #819580;padding:13px 17px;margin-top:24px;min-height:44px;color:#304d50}
body.calm .start-button>span{animation:none}body.calm .title-screen *,body.calm .title-screen *:before,body.calm .title-screen *:after{transition:none;animation:none}body.calm .treasure-hud,body.calm .treasure-screw{animation:none}
@media(max-width:560px){.cartridge-frame{inset:14px;padding:14px 10px;font-size:7px;letter-spacing:0}.title-content{padding:72px 22px 110px}.title-spark{font-size:18px;margin-bottom:24px}.title-content h1{font-size:clamp(44px,15.8vw,76px);letter-spacing:0}.title-content h1 span:last-child{letter-spacing:3px;font-size:1.75em}.title-role{font-size:9px;letter-spacing:1px;margin-top:21px}.title-rule{margin:29px 0 24px}.title-rule:before,.title-rule:after{width:42px}.start-button{font-size:16px}.title-work{font-size:10px}.title-instruction{font-size:7px}.title-footer{left:28px;right:28px;bottom:max(30px,env(safe-area-inset-bottom));font-size:6px;letter-spacing:0;gap:12px}.title-footer button{font-size:7px}.crew-seal{position:static;transform:rotate(-3deg);font-size:7px;margin-top:20px;padding:6px 9px}.take-hud{top:20px;min-width:0;width:calc(100% - 28px);padding:10px 12px;gap:12px}.take-hud strong{font-size:12px}.backstage-layout{padding:0 17px}.backstage-note{display:block}.backstage-note p{font-size:10px}.backstage-note>span{display:block;font-size:8px;margin-top:12px}}
@media(max-height:580px) and (min-width:560px){.title-content{padding:45px 25px 55px}.title-spark{display:none}.title-content h1{font-size:46px}.title-content h1 span{display:inline}.title-content h1 span+span:before{content:' '}.title-content h1 span:last-child{font-size:1em;letter-spacing:1px;line-height:1.3}.title-role{font-size:10px;margin-top:14px}.title-rule{margin:15px 0 10px}.start-button{font-size:17px}.title-work{font-size:9px;min-height:35px;padding:7px 20px}.title-instruction{margin-top:4px;font-size:7px}.title-footer{bottom:22px;font-size:6px}.cartridge-frame{inset:12px;font-size:7px;padding:9px 14px}.crew-seal{bottom:55px;right:35px;font-size:7px}.take-hud{top:16px;padding:8px 12px}.take-hud strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.start-button>span,.treasure-hud,.treasure-screw{animation:none}}
@media(max-height:700px) and (max-width:560px){.title-content{padding:60px 22px 90px}.title-spark{display:none}.title-content h1{font-size:48px}.title-role{margin-top:16px}.title-rule{margin:18px 0 16px}.title-instruction{margin-top:8px}.crew-seal{display:none}}

@media(max-height:600px) and (max-width:560px){.title-content{padding:45px 22px 80px}.title-content h1{font-size:40px}.title-role{margin-top:12px}.title-rule{margin:12px 0}.title-instruction{margin-top:5px}}
@media(max-height:560px) and (max-width:560px){.title-content h1{font-size:34px}}
@media(min-width:561px){.title-content h1{font-size:clamp(36px,min(7.2vw,13vh),110px)}.title-content h1 span{display:inline}.title-content h1 span+span:before{content:' '}.title-content h1 span:last-child{font-size:1em;line-height:1.3;letter-spacing:1px;margin:0}}
@media(min-width:561px) and (max-height:720px){.title-content{padding:55px 25px 80px}.title-spark{display:none}.title-role{font-size:11px;margin-top:14px}.title-rule{margin:18px 0 14px}.title-instruction{margin-top:8px}}
@media(max-width:560px) and (min-height:701px){.title-content h1{font-size:clamp(44px,min(15.8vw,7vh),76px)}}

/* Optional crew discoveries use the same accessible dialog as the portfolio. */
.panel[data-kind=lighting],.panel[data-kind=build]{max-width:800px}.panel[data-kind=craft]{max-width:640px}
.department-body{padding:0 32px 30px}.department-scene{display:block;width:100%;height:auto;image-rendering:pixelated;background:#233842;border:4px solid #334c50}.light-preview{max-height:340px;object-fit:contain}
.lighting-cues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.lighting-cues button{position:relative;display:flex;align-items:center;gap:9px;min-height:64px;padding:10px 12px;border:1px solid #8e9e8d;background:#dedfcd;text-align:left;color:#2e484c}.lighting-cues button[aria-pressed=true]{background:#263f49;color:#f1e0ba;border-color:#263f49;box-shadow:inset 0 -3px #b9a273}.cue-number{font-family:var(--pixel);font-size:11px;opacity:.6}.lighting-cues i{width:9px;height:9px;background:var(--cue);box-shadow:0 0 0 2px #2b424626;flex:none}.lighting-cues strong{font-size:11px;font-weight:normal;line-height:1.4}
.department-note{min-height:3.2em;font-size:11px;line-height:1.7;color:#516a63;margin:18px 0}.department-return{min-height:44px;border:1px solid #7d9281;padding:10px 15px;font-family:var(--pixel);font-size:11px;color:#2e494c}.department-return:hover{background:#263f49;color:#f1e0ba}.department-footnote{font-size:10px;line-height:1.6;color:#617267;margin:16px 0 0}
.crew-conversation{display:grid;grid-template-columns:96px minmax(0,1fr);gap:17px;padding:16px;background:#243e48;border:3px solid #829787;box-shadow:4px 4px 0 #a4ae9c;color:#f1e4c9}.crew-conversation canvas{display:block;width:96px;height:96px;image-rendering:pixelated;border:2px solid #b4b99a}.crew-speech>span{font-family:var(--pixel);font-size:9px;letter-spacing:.5px;color:#c6b489}.crew-speech p{font-size:12px;line-height:1.8;margin:13px 0 0;min-height:5.4em}.crew-choices{display:grid;gap:8px;margin:23px 0 19px}.crew-choices button{display:flex;justify-content:space-between;gap:15px;min-height:48px;border:1px solid #96a58f;padding:13px 15px;text-align:left;color:#28474b;font-size:11px;line-height:1.5}.crew-choices button:hover{background:#d1d7c2}.crew-choices button span{color:#75826e}
.build-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;gap:7px}.build-steps button{min-height:59px;text-align:left;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #93a28d;color:#304d4e;font-size:10px}.build-steps button>span{font-family:var(--pixel);font-size:14px;color:#758773}.build-steps button[aria-pressed=true]{background:#29454c;color:#f1e0ba;border-color:#29454c}.build-steps button[aria-pressed=true]>span{color:#dec18a}.build-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.crew-discoveries{font-family:var(--pixel);font-size:10px;color:#6a785e;margin:25px 0 18px}
@media(max-width:560px){.department-body{padding:0 17px 23px}.light-preview{max-height:255px}.lighting-cues{gap:5px;margin-top:11px}.lighting-cues button{flex-wrap:wrap;gap:7px;padding:10px 8px;min-height:70px}.lighting-cues strong{flex-basis:100%;font-size:10px}.crew-conversation{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px}.crew-conversation canvas{width:64px;height:64px}.crew-speech>span{font-size:7px;line-height:1.6;display:block}.crew-speech p{font-size:11px;line-height:1.7;min-height:6.8em;margin-top:8px}.crew-choices button{font-size:10px}.build-steps{gap:5px}.build-steps button{display:block;min-height:62px;padding:8px 6px;font-size:9px}.build-steps button>span{display:block;margin-bottom:8px;font-size:12px}.department-note{font-size:10px}.department-return{font-size:10px;padding:10px 11px}}

/* Hosted films stay inside the project window; their own controls remain unobstructed. */
.gallery-main:has(.hosted-video){min-height:240px}.hosted-video{width:100%;height:100%;display:flex;flex-direction:column;min-height:240px}.hosted-video iframe{display:block;border:0;width:100%;min-height:200px;flex:1;background:#101820}.video-fallback{display:block;flex-shrink:0;color:#d9d9c4;font-size:9px;line-height:1.6;text-align:center;padding:11px 8px;text-underline-offset:3px}.video-fallback:hover{color:#fff}.film-title button.watch-link{border:0;cursor:pointer;text-align:left;font:inherit;font-size:10px}.film-title .watch-link:focus-visible,.video-fallback:focus-visible{outline:2px solid #b59a66;outline-offset:3px}


/* Optional crew encounters share the game's existing department UI. */
.encounter-controls{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.encounter-controls button{font:inherit;color:var(--paper,#e9dfc3);background:#223e49;border:1px solid #8eaa9a;padding:12px 16px;min-height:44px;cursor:pointer}.encounter-controls button[aria-pressed=true]{background:#bca271;color:#172b36}.encounter-controls button:focus-visible{outline:3px solid #f3d28c;outline-offset:3px}.encounter-controls button:disabled{opacity:.45;cursor:default}.wrap-credits{text-align:center;min-height:70px;padding:20px 0}.wrap-credits h3{font-family:inherit;font-size:clamp(24px,5vw,44px);color:#f3d28c;margin:18px 0}.wrap-credits p{line-height:1.8}.department-scene{image-rendering:pixelated}@media(max-width:540px){.encounter-controls button{flex:1 1 140px}}


/* A cloth-bound pocket book; the sections live on turnable paper leaves. */
.notebook-button{display:inline-flex;align-items:center;gap:7px}
.notebook-icon{width:14px;height:18px;border:1px solid #d8c99e;border-left:4px solid #b98b68;display:inline-block;position:relative}
.notebook-icon:after{content:'';position:absolute;left:3px;right:2px;top:5px;height:1px;background:#d8c99e;box-shadow:0 4px #d8c99e}
#notebook-count{font-size:9px;color:#d6c6a5}
nav{gap:18px}
.panel[data-kind=notebook]{width:min(570px,calc(100vw - 26px));height:min(750px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);padding:7px 14px 9px 28px;background:repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#142a220d 0 1px,transparent 1px 3px),#385149;color:#30463e;border:1px solid #7d8d75;border-radius:9px 15px 15px 8px;outline:0;overflow:visible;box-shadow:2px 3px 0 #263d36,7px 12px 0 #091e2466,0 25px 70px #07131d99}
.panel[data-kind=notebook][open]{animation:pocket-notebook-open .26s ease-out}
.panel[data-kind=notebook]:before{content:'';position:absolute;top:10px;bottom:10px;left:10px;width:8px;border-left:1px dashed #c3b38b99;border-right:1px solid #1e372e77;border-radius:3px;pointer-events:none}
.panel[data-kind=notebook] #panel-inner{height:100%;min-height:0;display:flex;flex-direction:column}
.notebook-cover-label{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#d4d4b8;font-size:10px;padding-left:6px}
.notebook-cover-label>span{letter-spacing:.7px}
.notebook-cover-label button{height:38px;min-width:42px;font-size:23px;color:#e5dfc5}
.notebook-cover-label button:hover{color:#fff7df}
.notebook-book{position:relative;isolation:isolate;display:flex;flex-direction:column;flex:1;min-height:0;background:#e8e0c9;border:1px solid #d2cbb2;border-radius:2px 5px 6px 2px;box-shadow:2px 2px 0 #c9c1a8,4px 4px 0 #ece6d2,6px 6px 0 #a9ad92}
.notebook-book:before{content:'';position:absolute;inset:0 auto 0 0;width:14px;background:linear-gradient(90deg,#6d705039,#847e5a0a,transparent);z-index:3;pointer-events:none}
.notebook-heading{position:relative;padding:23px 28px 18px 32px;border-bottom:1px solid #aab29d66;flex:none}
.notebook-heading>div>span{font-size:8px;letter-spacing:.7px;color:#697867}
.notebook-heading h2{font:30px var(--pixel);margin:9px 0 7px;color:#30463e}
.notebook-heading p{font-size:10px;line-height:1.6;margin:0;color:#647462}
.notebook-ribbon{position:absolute;right:22px;top:-1px;width:13px;height:43px;background:#a15f4e;box-shadow:2px 0 #563d3540;clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.notebook-tabs{display:flex;gap:3px;padding:7px 17px 0 25px;background:#d5d7bd;flex:none;border-bottom:1px solid #a5ae91}
.notebook-tabs button{position:relative;flex:1;min-height:42px;padding:10px 7px;font-size:10px;border:1px solid #a4ac914d;border-bottom:0;background:#c6cdb3;border-radius:4px 4px 0 0;color:#50624e;white-space:nowrap}
.notebook-tabs button[aria-pressed=true]{background:#eee7d1;border-color:#a5ae91;color:#30463e;box-shadow:0 2px #eee7d1}
.notebook-tabs button[aria-pressed=true]:after{content:'';position:absolute;left:15px;right:15px;bottom:5px;height:2px;background:#9b6550}
.notebook-tabs button span{font-size:8px;margin-left:6px;color:#5f7259}
.notebook-well{flex:1;min-height:0;perspective:1000px;overflow:hidden;background:#d9d2b9}
.notebook-page{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:20px 26px 20px 33px;transform-origin:left center;backface-visibility:hidden;background:linear-gradient(90deg,transparent 22px,#b77b6240 22px,#b77b6240 23px,transparent 23px),repeating-linear-gradient(0deg,#7b9e8820 0 1px,transparent 1px 26px),#eee7d1;scrollbar-width:thin;scrollbar-color:#b4b99d #eee7d1}
.notebook-page:focus{outline:none}
.notebook-leaf-label{display:flex;justify-content:space-between;gap:10px;margin:0 0 18px;font-size:9px;color:#79816c}
.notebook-page button:hover,.notebook-pager button:hover{color:#84503a}
.notebook-page button:focus-visible,.notebook-tabs button:focus-visible,.notebook-pager button:focus-visible{outline:2px solid #84503a;outline-offset:3px}
.notebook-empty{max-width:320px;margin:14px auto;text-align:center;padding:15px 7px}
.notebook-empty h3{font:22px var(--pixel);line-height:1.45;margin:18px 0 12px}
.notebook-empty p{font-size:11px;line-height:1.9;color:#65715e}
.notebook-empty button{font-size:10px;border-bottom:1px solid #9f6d54;min-height:44px;margin-top:4px}
.notebook-bookmark{display:block;width:23px;height:33px;margin:auto;background:#a46d53;clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}
.notebook-project{display:flex;align-items:center;border-bottom:1px solid #a5af9577;padding:20px 0;gap:10px}
.notebook-project:first-child{padding-top:2px}
.notebook-project-open{display:flex;gap:16px;align-items:center;text-align:left;flex:1;min-width:0}
.notebook-project-open img{width:99px;height:91px;object-fit:cover;flex:none;border:4px solid #f7efd9;box-shadow:1px 2px 0 #263c3e35;transform:rotate(-2deg)}
.notebook-project:nth-child(even) img{transform:rotate(2deg)}
.notebook-project-open>span{min-width:0}
.notebook-project-open small,.notebook-crew small{display:block;font-size:8px;color:#64725d;margin-bottom:7px}
.notebook-project-open strong{font:20px var(--pixel);display:block;line-height:1.4;overflow-wrap:anywhere}
.notebook-project-open em{font-size:9px;font-style:normal;display:block;margin-top:10px;color:#7f604b}
.notebook-remove{font-size:9px;min-height:44px;color:#7a6656;padding:5px}
.notebook-missing{flex:1;min-width:0;font-size:12px;overflow-wrap:anywhere}
.notebook-missing p{font-size:10px;color:#64725d}
.notebook-section+.notebook-section{margin-top:28px}
.notebook-section h3{font:21px var(--pixel);display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}
.notebook-section h3>span{font:9px var(--mono);color:#65745c;white-space:nowrap}
.notebook-places{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px}
.notebook-places button{display:flex;align-items:center;gap:9px;min-height:74px;text-align:left;border-bottom:1px solid #afba9766}
.notebook-places button>span:nth-child(2){flex:1}
.pencil-check{font-size:21px;color:#718967}
.notebook-places strong{font-size:11px;font-weight:500;line-height:1.5}
.notebook-places small{display:block;font-size:8px;color:#6e7e61;margin-top:4px}
.notebook-stamps{display:grid;gap:12px}
.notebook-stamp{padding:13px 14px;border:1px dashed #b1b99e;min-height:80px;color:#778368}
.notebook-stamp>span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid currentColor;border-radius:50%;font-size:15px;float:left;margin:0 10px 7px 0}
.notebook-stamp strong{font:19px var(--pixel);line-height:1.5}
.notebook-stamp p{clear:both;font-size:10px;line-height:1.7;margin:7px 0 0}
.notebook-stamp.stamped{color:#41634e;border:2px solid #6e8970;background:#789a7910}
.notebook-crew article{position:relative;display:flex;align-items:center;gap:18px;padding:23px 0;border-bottom:1px solid #aab59199}
.notebook-crew article:first-child{padding-top:7px}
.notebook-crew canvas{width:88px;height:88px;image-rendering:pixelated;border:4px solid #e2d8bc;box-shadow:1px 2px #64735a33;flex:none}
.notebook-crew article>div{flex:1;min-width:0}
.notebook-crew h3{font:23px var(--pixel);margin:0 0 8px;line-height:1.3}
.notebook-crew p{font-size:10px;line-height:1.8;margin:0;color:#637259}
.crew-met{position:absolute;right:0;bottom:7px;font-size:8px;color:#66805d}
.notebook-pager{flex:none;border-top:1px solid #aab59b66;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:5px 17px 5px 25px;background:#e8e0c9;border-radius:0 0 5px 1px}
.notebook-pager button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 6px;font-size:16px;color:#4b624d}
.notebook-pager button span{font-size:10px}
.notebook-pager>span{font-size:9px;color:#748169;white-space:nowrap}
.notebook-pager button:disabled{opacity:.3}
.notebook-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:12px 3px 0 6px;font-size:8px;line-height:1.7;color:#c1c9ae}
.notebook-foot button{min-height:40px;padding:7px 9px;color:#e5dfc5;font-size:10px}
.notebook-foot button:hover{color:#fff7df}
.project-notebook-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}
.project-notebook-tools button{min-height:44px;padding:11px 14px;font-size:10px;border:1px solid #9aab99;color:#3e5f53}
.project-notebook-tools .save-project[aria-pressed=true]{background:#4c7363;color:#eee6d1;border-color:#4c7363}
.project-notebook-tools button:hover{color:#83593d}
.project-notebook-tools button:focus-visible{outline-color:#9c6653}
@keyframes pocket-notebook-open{from{opacity:0;transform:translateY(12px) rotate(-2deg) scale(.97)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
.calm .panel[data-kind=notebook][open]{animation:none}
@media(prefers-reduced-motion:reduce){.panel[data-kind=notebook][open]{animation:none}}
@media(max-width:860px){nav{gap:12px}.notebook-label{display:none}.notebook-button{min-width:35px;min-height:44px}}
@media(max-width:560px){
 .topbar nav{gap:10px}.notebook-button{gap:4px}
 .treasure-hud{gap:14px;padding:16px 15px}.treasure-hud strong{font-size:11px}.treasure-hud p{font-size:9px}.treasure-screw{flex-basis:39px;transform:scale(.82) rotate(-12deg);transform-origin:center}
 .panel[data-kind=notebook]{padding:5px 10px 7px 22px;width:calc(100vw - 22px);height:min(740px,calc(100dvh - 22px));max-height:calc(100dvh - 22px)}
 .panel[data-kind=notebook]:before{left:7px;width:6px}
 .notebook-cover-label{font-size:9px;min-height:35px}
 .notebook-heading{padding:19px 19px 16px 26px}
 .notebook-heading h2{font-size:27px}.notebook-heading>div>span{font-size:7px;letter-spacing:.2px}.notebook-heading p{font-size:9px}
 .notebook-ribbon{right:15px;height:34px;width:11px}
 .notebook-tabs{padding:6px 9px 0 18px}.notebook-tabs button{font-size:9px;padding:10px 4px}.notebook-tabs button span{margin-left:4px;font-size:7px}
 .notebook-page{padding:17px 17px 16px 27px;background:linear-gradient(90deg,transparent 17px,#b77b6240 17px,#b77b6240 18px,transparent 18px),repeating-linear-gradient(0deg,#7b9e8820 0 1px,transparent 1px 26px),#eee7d1}
 .notebook-leaf-label{font-size:8px;margin-bottom:16px}
 .notebook-project{gap:7px;padding:16px 0}.notebook-project-open{gap:10px}.notebook-project-open img{width:76px;height:78px;border-width:3px}.notebook-project-open strong{font-size:17px}.notebook-project-open small{font-size:7px}.notebook-project-open em{font-size:8px}.notebook-remove{font-size:8px;padding:3px}
 .notebook-places{grid-template-columns:1fr;gap:0}.notebook-places button{min-height:44px}.notebook-places small{margin-top:2px;font-size:7px}.notebook-places strong{font-size:10px}
 .notebook-section h3{font-size:20px;margin-bottom:12px}.notebook-stamps{gap:10px}.notebook-stamp{padding:10px 11px}.notebook-stamp p{font-size:9px}
 .notebook-crew article{gap:12px;padding:22px 0}.notebook-crew canvas{width:68px;height:68px;border-width:3px}.notebook-crew h3{font-size:21px}.notebook-crew p{font-size:9px}
 .notebook-pager{padding:3px 10px 3px 18px}.notebook-pager>span{font-size:8px}.notebook-pager button{gap:5px}.notebook-pager button span{font-size:9px}
 .notebook-foot{padding-top:10px;font-size:7px}.notebook-foot button{font-size:9px}.project-notebook-tools button{font-size:9px}
}
@media(max-height:620px){
 .panel[data-kind=notebook]{height:calc(100dvh - 18px);max-height:calc(100dvh - 18px);padding-top:3px;padding-bottom:4px}
 .notebook-cover-label{min-height:29px}.notebook-cover-label button{height:29px}
 .notebook-heading{padding-top:12px;padding-bottom:10px}.notebook-heading h2{font-size:23px;margin:5px 0}.notebook-heading p{display:none}
 .notebook-tabs{padding-top:3px}.notebook-tabs button{min-height:37px;padding-top:8px;padding-bottom:8px}
 .notebook-foot{padding-top:6px}.notebook-foot button{min-height:32px}.notebook-pager{padding-top:0;padding-bottom:0}.notebook-pager button{min-height:38px}
}
