.app-page{background:#0b1520}.app-header{padding:18px 30px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.app-header-actions{display:flex;align-items:center;gap:12px}.edition{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:3px 9px;border-radius:20px}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;max-width:1460px;margin:auto;padding:30px}.room-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.room-heading .eyebrow{font-size:12px;margin-bottom:9px}.room-heading h1{font-size:27px;line-height:1.3;letter-spacing:-.7px;margin:0;font-weight:550}.room-stage{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:14px;border:1px solid #40536a;isolation:isolate;background:#172a3d}.room-background{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}.cat{position:absolute;left:60%;top:76%;width:20%;aspect-ratio:1;border:0;background:none;padding:0;transform:translate(-50%,-75%);cursor:grab;touch-action:none;z-index:30;filter:drop-shadow(0 7px 4px #20120b55)}.cat:active{cursor:grabbing}.cat-sprite{display:block;width:100%;height:100%;background-image:url('./assets/kitten.png');background-size:300% 200%;background-position:0 0;transform-origin:50% 85%;animation:breathe 3s ease-in-out infinite}.cat[data-pose="left"] .cat-sprite{background-position:50% 0}.cat[data-pose="right"] .cat-sprite{background-position:100% 0}.cat[data-pose="typing"] .cat-sprite{background-position:0 100%;animation:typing .15s ease-in-out infinite alternate}.cat[data-pose="drag"] .cat-sprite{background-position:50% 100%;animation:wobble .22s ease-in-out infinite alternate}.cat[data-pose="sleep"] .cat-sprite{background-position:100% 100%;animation:breathe 4s ease-in-out infinite}.cat[data-pose="pet"] .cat-sprite{animation:pet .32s ease-in-out infinite alternate}.cat-bubble{position:absolute;left:60%;top:49%;transform:translate(-50%,-100%);font-size:12px;background:#102035ef;border:1px solid #667e95;color:#fff;padding:7px 12px;border-radius:12px;pointer-events:none;white-space:nowrap;z-index:40;opacity:0;transition:opacity .2s}.cat-bubble.visible{opacity:1}.room-caption{position:absolute;left:16px;bottom:12px;right:16px;text-align:center;color:#edf3f9;font-size:12px;text-shadow:0 2px 5px #000;background:#0c1724b8;border-radius:8px;padding:6px;pointer-events:none}.room-item{position:absolute;aspect-ratio:1;transform:translate(-50%,-80%);border:0;background:none;padding:0;pointer-events:none}.sprite{display:block;aspect-ratio:1;width:100%;background-image:url('./assets/furniture.png');background-size:300% 200%;background-repeat:no-repeat}.arranging .room-item{pointer-events:auto;cursor:grab;touch-action:none;outline:1px dashed #fff7;border-radius:10px}.room-controls{display:flex;align-items:center;gap:10px;margin:12px 0 0;color:var(--muted);font-size:14px}.room-controls>span{flex:1}.room-controls button{font-size:14px}.shelf-section{margin-top:30px}.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.shelf-heading h2{font-size:18px;margin:0;font-weight:550;letter-spacing:-.3px}.balance{font-size:13px;color:var(--muted);white-space:nowrap}.balance #balance{color:var(--accent);font-size:17px;font-weight:650}.furniture-shop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.item-card{border:1px solid var(--line);background:#132131;border-radius:12px;padding:14px;text-align:left;display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center}.item-card .sprite{width:56px}.item-card h3{font-size:14px;margin:0 0 3px;font-weight:550}.item-card p{font-size:12px;color:var(--muted);margin:0 0 8px}.item-card button{font-size:14px;border:1px solid #586576;background:#223749;color:var(--text);padding:4px 10px;border-radius:6px;min-height:34px}.item-card.locked{opacity:.75}.focus-panel{border:1px solid var(--line);border-radius:16px;background:#111f2d;padding:24px;align-self:start}.focus-panel .eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:10px}.focus-panel h2{font-size:27px;letter-spacing:-.7px;margin-bottom:25px}.focus-panel label,dialog label{font-size:14px;color:var(--muted);display:block;margin-bottom:7px}.focus-panel input,dialog input[type=password]{width:100%;background:#0b1622;border:1px solid #3c5064;border-radius:8px;color:var(--text);padding:10px 12px;font-size:16px}.duration-row{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.duration-row label{margin:0}.duration-row select{color:var(--text);background:#1b3043;border:1px solid #42556b;border-radius:7px;padding:4px 10px;font-size:16px}.timer-wrap{text-align:center;margin:30px 0 20px}.timer{font-size:61px;letter-spacing:-2px;font-weight:350;line-height:1.2;display:block;font-variant-numeric:tabular-nums;color:var(--text)}#timer-caption{font-size:14px;color:var(--muted);display:block;margin-top:8px}progress{width:100%;height:5px;border:0;display:block;border-radius:10px;margin:0 0 24px;background:#2b3b4c}progress::-webkit-progress-bar{background:#2b3b4c;border-radius:10px}progress::-webkit-progress-value{background:var(--accent);border-radius:10px}progress::-moz-progress-bar{background:var(--accent);border-radius:10px}#cancel-session{margin-top:10px;font-size:14px}.reward-note{font-size:14px;color:var(--muted);line-height:1.5;text-align:center;margin:16px 0 24px}.daily-summary{display:grid;grid-template-columns:1fr 1fr;padding-top:23px;border-top:1px solid var(--line);gap:15px}.daily-summary strong{font-size:26px;font-weight:500;display:block}.daily-summary span{color:var(--muted);font-size:12px}.recent-section{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.recent-section h3{font-size:14px;font-weight:550;margin:0 0 12px}.recent-entry{font-size:13px;display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:var(--muted)}.recent-entry span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-entry span:last-child{color:var(--accent);white-space:nowrap}.local-note{font-size:12px;color:#a6b6c5;margin-top:24px}.empty-history{font-size:14px;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;border:1px solid #698198;border-radius:12px;background:#253d52;color:#fff;box-shadow:0 8px 32px #0008;max-width:90vw;font-size:14px;z-index:200}dialog{color:var(--text);background:#142334;border:1px solid #526c83;border-radius:16px;max-width:560px;width:calc(100% - 32px);padding:28px;max-height:85vh;overflow:auto}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-head h2,dialog h2{font-size:24px;margin:0}.dialog-head button{font-size:22px}dialog p{font-size:16px;color:var(--muted)}dialog h3{font-size:18px;margin-top:28px}.settings-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.settings-actions label{margin:0;cursor:pointer;color:var(--text)}.check-row{display:flex!important;align-items:center;gap:10px;margin:14px 0!important}.check-row input{accent-color:var(--accent);width:18px;height:18px}#license-form button{margin-top:12px}body.compact .app-header,body.compact .room-heading,body.compact .shelf-section,body.compact .room-controls,body.compact .focus-panel,body.compact #arrange-help{display:none}body.compact .app-shell{display:block;padding:0}body.compact .room-stage{border:0;border-radius:0}body.compact .room-caption{font-size:12px;padding:4px}.app-page.ko .room-heading h1{font-size:24px;word-break:keep-all}@keyframes breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.015,.975)}}@keyframes typing{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-2px) rotate(1deg)}}@keyframes wobble{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}@keyframes pet{from{transform:scale(1,.95)}to{transform:scale(1.03,1.02)}}@media(max-width:1100px){.app-shell{gap:20px;padding:22px;grid-template-columns:minmax(0,1fr) 270px}.focus-panel{padding:20px}.furniture-shop{grid-template-columns:repeat(2,minmax(0,1fr))}.room-heading h1{font-size:22px}}@media(max-width:800px){.app-shell{grid-template-columns:1fr;max-width:720px}.focus-panel{display:block}.timer{font-size:70px}.timer-wrap{margin:20px 0}.daily-summary{margin-top:20px}.recent-section{display:none}.furniture-shop{grid-template-columns:repeat(3,minmax(0,1fr))}.item-card{grid-template-columns:1fr;text-align:center;justify-items:center}.app-header{padding:16px 20px}.edition{display:none}}@media(max-width:500px){.app-shell{padding:18px 14px}.app-header{padding:12px 14px}.app-header .wordmark span{font-size:12px}.app-header-actions{gap:7px}.app-header-actions .text-button{font-size:14px;padding:5px 9px}.room-heading h1{font-size:21px}.shelf-heading{align-items:flex-start;flex-direction:column;gap:8px}.furniture-shop{gap:8px}.item-card{padding:10px 5px}.item-card h3{font-size:14px}.item-card .sprite{width:60px}.room-controls{font-size:12px;gap:7px;flex-wrap:wrap}.room-controls button{font-size:14px;padding:5px 7px}.cat-bubble{font-size:12px;padding:5px 8px}.room-caption{font-size:12px;bottom:8px}.room-heading{margin-bottom:14px}.focus-panel{padding:24px}.room-stage{border-radius:10px}}

.room-stage::before,.room-stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:35;transition:background-color 2s ease}.room-stage::before{background:rgba(255,157,78,var(--warm-opacity,0));mix-blend-mode:soft-light}.room-stage::after{background:rgba(13,25,62,var(--night-opacity,0))}.room-caption{z-index:40}.room-settings .duration-row{gap:12px}.room-settings select{max-width:65%}.room-settings .small{line-height:1.6}@media(prefers-reduced-motion:reduce){.room-stage::before,.room-stage::after{transition:none}}
