:root{--paper:#faf6ed;--ink:#29372f;--muted:#535e53;--green:#265a47;--rule:#d0c9b9;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"IBM Plex Mono",monospace;color-scheme:light}
*{box-sizing:border-box} html{scroll-padding-top:12px} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 var(--sans)} a{color:var(--green);text-underline-offset:3px} button,input,textarea{font:inherit} button,summary{cursor:pointer} a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #956031;outline-offset:3px}.wrap{width:min(1240px,calc(100% - 7vw));margin-inline:auto}
.skip{position:fixed;top:-70px;left:15px;z-index:20;background:var(--paper);padding:10px}.skip:focus{top:12px}.mast{border-bottom:1px solid var(--rule)}.mast-inner{min-height:60px;display:flex;justify-content:space-between;align-items:center}.signature,.contact{display:inline-flex;align-items:center;text-decoration:none;font-weight:600;font-size:14px;gap:11px}.signature{color:var(--ink)}.contact:hover,.light-link:hover{text-decoration:underline}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:24px 0 23px}.intro h1,.desk-page h1{font:400 clamp(46px,5.6vw,78px)/1 var(--serif);letter-spacing:-.038em;margin:0}.intro em,.desk-page em{color:var(--green);font-weight:400}.intro p{font-size:15px;line-height:1.4;max-width:32ch;margin:0;color:var(--muted)}.office-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(223px,25%);gap:clamp(20px,2.8vw,39px);align-items:start}.scene-column{min-width:0}.scene{position:relative;aspect-ratio:4/3;width:100%;border-radius:8px;isolation:isolate;background:#b1804f;box-shadow:0 0 0 1px #b7a17f;scroll-margin-top:12px;touch-action:manipulation}.scene:focus{outline:none}.room-art{width:100%;height:100%;display:block;position:absolute;inset:0;pointer-events:none;user-select:none;border-radius:inherit}.night-room,.night-greeting{display:none}[data-light=night] .night-room{display:block}[data-light=night] .night-greeting{display:inline}[data-light=night] .day-greeting{display:none}.host-art{position:absolute;left:28%;bottom:48%;width:26.7%;height:auto;aspect-ratio:520/524;pointer-events:none;overflow:visible}.scene:has(.spot:focus-visible){outline:none}[data-light=night] .host-art{filter:brightness(.82) saturate(.92)}
.spot{position:absolute;display:block;left:var(--x);top:var(--y);width:var(--w);height:var(--h);transform:translate(-50%,-50%);z-index:2;border-radius:5px;text-decoration:none;color:#fff4d8;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.spot:focus-visible,.spot.armed,.spot.dir-hover{outline:2px dashed #fff3bd;outline-offset:-1px;box-shadow:0 0 0 2px #3b342580;z-index:4}.spot .tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(220px,64vw);padding:6px 9px;border:1px solid #d4c69c;border-radius:4px;color:#fff6dd;background:#243e32;box-shadow:0 3px 8px #221e2040;font:600 12px/1.3 var(--sans);opacity:0;visibility:hidden;pointer-events:none}.spot.edge-right .tip{left:auto;right:0;transform:none}.spot.edge-left .tip{left:0;transform:none}#spot-lamp .tip,#spot-window .tip{bottom:auto;top:calc(100% + 4px)}.spot:focus-visible .tip,.spot.armed .tip,.spot.dir-hover .tip{opacity:1;visibility:visible}
@media(hover:hover){.spot:hover{outline:2px dashed #ffedbb;outline-offset:-1px;box-shadow:0 0 0 2px #3b342570;z-index:4}.spot:hover .tip{opacity:1;visibility:visible}}
.scene-tools,.selection{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}.scene-tools{padding:8px 0 7px}.light-link{white-space:nowrap;color:var(--green);text-decoration:none;padding:3px 0}.tap-hint{display:none}.selection[hidden]{display:none}.selection{padding:7px 12px;border:1px solid var(--rule);border-radius:4px;background:#f2ead8}.selection span{color:var(--ink)}.selection a{padding:6px 0;font-weight:600;white-space:nowrap}
#directory summary{font:400 clamp(29px,2.7vw,38px)/1.08 var(--serif);border-bottom:1px solid var(--rule);padding:0 0 12px;list-style:none}summary::-webkit-details-marker{display:none}#directory summary::after{content:'+';float:right;font:400 21px var(--sans);color:#57715d}#directory details[open]>summary::after{content:'−'}.dir-links{padding:7px 0;border-bottom:1px solid var(--rule)}.dir-row{display:grid;grid-template-columns:minmax(62px,.68fr) 1.5fr;align-items:baseline;gap:5px 10px;min-height:33px;padding:5px 3px;text-decoration:none;font-size:14px;line-height:1.3}.dir-row span{color:var(--muted);font-size:12px}.dir-row strong{font-weight:600;color:var(--green)}.dir-row:hover,.dir-row:focus-visible{background:#ede9d8}.page-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--rule);padding:15px 0 24px;margin-top:23px;color:var(--muted);font-size:12px}.page-foot a{color:inherit;text-decoration:none}
.sheet{display:none;position:fixed;inset:0;z-index:10;background:#172d246e;overflow:auto;align-items:safe center;justify-content:center;padding:16px;overscroll-behavior:contain}.sheet:target{display:grid}.sheet:focus{outline:0}body:has(.sheet:target){overflow:hidden}.sheet-card{width:min(500px,calc(100vw - 35px));max-height:calc(100dvh - 38px);overflow:auto;position:relative;background:#fff9e9;border:2px solid #345140;box-shadow:0 0 0 3px #d9cdaa,0 12px 48px #1e2f2455;border-radius:7px;padding:21px;color:#29372e}.sheet-heading{display:flex;align-items:center;gap:12px;min-height:43px;padding-right:35px}.sheet-heading h2{font:400 30px/1.05 var(--serif);margin:0}.portrait-chip{display:block;width:53px;height:53px;flex:none;overflow:hidden;border:1px solid #c9bca0;border-radius:3px;background:#eadac0}.portrait-chip img{width:100%;height:100%;object-fit:cover}.portrait-chip img[src*=blazer]{width:148%;height:auto;max-width:none;transform:translateX(-16%)}.close{position:absolute;right:10px;top:8px;padding:2px 10px;line-height:1.2;font-size:30px;text-decoration:none}.speech{margin:15px 0;line-height:1.55}.choices{display:grid;gap:6px}.choices a,.sheet-foot a,.sheet-foot button{color:var(--green);font-weight:600;text-decoration:none}.choices a{border:1px solid #bec3aa;background:#f0f0df;border-radius:3px;padding:10px 13px;font-size:14px;min-height:42px}.choices a::before{content:'›';margin-right:9px;color:#905e35}.choices a:hover,.choices a:focus-visible{background:#e1ead3}.social-choices{margin-top:15px}.sheet-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0 0;font-size:13px}.sheet-foot button{padding:4px 0;border:0;background:none}.sheet-foot a:last-child{margin-left:auto}.prince-title{font-size:13px;letter-spacing:.02em;color:var(--muted);margin:9px 0 0}.light-modes{border:0;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:16px 0}.light-modes legend{padding:0 0 8px}.light-modes label{cursor:pointer;padding:8px;border:1px solid var(--rule);border-radius:4px}.light-modes label:has(:checked){background:#e3ecd9}.light-modes input{accent-color:var(--green)}#light-status,.privacy-note{color:var(--muted);font-size:13px}.privacy-note{margin:5px 0}.primary,#locate{display:inline-block;border:0;border-radius:4px;color:#fffbe9;cursor:pointer;background:#2e543f;padding:10px 15px;text-decoration:none;font-weight:600;font-size:14px}
.desk-page{max-width:720px;margin:48px auto 64px}.desk-page h1{font-size:clamp(49px,6vw,76px);margin:13px 0 25px}.return{font-size:14px}.work-note{background:#fffaf0;border:1px solid #d9cbb2;border-top:4px solid #a66f43;border-radius:3px;box-shadow:0 3px 0 #eadfc9;padding:clamp(21px,5vw,43px)}.work-note time{font:500 11px var(--mono);color:var(--muted)}.work-note h2{font:400 clamp(30px,4vw,47px)/1.04 var(--serif);margin:14px 0}.work-note p{font-size:17px;line-height:1.6;white-space:pre-line}.owner-link{display:inline-block;margin:22px 0 0;font-size:13px}.editor{display:grid;gap:13px}.editor label{display:grid;gap:4px;font-weight:600}.editor input,.editor textarea{width:100%;padding:9px 11px;border:1px solid var(--rule);border-radius:4px;background:#fffcf5;color:var(--ink)}.editor textarea{min-height:95px}.editor .primary{justify-self:start}
@media(pointer:coarse){.spot{min-width:24px;min-height:26px}.tap-hint{display:inline}.mouse-hint{display:none}.light-link{min-height:40px;display:grid;align-items:center}}
@media(max-width:870px){.office-layout{grid-template-columns:1fr;gap:13px}.intro{padding:23px 0 18px}.intro p{max-width:28ch;font-size:14px}#directory summary{font-size:26px;padding:8px 0}.dir-links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.page-foot{margin-top:18px}}
@media(max-width:600px){.wrap{width:calc(100% - 28px)}.intro{display:block}.intro p{max-width:44ch;margin:9px 0 0}.mast-inner{min-height:53px}.intro h1{font-size:clamp(43px,10vw,56px)}.hint,.light-link{font-size:12px}.dir-links{display:block}.dir-row{min-height:39px;padding:7px 3px}.dir-row span{font-size:13px}.scene-tools{align-items:center;gap:7px;padding-top:3px}.spot .tip{font-size:11px;max-width:155px;padding:5px 7px}.page-foot{font-size:11px;flex-wrap:wrap}.desk-page{margin:26px auto 42px}.sheet-card{padding:17px}.sheet-heading h2{font-size:27px}}

/* Conversation is laid out as a game message window with a separate choice window. */
@font-face{font-family:OfficePixel;src:url('/art/fonts/vt323.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.rpg-sheet{--rpg-ink:#fcf8e8;--rpg-font:OfficePixel,"IBM Plex Mono",monospace;padding:0;background:linear-gradient(0deg,#08101d42,#08101d13 60%);color:var(--rpg-ink)}
.rpg-sheet:target{display:block}
.rpg-stage{position:absolute;left:var(--rpg-left,max(12px,calc((100% - 890px)/2)));bottom:var(--rpg-bottom,max(16px,4dvh));width:var(--rpg-width,min(890px,calc(100% - 24px)));max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;padding:5px;display:grid;gap:9px;pointer-events:none}
.rpg-window{position:relative;pointer-events:auto;color:var(--rpg-ink);border:2px solid #e6e5d9;border-radius:3px;background:linear-gradient(145deg,rgba(43,63,105,.96),rgba(20,36,74,.97) 60%,rgba(11,25,57,.98));box-shadow:0 0 0 2px #344557,0 0 0 3px #0e1a2b,inset 0 0 0 2px #7995ad,inset 0 0 0 3px #354d73,3px 4px 0 1px #09132255;text-shadow:1px 2px 0 #0b1634}
.rpg-choices{justify-self:end;max-width:min(76%,440px);width:max-content;padding:7px;display:grid;gap:1px}
.rpg-choices a{position:relative;display:block;min-height:33px;text-decoration:none;color:var(--rpg-ink);padding:3px 13px 3px 30px;border:1px solid transparent;font:400 clamp(19px,1.6vw,23px)/1.12 var(--rpg-font);letter-spacing:.025px}
.rpg-choices a.current,.rpg-choices a:hover,.rpg-choices a:focus-visible{outline:none;border-color:#c3d4db;background:linear-gradient(90deg,#5476a9e8,#405c91ce 75%,#345686d9);box-shadow:inset 0 0 0 1px #839ac2}
.rpg-choices a.current::before,.rpg-choices a:hover::before,.rpg-choices a:focus-visible::before{content:'';position:absolute;left:11px;top:50%;margin-top:-5px;width:8px;height:10px;background:#fff0b7;clip-path:polygon(0 0,25% 0,25% 20%,50% 20%,50% 30%,75% 30%,75% 40%,100% 40%,100% 60%,75% 60%,75% 70%,50% 70%,50% 80%,25% 80%,25% 100%,0 100%)}
.rpg-message-wrap{position:relative;pointer-events:none}.rpg-name{display:block;z-index:1;font:400 25px/1 var(--rpg-font);color:#ffe8aa;margin:0 0 4px 10px;padding:3px 13px 4px;width:max-content;letter-spacing:.5px}
.rpg-message{display:grid;grid-template-columns:clamp(80px,8.7vw,116px) 1fr;gap:14px;align-items:center;min-height:120px;padding:10px 15px 10px 10px}
.rpg-face{width:100%;aspect-ratio:1;align-self:center;overflow:hidden;background:linear-gradient(150deg,#62718a66,#243554);border:1px solid #9baab8;box-shadow:inset 0 0 0 2px #2b405d}
.rpg-face img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.rpg-face img[src*=blazer]{width:176%;height:auto;max-width:none;transform:translate(-22%,1%)}
.rpg-message-body{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.rpg-message-body>p{font:400 clamp(22px,2vw,27px)/1.12 var(--rpg-font);margin:0;color:#fffced}
.rpg-controls{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:8px}.rpg-controls:empty{display:none}.rpg-controls a,.rpg-controls button{color:#cfdaea;background:none;border:0;text-decoration:none;font:400 17px/1.1 var(--rpg-font);padding:4px 1px;text-shadow:1px 1px #0a1533}.rpg-controls :hover{color:#fff2bc;text-decoration:underline}.rpg-controls :focus-visible{outline:2px solid #ffdf95;outline-offset:2px}
@media(max-width:700px){.rpg-stage{padding:4px;gap:8px;bottom:calc(var(--rpg-bottom,10px) + env(safe-area-inset-bottom,0px))}.rpg-choices{max-width:91%;padding:5px}.rpg-choices a{font-size:21px;min-height:38px;display:flex;align-items:center;padding:3px 10px 3px 26px}.rpg-name{font-size:21px;margin-left:6px;padding:2px 10px 3px}.rpg-message{grid-template-columns:clamp(59px,17vw,90px) 1fr;gap:9px;padding:9px;min-height:93px}.rpg-message-body>p{font-size:22px;line-height:1.06}.rpg-controls{gap:10px;margin-top:5px;flex-wrap:wrap}.rpg-controls a,.rpg-controls button{font-size:16px;padding:6px 0}.rpg-face{align-self:start}.rpg-sheet{background:linear-gradient(0deg,#11192b66,#11192b12 64%)}}
@media(max-height:480px){.rpg-stage{max-height:calc(100dvh - 10px);bottom:5px;gap:6px}.rpg-choices a{min-height:27px;font-size:19px}.rpg-name{font-size:19px}.rpg-message{min-height:68px;grid-template-columns:55px 1fr}.rpg-message-body>p{font-size:20px}.rpg-controls{margin-top:2px}}
@media(max-width:700px){
  body:has(.rpg-sheet:target){background:linear-gradient(#402f2b,#263343 65%,#142237)}
  body:has(.rpg-sheet:target) :is(.mast,.intro,.scene-tools,.selection,#directory,.page-foot){visibility:hidden}
  body:has(.rpg-sheet:target) .scene{position:fixed;top:0;left:50%;transform:translateX(-50%);width:max(100vw,66dvh);border-radius:0;box-shadow:0 6px 22px #14223770}
  body:has(.rpg-sheet:target) .room-art{border-radius:0}
}

.prince-actor{position:absolute;left:45.5%;bottom:4.4%;width:28%;height:33.3%;pointer-events:none;z-index:1}
.prince-breath{position:absolute;inset:0;transform-origin:50% 100%;animation:prince-breathe 4.8s ease-in-out infinite}
.prince-pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;transition:opacity .3s ease;pointer-events:none}
[data-pose=burrito] .prince-burrito,[data-pose=sit] .prince-sit,[data-pose=side] .prince-side,[data-pose=back] .prince-back,[data-pose=happy] .prince-happy{opacity:1}
.matthew-action{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;z-index:1;transition:opacity .22s ease}
.resting-mug{position:absolute;inset:0;pointer-events:none;z-index:1;width:100%;height:100%;transition:opacity .15s}
.host-art{transform-origin:50% 100%;animation:matthew-breathe 6.1s ease-in-out infinite;transition:opacity .2s}
[data-matthew=sip] .host-art,[data-matthew=type] .host-art,[data-matthew=write] .host-art{opacity:0}
[data-matthew=sip] .action-sip,[data-matthew=type] .action-type,[data-matthew=write] .action-write{opacity:1}
[data-matthew=sip] .resting-mug{opacity:0}
[data-light=night] :is(.prince-actor,.matthew-action,.resting-mug){filter:brightness(.79) saturate(.91)}
.pet-message{position:absolute;left:62%;bottom:33%;transform:translateX(-50%);max-width:40%;padding:6px 10px;border:1px solid #c9c9ae;border-radius:4px;background:#fff8df;color:#314334;font:600 12px/1.3 var(--sans);box-shadow:0 2px 3px #352b2540;z-index:5;pointer-events:none}
.pet-message[hidden]{display:none}
.life-paused :is(.prince-breath,.host-art){animation-play-state:paused}
@keyframes prince-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.003,1.018)}}
@keyframes matthew-breathe{0%,100%{scale:1 1}50%{scale:1.001 1.004}}
@media(prefers-reduced-motion:reduce){.prince-breath,.host-art{animation:none}.prince-pose,.matthew-action,.resting-mug{transition:none}}
[data-matthew=sip] .action-sip{animation:coffee-sip 3.5s ease-in-out infinite;transform-origin:41% 30%}
[data-matthew=type] .action-type{animation:quiet-typing .65s ease-in-out infinite;transform-origin:72% 57%}
[data-matthew=write] .action-write{animation:pen-writing .8s ease-in-out infinite;transform-origin:35% 60%}
@keyframes coffee-sip{0%,100%{transform:translateY(0)}50%{transform:translateY(-.14%)}}
@keyframes quiet-typing{0%,100%{transform:rotate(0)}50%{transform:rotate(.09deg)}}
@keyframes pen-writing{0%,100%{transform:rotate(-.06deg)}50%{transform:rotate(.09deg)}}
@media(prefers-reduced-motion:reduce){.matthew-action{animation:none!important}}
[data-pose=back] .prince-back{animation:prince-back-roll 5.6s ease-in-out infinite;transform-origin:50% 92%}
@keyframes prince-back-roll{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(3deg)}}
.life-paused .prince-pose{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.prince-pose{animation:none!important}}

/* Source mark and favicon copied from the live Operations site. */
.operations-logo-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:#173a36;color:#fff;font-size:1.24rem;font-weight:700;font-family:Georgia,"Times New Roman",serif;font-style:italic}
.operations-logo-mark{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;display:flex;flex-wrap:nowrap;white-space:nowrap;font-size:.91rem;font-style:normal;letter-spacing:-.13em}
.operations-logo-mark .monogram-slash{color:#f1aa7a;font-weight:400;margin-inline:1px}
