/* Cozy World V2: original, outside-looking-in illustrated room. */
.cozy-v2-editor-wrap{margin:25px 0;padding:24px 0}
.cozy-v2-home-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:18px;align-items:stretch}
.cozy-v2-home-preview,.cozy-v2-form{background:linear-gradient(150deg,#4b2f56,#2c1d3b);border:1px solid rgba(246,219,192,.27);border-radius:26px;padding:19px;box-shadow:0 22px 45px rgba(16,9,24,.24)}
.cozy-v2-home-preview{display:flex;flex-direction:column;gap:14px}
.cozy-v2-home-preview iframe{width:100%;border:0;height:350px;border-radius:20px;background:#d9c0c2;pointer-events:none}
.cozy-v2-home-preview .cozy-v2-home-kicker{font:700 .78rem system-ui;letter-spacing:.15em;color:#f3d4ba}
.cozy-v2-home-preview p{color:#f4e7ec;line-height:1.6;margin:0}
.cozy-v2-home-preview .btn{align-self:start}
.cozy-v2-form h3{font-size:1.3rem;color:#ffead9;margin:13px 0 9px}
.cozy-v2-two,.cozy-v2-book-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cozy-v2-form label{display:flex;flex-direction:column;gap:5px;font:700 .76rem system-ui;letter-spacing:.065em;color:#f4dfc9}
.cozy-v2-form input:not([type=checkbox]),.cozy-v2-form select{width:100%;border:1px solid rgba(255,239,222,.25);background:#4b3556;color:#fff9f5;border-radius:12px;padding:11px;font:500 .95rem system-ui;min-width:0}
.cozy-v2-form option{background:#342640}
.cozy-v2-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.cozy-v2-checks label{display:flex;flex-direction:row;align-items:center;font-size:.85rem;letter-spacing:0}
.cozy-v2-checks input{accent-color:#e6b7c8}
.cozy-v2-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}
.cozy-v2-feedback{margin-top:12px;color:#f1dabc;font-size:.88rem;line-height:1.5}
@media(max-width:910px){.cozy-v2-home-grid{grid-template-columns:1fr}.cozy-v2-home-preview iframe{height:250px}}
@media(max-width:540px){.cozy-v2-two,.cozy-v2-book-grid{grid-template-columns:1fr}.cozy-v2-home-preview iframe{height:225px}}
/* New room page */
body.cozy-world-v2{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 12% 5%,#563856 0,#25172d 51%,#1b1527 100%);color:#fff7ee;font:500 16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}
.cw-container{width:min(1150px,calc(100% - 26px));margin:0 auto;padding:17px 0 40px}
.cw-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.cw-logo{display:flex;gap:11px;align-items:center;text-decoration:none;color:#fff8ed}
.cw-logo-mark{width:47px;height:47px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(140deg,#eac6c2,#9a74a4);box-shadow:0 6px 18px #100b154d;font-size:24px}
.cw-logo span{display:block;font-size:.67rem;letter-spacing:.15em;color:#f0d0ba}
.cw-logo strong{font:700 1.5rem/1 Georgia,serif}
.cw-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.cw-button{font:700 .92rem system-ui;border:1px solid rgba(255,233,211,.26);border-radius:999px;padding:11px 16px;color:#fff7ef;background:#493050;text-decoration:none;cursor:pointer;white-space:nowrap;min-height:42px}
.cw-button:focus-visible,.cw-action:focus-visible,.cw-object:focus-visible{outline:3px solid #f0c986;outline-offset:3px}
.cw-button-primary{color:#38223d;background:linear-gradient(130deg,#f2dbb4,#f4c5ba);border-color:#f5d4a2}
.cw-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}
.cw-heading small{display:block;color:#f0cba8;letter-spacing:.16em;font-size:.75rem;font-weight:700}
.cw-heading h1{font:700 clamp(2.1rem,4.8vw,3.45rem)/.97 Georgia,serif;margin:5px 0}
.cw-heading p{max-width:65ch;color:#f0dfeb;margin:6px 0}
.cw-state{border:1px solid #e3c8c166;background:#3b293eb0;border-radius:17px;padding:11px 16px;font-size:.85rem}
.cw-stage-card{background:#f6e3d6;border:5px solid #b28ba4;border-radius:30px;padding:8px;box-shadow:0 18px 50px #07030980, inset 0 0 0 2px #fff3e3;position:relative}
.cw-svg{display:block;width:100%;height:auto;aspect-ratio:960/700;border-radius:22px;background:#f6e3d6;touch-action:manipulation}
.cw-object{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:filter .2s ease}
.cw-object:hover{filter:brightness(1.07) drop-shadow(0 0 8px #f5d3a8)}
.cw-svg .cw-bookshelf-title{font-family:Georgia,serif;letter-spacing:.07em}
.cw-svg .cw-book-text{font-family:Georgia,serif;font-weight:700;text-anchor:middle;fill:#fff7e5;paint-order:stroke fill;stroke:#3e283c;stroke-width:.75px}
.cw-svg .cw-avatar-name{font-family:system-ui;font-weight:700;font-size:15px;text-anchor:middle;fill:#fff6eb}
.cw-svg .cw-sign{font:700 15px Georgia,serif;fill:#684357;letter-spacing:2px}
.cw-svg .cw-item-icon{font:27px system-ui;fill:#3b2a40;text-anchor:middle}
.cw-svg .cw-view-label{font-family:Georgia,serif;fill:#e9e6ed;text-anchor:middle}
.cw-room-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:13px}
.cw-action{background:linear-gradient(180deg,#5d3f68,#3d2a4b);border:1px solid #f0d6b855;color:#fff4ef;border-radius:18px;min-height:65px;padding:11px 7px;font-weight:700;font-size:.88rem;cursor:pointer}
.cw-action span{display:block;font-size:1.35rem;margin-bottom:3px}
.cw-dock{display:grid;grid-template-columns:1fr 1.1fr;gap:17px;margin-top:17px}
.cw-panel{background:linear-gradient(140deg,#4b3256ee,#2e203e);border:1px solid rgba(244,213,191,.28);border-radius:22px;padding:20px}
.cw-panel h2{font:700 1.65rem Georgia,serif;margin:0 0 8px}
.cw-panel p{color:#eddce4;font-size:.91rem;margin:6px 0 13px;line-height:1.5}
.cw-identity,.cw-mood{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}
.cw-identity label,.cw-mood label{font-size:.8rem;font-weight:700;color:#f6dabf}
.cw-select{border:1px solid #fff9;border-radius:12px;background:#4e385c;color:#fff8f3;padding:9px;max-width:100%}
.cw-small-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.cw-small-actions .cw-button{white-space:normal;border-radius:15px;min-height:47px}
.cw-note-form{display:flex;gap:8px;margin-top:14px}
.cw-note-form input{flex:1;min-width:0;border:1px solid #f0d6c87c;border-radius:13px;background:#ffffff19;color:#fff;padding:11px;font:inherit}
.cw-note-form input::placeholder{color:#f0dfec9c}
.cw-note-form button{border-radius:13px}
.cw-feed{display:flex;flex-direction:column;gap:9px;max-height:280px;overflow:auto;padding-right:5px}
.cw-feed-item{border:1px solid #f5dfcb33;border-radius:13px;background:#ffffff10;padding:10px 12px}
.cw-feed-item strong{color:#fff4d7}.cw-feed-item small{display:block;color:#e4cbdc;font-size:.74rem;margin-top:2px}
.cw-toast{position:fixed;z-index:101;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(480px,calc(100vw - 24px));background:#422650;border:2px solid #f1d1ac;color:white;border-radius:18px;padding:14px 19px;box-shadow:0 12px 34px #100b19a9;text-align:center;font-weight:700}
.cw-modal{border:1px solid #d6aeb9;border-radius:25px;background:#30213b;color:#fff7ef;padding:23px;width:min(480px,calc(100vw - 28px));max-height:85vh;overflow:auto;box-shadow:0 15px 75px #100916ad}
.cw-modal::backdrop{background:#0b0910a4;backdrop-filter:blur(5px)}
.cw-modal h2{font:700 2rem Georgia,serif;margin:0 0 10px;color:#f0d5b7}
.cw-modal .cw-close{float:right;border:0;color:white;background:#664a70;border-radius:99px;width:38px;height:38px;cursor:pointer;font-size:1.3rem}
.cw-modal p{line-height:1.6}
.cw-modal .cw-book-entry{background:#ffffff0d;border:1px solid #fff3;padding:12px;margin:8px 0;border-radius:12px}
.cw-room-foot{color:#f1d9e6;text-align:center;font-size:.82rem;margin-top:18px}
.cw-heart-float{position:absolute;pointer-events:none;left:50%;top:55%;font-size:35px;z-index:5;animation:cw-rise 1.8s ease-out forwards;text-shadow:0 3px 5px #32182e}
@keyframes cw-rise{0%{opacity:0;transform:translate(-50%,15px) scale(.55)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,-170px) scale(1.5)}}
.cw-hugging #bunnyMove{animation:cw-bunny-hug 1.45s ease-in-out 1}
.cw-hugging #katMove{animation:cw-kat-hug 1.45s ease-in-out 1}
@keyframes cw-bunny-hug{0%,100%{transform:translateX(0)}45%,70%{transform:translateX(62px)}}
@keyframes cw-kat-hug{0%,100%{transform:translateX(0)}45%,70%{transform:translateX(-30px)}}
.cw-svg .cw-sleepy{opacity:0}.cw-svg.cw-expr-sleepy .cw-sleepy{opacity:1}.cw-svg.cw-expr-sleepy .cw-eye{opacity:0}
.cw-svg .cw-love-eye{opacity:0}.cw-svg.cw-expr-love .cw-love-eye{opacity:1}.cw-svg.cw-expr-love .cw-eye{opacity:0}
.cw-preview .cw-page-ui,.cw-preview .cw-room-actions,.cw-preview .cw-dock,.cw-preview .cw-room-foot{display:none}
.cw-preview .cw-container{width:100%;margin:0;padding:0}
.cw-preview .cw-stage-card{border:0;border-radius:15px;padding:0;box-shadow:none}
.cw-preview .cw-svg{border-radius:15px}
.cw-preview .cw-heading,.cw-preview .cw-header{display:none}
@media(max-width:800px){.cw-dock{grid-template-columns:1fr}.cw-room-actions{grid-template-columns:repeat(3,1fr)}.cw-state{width:100%}}
@media(max-width:480px){.cw-container{width:calc(100% - 14px);padding-top:11px}.cw-header{gap:8px}.cw-button{padding:9px 12px;font-size:.82rem}.cw-stage-card{border-width:3px;padding:4px;border-radius:17px}.cw-room-actions{gap:6px}.cw-action{min-height:62px;font-size:.76rem;border-radius:12px}.cw-panel{padding:14px}.cw-heading h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.cw-hugging #bunnyMove,.cw-hugging #katMove,.cw-heart-float{animation:none}}
