:root{color-scheme:light;--bg:#f4ece2;--panel:#f8f1e8;--line:#bca58e55;--text:#45392f;--muted:#887465;--mint:#56867a;--peach:#c36e52;--shirt:#d8ab7d;--clay-shadow:8px 10px 20px #92745a16,-4px -4px 12px #fff9f2;--clay-button:inset 2px 3px 4px #ffffff70,inset -2px -3px 4px #4b2e1a18,2px 4px 0 #b99e8150,4px 7px 12px #8b6d5214;font-family:ui-rounded,'SF Pro Rounded','Avenir Next',-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased;background-image:radial-gradient(#a787640b .6px,transparent .6px);background-size:5px 5px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #367668;outline-offset:5px}button:disabled{opacity:.5;cursor:default}a{color:#306c60}[hidden]{display:none!important}.app-shell{max-width:1720px;margin:auto;padding:0 48px}.topbar{height:88px;display:flex;align-items:center;gap:25px;border-bottom:2px solid #d5c3af44}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:23px;letter-spacing:-1px;font-weight:850;white-space:nowrap}.brand-icon{width:40px;height:41px;display:grid;place-items:center;border-radius:14px 15px 12px 15px;transform:rotate(-6deg);background:#c5d7bf;color:#426f5f;font-size:35px;line-height:1;box-shadow:var(--clay-button);font-family:-apple-system,sans-serif;padding-bottom:6px}.poc{font-size:9px;font-weight:800;letter-spacing:1px;background:#ebddcc;color:#8b735a;padding:7px 9px;border-radius:8px;box-shadow:inset 1px 2px 3px #947a5f13}.room-nav{display:flex;align-items:center;gap:5px;padding:6px;margin:auto;background:#e9ddcd;border-radius:25px 28px 24px 26px;box-shadow:inset 3px 4px 7px #9b7c5d24,inset -3px -3px 6px #fffaf1;border:1px solid #deceb950}.room-nav button{background:transparent;border:0;border-radius:20px 19px 22px 20px;padding:11px 17px;font-size:12px;font-weight:650;color:#8a7764;white-space:nowrap;transition:transform .18s,background .18s,box-shadow .18s}.room-nav button.active{background:#f7f1e7;color:#4f6456;box-shadow:inset 2px 2px 2px #fff,2px 3px 5px #81674b33;transform:rotate(-1deg)}.room-nav button:hover{color:#3b6555}.room-nav button span{margin-left:8px;font-size:9px;opacity:.6}.top-actions{display:flex;align-items:center;gap:17px}.clock{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;color:#8c7965}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #efe3d1;background:#f7efe2;border-radius:15px 16px 14px 16px;box-shadow:var(--clay-button);font-weight:700;font-size:17px}.icon-button:hover{transform:translateY(-1px)}.icon-button:active{transform:translateY(2px);box-shadow:inset 2px 2px 6px #94755935}main{padding-top:32px}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.8px;font-weight:800;color:#8c8069;margin:0 0 12px}.live-dot{width:7px;height:7px;flex-shrink:0;display:inline-block;border-radius:50%;background:#83a682;box-shadow:inset 1px 1px 2px #ecf0be,1px 2px 2px #5f745c2a}h1{font-size:clamp(31px,3.3vw,49px);font-weight:850;line-height:1.1;letter-spacing:-2px;margin:0 0 11px;color:#554035}h1>span{color:#bf7358}.subtitle{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.primary{background:#af5a43;color:#fff7e9;border:1px solid #dc967b;border-radius:16px 18px 15px 17px;padding:15px 20px;box-shadow:inset 2px 3px 4px #f5bc9660,inset -2px -4px 5px #79473125,3px 5px 0 #a45c3e,5px 9px 13px #82543121;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:800;white-space:nowrap;transition:transform .18s,filter .18s}.primary:hover{filter:brightness(1.04);transform:translateY(-2px) rotate(-.5deg)}.primary:active{transform:translateY(3px);box-shadow:inset 2px 3px 5px #79473133,1px 1px 0 #a45c3e}.button-arrow{margin-left:14px;font-size:16px}.world-stage{position:relative;isolation:isolate;overflow:hidden;padding-top:52px;background:radial-gradient(ellipse at 47% 40%,#f8f1df,transparent 75%),#e9ddca;border:2px solid #f9f0e0;border-radius:30px 34px 29px 32px;box-shadow:inset 4px 4px 9px #fff9ed,inset -4px -5px 10px #bc9b7520,9px 14px 25px #8f74551c,-5px -5px 16px #fff8ef}.world-stage::after{content:'';pointer-events:none;position:absolute;inset:0;border-radius:inherit;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237e644d' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.stage-top{position:absolute;top:17px;left:24px;right:23px;display:flex;align-items:center;justify-content:space-between;z-index:4}.scene-label{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#8c7a61;display:flex;align-items:center;gap:8px}.small-button{background:#f6ead7;border:1px solid #f9efd9;color:#71624f;border-radius:11px 12px 10px 12px;padding:8px 11px;box-shadow:inset 2px 2px 3px #fff9ea,2px 3px 0 #d5c2a6,3px 5px 7px #886b4620;font-size:10px;font-weight:750;display:inline-flex;gap:7px;align-items:center}.small-button:hover{transform:translateY(-1px)}.small-button:active{transform:translateY(2px);box-shadow:inset 2px 2px 3px #b2967233}.stage-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:15px 24px;z-index:4;border-top:1px solid #d2bda34a;background:#ebddc881}.character-status{display:flex;align-items:center;gap:6px;font-size:11px;color:#8a7763}.character-status strong{color:#66503e;font-weight:800}.avatar-dot{height:10px;width:10px;background:#cc9a72;border-radius:4px;box-shadow:inset 2px 2px 2px #e8cba1,1px 2px 1px #9e724e44;margin-right:3px}.stage-hint{color:#99866c;font-size:10px}.sky-speck{display:none}#world{width:100%;height:clamp(350px,34vw,510px);display:block;filter:saturate(.8) drop-shadow(3px 7px 3px #94795338);font-family:ui-rounded,'Avenir Next',sans-serif}#world .scene-object,#world .scene-book,#world .room-marker{cursor:pointer}.clay-3d #world{visibility:hidden;pointer-events:none}.clay-world{position:absolute;inset:52px 0 64px;z-index:2;pointer-events:none}.clay-world canvas{width:100%;height:100%;display:block;pointer-events:none}.clay-hotspots{position:absolute;inset:0}.clay-hotspot{position:absolute;padding:0;background:transparent;border:0;border-radius:8px;pointer-events:auto;cursor:pointer;outline:none;transition:box-shadow .15s}.clay-hotspot:hover{box-shadow:0 0 0 2px #fff4d575,0 0 14px #fff4d540}.clay-hotspot:focus-visible{outline:3px solid #3b7064;outline-offset:4px;background:#fff4d525}.clay-hotspot[data-type=room]{border-radius:15px}.room-cards{display:grid;grid-template-columns:1fr 1fr .66fr;gap:17px;margin-top:21px}.room-card,.weather-card{border:1px solid #fff6e5;background:#f5ebde;border-radius:20px 22px 18px 21px;box-shadow:var(--clay-shadow),inset 2px 3px 3px #fffcf2;display:flex;align-items:center;gap:16px;padding:21px;text-align:left;min-width:0}.room-card:hover{transform:translateY(-2px);background:#f9f0e4}.card-icon{height:47px;width:45px;border-radius:15px 13px 14px 12px;flex-shrink:0;display:grid;place-items:center;font-size:29px;box-shadow:inset 2px 3px 4px #ffffff65,inset -2px -3px 4px #66503d1c,2px 3px 0 #b2a28c50}.office-icon{background:#e6bba3;color:#8e583f;transform:rotate(-4deg)}.library-icon{background:#c7d6bd;color:#5a7354;transform:rotate(4deg)}.card-copy{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}.card-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8px;font-weight:850;letter-spacing:1.3px;color:#8c7963}.card-kicker>span{font-size:7px;color:#88725b;letter-spacing:.5px}.card-copy strong{font-size:16px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.card-description{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7d6a54;font-size:10px;line-height:1.6}.card-arrow{color:#a58b68;font-size:21px}.weather-card{background:#efe3bf;gap:17px}.weather-card>div{min-width:0}.weather-card strong{display:block;font-size:23px;font-weight:750;color:#796139;margin:6px 0 2px}.weather-symbol{font-size:41px;color:#cb9743;filter:drop-shadow(2px 3px 0 #bc934c33)}footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 0;color:#ab977f;font-size:8px;font-weight:750;letter-spacing:1.1px}.footer-star{margin:0 9px;color:#a28c62;font-size:13px}footer button{border:0;background:none;font-size:10px;font-weight:750;color:#7b8a6d}footer button:hover{color:#3c6d59}.drawer-backdrop{position:fixed;inset:0;background:#67513d55;backdrop-filter:blur(4px);z-index:10}.drawer{position:fixed;top:14px;right:14px;bottom:14px;width:min(470px,calc(100vw - 28px));padding:30px;background:#f6ede1;border:2px solid #fff6e9;border-radius:28px 30px 27px 32px;box-shadow:inset 3px 3px 7px #fff8ec,-8px 12px 50px #4a322e33;overflow-y:auto;z-index:11;color:var(--text);scrollbar-color:#c9b39a transparent}.drawer-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:24px;position:sticky;top:-30px;padding-top:4px;z-index:3;background:#f6ede1}.drawer-head .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:10px}.drawer h2{font-size:30px;letter-spacing:-1.3px;line-height:1.15;font-weight:850;margin:0}.drawer h3{font-size:13px;font-weight:800;margin:0 0 13px}.drawer p{font-size:12px;line-height:1.8;color:#8a7660}.drawer-tabs{display:flex;padding:5px;gap:6px;background:#e8dbc9;border-radius:15px 16px 14px 17px;box-shadow:inset 2px 3px 5px #a78a6733,inset -2px -2px 5px #fff8eb;margin-bottom:22px}.drawer-tabs button{flex:1;border:0;background:none;color:#9b8267;padding:11px;border-radius:11px;font-size:11px;font-weight:800}.drawer-tabs button.active{background:#f6eedf;color:#6a7356;box-shadow:inset 1px 2px 2px #fffaf0,2px 3px 4px #9b805c33}.source-item{background:#eee2d2;border:1px solid #fbf3e5;border-radius:17px 18px 16px 20px;box-shadow:inset 2px 3px 5px #fff6e5,3px 4px 7px #967d5b16;padding:18px;margin-bottom:14px}.source-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.source-item h3{margin:0;font-size:13px}.source-item .status{font-size:8px;font-weight:850;letter-spacing:.5px;color:#57795f;white-space:nowrap;background:#dce5cf;border-radius:7px;padding:5px 7px;box-shadow:inset 1px 2px 2px #f3f4dd}.source-url{color:#88725b;font-size:10px;word-break:break-all;margin:10px 0}.source-meta{font-size:10px;line-height:1.6;color:#938067;margin:9px 0}.source-actions{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.source-actions button,.secondary{font-size:10px;font-weight:800;color:#7d705a;padding:9px 11px;background:#f4e8d6;border:1px solid #fff2dd;border-radius:10px 12px 9px 11px;box-shadow:var(--clay-button)}.source-actions button:hover,.secondary:hover{background:#fbefde;transform:translateY(-1px)}.source-actions .danger{margin-left:auto;color:#ae6c55;background:#edd8c6;box-shadow:inset 1px 2px 2px #fbe8d8,1px 2px 2px #a6805f33}.full{width:100%;margin:17px 0;justify-content:center}.note{font-size:10px!important;color:#7d6a54!important;line-height:1.8!important}.divider{height:2px;background:#dfceb82e;box-shadow:0 1px 0 #fff7ec;margin:25px 0}.field{display:flex;flex-direction:column;gap:9px;margin:18px 0;color:#82715a;font-size:11px;font-weight:750}.field input,.field select{width:100%;min-width:0;border:1px solid #ddcbb1;background:#e9ddcb;color:#65503e;border-radius:12px 11px 13px 12px;box-shadow:inset 3px 4px 6px #ac8f6c24,inset -2px -2px 4px #fff6e3;padding:13px 12px;font-size:12px;font-weight:600}.field input:focus,.field select:focus{outline:2px solid #7fa08a;outline-offset:2px}.field input:read-only{color:#a08a6f}.field small{font-weight:500;color:#88725b;font-size:10px;line-height:1.7}.form-error{font-size:11px!important;color:#a25140!important}.form-row{display:flex;gap:12px}.form-row>*{flex:1}.swatches{display:flex;gap:15px;margin:15px 0 22px}.swatch{height:35px;width:36px;border-radius:14px 12px 15px 13px;background:var(--swatch);border:2px solid #ffffff33;box-shadow:inset 3px 3px 4px #ffffff55,inset -3px -3px 3px #55402c20,2px 4px 0 #ad94743b;transform:rotate(-6deg);outline:3px solid transparent;outline-offset:5px}.swatch:nth-child(2n){transform:rotate(7deg)}.swatch.active{outline-color:#819b7d}.toggle-row{display:flex;align-items:center;gap:11px;font-size:12px;color:#82745d;margin:22px 0}.toggle-row input{width:19px;height:19px;accent-color:#739477}.feed-list{list-style:none;padding:0;margin:18px 0}.feed-list li{padding:16px 2px;border-bottom:1px solid #d9c7ac50}.feed-list a{display:block;color:#65533f;font-weight:650;text-decoration:none;font-size:13px;line-height:1.65}.feed-list a:hover{color:#a65e43}.feed-list small{display:block;font-size:10px;color:#88725b;margin-top:8px}.source-picker{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 24px}.source-picker button{border:1px solid #fff1dd;background:#e8dcc8;color:#8f7b5e;padding:9px 12px;border-radius:12px;box-shadow:var(--clay-button);font-size:10px;font-weight:750}.source-picker button.active{background:#cad8c2;color:#546b4b}.empty{text-align:center;padding:30px 15px;color:#88725b;font-size:12px;line-height:1.8;border:2px dashed #d7bfa0;border-radius:20px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#d4dfc5;color:#586a47;box-shadow:inset 2px 3px 4px #eef3dd,4px 6px 0 #adbd98,6px 10px 25px #614a3130;padding:15px 22px;border-radius:16px 18px 15px 19px;max-width:85vw;z-index:20;font-size:12px;font-weight:750}.office-screen-settings{padding:19px;background:#e2e5d3;border:1px solid #f1f1dc;border-radius:18px 20px 17px 19px;box-shadow:inset 2px 3px 5px #f5f5df,inset -2px -2px 5px #8f987426;margin:20px 0 25px}.office-screen-settings h3{margin-bottom:7px;color:#6e7959}.office-screen-settings .field{margin-bottom:0}.office-screen-settings .field select{background:#d3ddc5;border-color:#c5d1b8;color:#5e6e4f;box-shadow:inset 2px 3px 5px #899c7130,inset -2px -2px 3px #edf0dc}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 14px;margin:25px 0}.book-card{border:0;padding:9px;background:#e7dbc7;color:var(--text);min-width:0;text-align:right;display:flex;flex-direction:column;gap:7px;border-radius:12px 14px 11px 13px;box-shadow:inset 2px 2px 3px #fff2de,3px 5px 8px #8d725524}.book-card img{display:block;width:100%;aspect-ratio:131/210;object-fit:contain;object-position:bottom;background:#ddd1b9;border-radius:5px;box-shadow:2px 3px 3px #63483125}.book-card:hover{transform:translateY(-3px) rotate(-1deg)}.book-card strong{font-size:11px;font-weight:750;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card span{font-size:10px;color:#9b8565;line-height:1.4}.book-detail{padding:30px 10px 5px;text-align:center}.book-detail img{height:300px;max-width:100%;object-fit:contain;border-radius:6px;box-shadow:8px 12px 22px #7c5e3833}.book-detail p{font-size:15px;color:#847453;margin-top:22px}.collection-link{display:block;text-align:center;text-decoration:none}.shirt{fill:var(--shirt)}.shirt-stroke{stroke:var(--shirt)}body.paused *,body.paused *::before{animation-play-state:paused!important}.wallpaper-mode .topbar,.wallpaper-mode .intro,.wallpaper-mode .room-cards,.wallpaper-mode footer,.wallpaper-mode .stage-top,.wallpaper-mode .stage-bottom,.wallpaper-mode .room-marker{display:none}.wallpaper-mode .app-shell{max-width:none;padding:0}.wallpaper-mode main{padding:0}.wallpaper-mode .world-stage{height:100vh;padding:0;border:0;border-radius:0;box-shadow:none;background:radial-gradient(ellipse at 50% 45%,#f5ead7,#e5d5bd)}.wallpaper-mode #world{height:100vh}.wallpaper-mode .clay-world{inset:0}.clay-3d.wallpaper-mode #world{display:none}.clay-3d.wallpaper-mode .clay-hotspots{display:none}.clay-fallback-label{position:absolute;bottom:75px;left:25px;font-size:10px;color:#9b8565}
@media(min-width:1600px){.app-shell{padding:0 65px}main{padding-top:38px}#world{height:520px}.intro{margin-bottom:30px}}
@media(max-width:1100px){.app-shell{padding:0 28px}.topbar{gap:15px}.brand{font-size:20px;gap:10px}.poc{display:none}.room-nav button{padding:10px 12px}.room-nav button span{display:none}.top-actions{gap:10px}.room-card,.weather-card{padding:17px;gap:11px}.card-copy strong{font-size:14px}.card-kicker{font-size:7px;letter-spacing:.7px}.card-kicker>span{display:none}.stage-hint{display:none}.weather-symbol{font-size:32px}.room-cards{gap:13px}}
@media(max-width:760px){.app-shell{padding:0 18px}.topbar{height:135px;padding:16px 0;flex-wrap:wrap;justify-content:space-between;gap:10px}.brand{font-size:21px}.brand-icon{height:33px;width:33px;font-size:29px;border-radius:12px}.room-nav{width:100%;order:3;justify-content:center;padding:5px}.room-nav button{flex:1;font-size:10px;padding:9px 8px}.top-actions{margin-left:auto}.clock{font-size:10px}.icon-button{width:32px;height:32px;border-radius:12px}main{padding-top:25px}.intro{align-items:flex-start;gap:10px;margin-bottom:24px}.eyebrow{font-size:7px;letter-spacing:.9px}h1{font-size:32px;letter-spacing:-1.5px;max-width:260px;line-height:1.1}.subtitle{max-width:240px;font-size:11px}.intro .primary{padding:12px 10px;font-size:10px;gap:5px;white-space:normal;margin-top:30px;border-radius:12px}.button-arrow{display:none}.stage-top{top:16px;left:17px;right:16px}.scene-label{font-size:7px;letter-spacing:.8px}.stage-top .small-button{font-size:8px;padding:7px 8px}.world-stage{border-radius:22px 24px 20px 25px}#world{height:340px}.clay-world{inset:52px 0 63px}.stage-bottom{padding:14px;min-height:63px}.character-status{font-size:9px;gap:4px}.stage-bottom .small-button{font-size:8px;padding:8px}.room-cards{grid-template-columns:1fr;gap:13px;margin-top:17px}.room-card{padding:19px}.room-cards .card-kicker>span{display:inline}.card-copy strong{font-size:17px}.weather-card{padding:17px 22px;gap:20px}.weather-card>div{flex:1;display:flex;align-items:center;justify-content:space-between;gap:13px}.weather-card strong{font-size:20px;margin:0}.weather-card .card-description{max-width:120px;white-space:normal;font-size:9px}footer{font-size:6px;letter-spacing:.4px;flex-wrap:wrap;line-height:1.8;padding:24px 0}footer>span:first-child{width:100%}.drawer{padding:23px;top:10px;bottom:10px;right:10px;width:calc(100vw - 20px);border-radius:23px}.drawer-head{top:-23px;padding-top:4px}.book-grid{gap:19px 12px}.wallpaper-mode .clay-world{inset:0}}
@media(prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
