*{box-sizing:border-box} :root{--ink:#3f3651;--muted:#817990;--purple:#806cba;--line:#eee8f1;--paper:#fffdfa}body{margin:0;background:#fbf8fc;color:var(--ink);font-family:"Trebuchet MS",system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0}.top{height:70px;padding:10px max(18px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:4;box-shadow:0 2px 15px #5142670d}.brand{display:flex;align-items:center;gap:10px}.brand-star{width:40px;height:40px;border-radius:14px;background:linear-gradient(140deg,#8b7acb,#f3a7bd);display:grid;place-items:center;color:white;font-size:25px}.brand b{display:block;font-size:16px}.brand small{display:block;color:var(--muted);font-size:11px}.round{border-radius:50%;background:#f4eff8;padding:10px;width:40px;height:40px}main{max-width:1120px;padding:0 20px;margin:24px auto}.hero{border-radius:28px;min-height:290px;padding:26px 30px;background:linear-gradient(110deg,#eee9ff,#fff0ed 65%,#e8f5f0);display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero-copy{max-width:520px;z-index:1}.kicker{font-size:10px;letter-spacing:1.5px;font-weight:900;color:#8c78b9}.hero h1{font-size:clamp(34px,5vw,52px);margin:8px 0;color:#574a76}.hero p,.intro{color:var(--muted);line-height:1.6}.hero p{max-width:460px}.hero-art{width:310px;max-height:285px;object-fit:contain;align-self:flex-end;margin:-8px -10px -27px 0;filter:drop-shadow(0 9px 9px #67537b18)}.hero-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.btn{border-radius:13px;padding:11px 15px;font-weight:800;font-size:12px}.main-btn{background:var(--purple);color:white;box-shadow:0 5px 12px #806cba30}.pale-btn{background:#fff;color:#7664a8}.nav{display:flex;gap:7px;overflow:auto;padding:17px 0 12px}.navbtn{background:white;border-radius:12px;padding:11px 14px;color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.navbtn.active{background:#806cba;color:#fff}.view{display:none}.view.active{display:block}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0 27px}.stat{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;display:grid;gap:4px;box-shadow:0 6px 20px #4c3b5d08}.stat span{font-size:22px}.stat b{font-size:25px}.stat small{color:var(--muted);font-size:11px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:22px 0 13px}.section-title h2{margin:4px 0 0;font-size:23px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature{border-radius:18px;padding:17px;text-align:left;display:flex;flex-direction:column;gap:7px;color:var(--ink);min-height:150px}.feature span{font-size:27px}.feature b{font-size:14px}.feature small{font-size:11px;line-height:1.45;color:#6f687b}.pink{background:#ffedf3}.blue{background:#eaf4ff}.yellow{background:#fff5d9}.mint{background:#e8f7f0}.quote{display:flex;gap:13px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;margin:18px 0 25px}.quote>span{font-size:25px}.quote p{margin:5px 0;font-family:Georgia,serif;font-style:italic;color:#685d79}.quote small{color:var(--muted);font-size:10px}.link{background:none;color:var(--purple);font-weight:800}.toy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.toy-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 6px 20px #4c3b5d08}.toy-photo{height:135px;background:linear-gradient(135deg,#f1edff,#fff0f5);border-radius:13px;display:grid;place-items:center;font-size:40px;overflow:hidden}.toy-photo img{width:100%;height:100%;object-fit:cover}.toy-card h3{font-size:15px;margin:10px 0 4px}.toy-card p{font-size:11px;color:var(--muted);margin:0}.toy-bottom{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:10px}.pill{display:inline-block;background:#f2effa;color:#806cba;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:900}.tiny-actions{display:flex;gap:5px;margin-top:9px}.tiny{background:#f5f1f8;color:#7765a6;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800}.filters{display:flex;gap:9px;margin:13px 0}.filters input{flex:1}.filters input,.filters select,label input,label select{border:1px solid #e8e0ed;border-radius:11px;padding:11px;background:white;color:var(--ink);min-width:0}.empty{text-align:center;padding:32px;background:white;border:1px dashed #d9cfe5;border-radius:16px;color:var(--muted)}.subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.subject{border-radius:18px;padding:17px;min-height:180px}.subject .ico{font-size:30px}.subject h3{margin:8px 0 5px}.subject p{font-size:11px;line-height:1.5;color:#6f687b}.subject .pill{background:#ffffffb8}.adventure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.adventure-card{border-radius:19px;padding:17px;display:flex;flex-direction:column;align-items:flex-start;min-height:240px}.adv-emoji{font-size:34px;margin-bottom:9px}.adventure-card h3{margin:9px 0 5px}.adventure-card p{font-size:12px;color:#71697b;line-height:1.5;flex:1}.lavender{background:#f0ebff}.peach{background:#fff0e5}.aqua{background:#e8f8f6}.rose{background:#ffedf3}.green{background:#eaf6e9}.gold{background:#fff6d9}.habit-list{display:grid;gap:10px}.habit{background:white;border:1px solid var(--line);border-radius:15px;padding:14px;display:flex;align-items:center;gap:12px}.habit input{width:21px;height:21px;accent-color:#806cba}.habit div{flex:1}.habit b{font-size:13px}.habit p{font-size:11px;color:var(--muted);margin:4px 0 0}.gentle-note{background:#eef8f1;color:#58745f;border-radius:15px;padding:15px;margin-top:15px;font-size:12px;line-height:1.5}.level-panel{display:flex;align-items:center;gap:16px;background:linear-gradient(110deg,#eee9ff,#fff0f3);padding:20px;border-radius:20px}.level-face{width:65px;height:65px;border-radius:20px;background:white;display:grid;place-items:center;font-size:34px}.level-panel h2{margin:4px 0}.level-panel p{color:var(--muted);font-size:12px;margin:4px 0}.progress{height:12px;background:#e9e3ef;border-radius:99px;margin:20px 0 8px;overflow:hidden}.progress div{height:100%;width:0;background:linear-gradient(90deg,#8876c5,#f2a7c2);border-radius:99px}.muted{color:var(--muted);font-size:11px}.subhead{font-size:18px;margin-top:25px}.medal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.medal{background:white;border:1px solid var(--line);border-radius:14px;padding:13px;text-align:center}.medal span{font-size:25px}.medal b{display:block;font-size:11px;margin:5px}.medal small{font-size:9px;color:var(--muted)}.locked{opacity:.38;filter:grayscale(1)}.backup{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}footer{text-align:center;padding:25px 10px;color:#aaa1b4;font-size:10px}dialog{border:0;border-radius:22px;padding:0;width:min(520px,calc(100% - 22px));box-shadow:0 25px 80px #30243f55;color:var(--ink)}dialog::backdrop{background:#30243f88;backdrop-filter:blur(3px)}dialog form{padding:21px;display:grid;gap:12px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head h2{margin:4px 0}.modal-head .round{flex-shrink:0}label{display:grid;gap:6px;font-size:12px;font-weight:800}.two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.preview{height:90px;border-radius:12px;background:#f6f2fa;display:grid;place-items:center;color:var(--muted);font-size:11px;overflow:hidden}.preview img{height:100%;max-width:100%;object-fit:contain}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}#gameContent{font-size:13px;line-height:1.55}#gameContent .question{font-size:17px;font-weight:800;margin:10px 0}#gameContent .answer-list{display:grid;gap:8px;margin:12px 0}#gameContent .answer{background:#f5f1fa;border:2px solid transparent;padding:11px;border-radius:11px;text-align:left;color:var(--ink)}#gameContent .answer.selected{border-color:#806cba;background:#eee9ff}#gameContent input[type=text],#gameContent input[type=number]{width:100%;border:1px solid #e7deed;border-radius:10px;padding:11px}#gameFeedback{margin-top:12px;padding:12px;border-radius:12px;background:#f0f8f2;color:#456d51;display:none}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;transition:.2s;background:#40364f;color:white;padding:11px 17px;border-radius:99px;font-size:12px;z-index:8}#toast.show{opacity:1;transform:translate(-50%,0)}.tiny{font-size:10px}
@media(max-width:760px){main{padding:0 13px;margin:14px auto}.top{padding:9px 13px}.hero{min-height:220px;padding:19px}.hero-art{width:185px;margin-right:-12px;margin-bottom:-20px}.hero h1{font-size:34px}.hero p{font-size:12px;max-width:330px}.feature-grid{grid-template-columns:repeat(2,1fr)}.toy-grid,.subject-grid,.adventure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.toy-photo{height:110px}.stats{gap:7px}.stat{padding:11px}.stat b{font-size:21px}.stat small{font-size:9px}.nav{margin:0 -13px;padding-left:13px;padding-right:13px}.section-title h2{font-size:20px}.adventure-card{padding:13px;min-height:250px}.medal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.hero-art{width:145px}.hero-copy{max-width:65%}.hero h1{font-size:29px}.hero p{font-size:11px}.two{grid-template-columns:1fr}.toy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* FASE 3: cuarto, Hanna y diario */
.lavender{background:#f0ebff}.peach{background:#fff0e5}
.room-scene{height:390px;position:relative;overflow:hidden;border-radius:22px;border:7px solid #fff;background:linear-gradient(#f7eafa 0 65%,#d8bda9 65%);box-shadow:0 8px 25px #49365c12}
.room-scene:before{content:"";position:absolute;left:0;right:0;top:64%;height:5px;background:#c99e88}
.room-window{position:absolute;top:28px;left:7%;width:120px;height:105px;border:8px solid #fff;background:linear-gradient(#c9e9fa,#fff5c9);border-radius:8px;display:grid;place-items:center;font-size:28px;box-shadow:0 4px 10px #806cba20}
.room-window small,.room-bed small,.room-desk small,.room-hanna small{font-size:10px;color:#776987;font-weight:800}
.room-wall-art{position:absolute;top:32px;right:12%;width:80px;height:92px;background:#fff8e9;border:6px solid #fff;border-radius:5px;text-align:center;padding-top:13px;font-size:25px;box-shadow:0 4px 10px #806cba18}
.room-wall-art small{font-family:Georgia,serif;font-size:13px;color:#bb7890}
.room-bed{position:absolute;left:4%;bottom:12%;width:30%;height:100px;border-radius:18px 18px 8px 8px;background:#b8a9dc;border:8px solid #fff;display:grid;place-items:center;font-size:37px;box-shadow:0 5px 0 #aa8e8a}
.room-rug{position:absolute;left:35%;bottom:4%;width:32%;height:70px;border-radius:50%;background:#f8d7df;display:grid;place-items:center;color:#c27f9a;font-size:30px}
.room-shelf{position:absolute;left:38%;top:35%;width:36%;min-height:112px;background:#c48e68;border:7px solid #fff;border-radius:8px;padding:8px;box-shadow:0 6px 0 #a96f50}
.room-shelf>b{font-size:9px;letter-spacing:1px;color:#fff}
.shelf-toys{display:flex;align-items:center;gap:5px;min-height:58px;flex-wrap:wrap}
.shelf-toy{background:#fff9;border-radius:9px;padding:4px 6px;font-size:21px}
.room-desk{position:absolute;right:4%;bottom:12%;width:22%;height:82px;border-radius:8px;background:#d6a77d;border:7px solid #fff;display:grid;place-items:center;font-size:27px;box-shadow:0 5px 0 #b7835d}
.room-hanna{position:absolute;right:25%;bottom:6%;font-size:34px;text-align:center;filter:drop-shadow(0 3px 2px #715c5033)}
.room-hanna small{display:block}
.room-controls{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;margin-top:14px}
.room-controls h3{margin:0 0 4px}.room-controls p{font-size:12px;color:var(--muted);margin:0 0 12px}
.room-picker{display:flex;gap:8px;flex-wrap:wrap}
.room-pick{border:1px solid #e8e0ed;background:#faf8fc;border-radius:12px;padding:8px 10px;font-size:11px;color:var(--ink)}
.room-pick.selected{background:#eee9ff;border-color:#806cba;color:#5d4d88}
.hanna-hero{display:flex;align-items:center;gap:18px;background:linear-gradient(110deg,#fff0f3,#f0ebff);border-radius:22px;padding:14px;overflow:hidden}
.hanna-hero img{width:150px;height:150px;object-fit:contain;border-radius:16px}
.hanna-hero h2{font-size:25px;margin:5px 0}.hanna-hero p{font-size:12px;line-height:1.5;color:var(--muted);max-width:430px}
.mission-card{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px}
.mission-emoji{width:65px;height:65px;border-radius:18px;background:#f5effb;display:grid;place-items:center;font-size:32px;flex-shrink:0}
.mission-card h3{margin:0 0 5px}.mission-card p{font-size:12px;color:var(--muted);margin:0 0 6px;line-height:1.5}.mission-card small{font-size:10px;color:#9a8da6}
.mission-actions{display:flex;gap:8px;margin:12px 0 20px}
.care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.care-grid article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;display:flex;flex-direction:column;gap:6px}
.care-grid article span{font-size:25px}.care-grid b{font-size:12px}.care-grid p{font-size:10px;color:var(--muted);line-height:1.45;margin:0}
.diary-compose{background:#fff;border:1px solid var(--line);border-radius:19px;padding:17px;display:grid;gap:12px}
.diary-compose textarea{border:1px solid #e8e0ed;border-radius:11px;padding:11px;resize:vertical;font:inherit;font-size:13px;color:var(--ink)}
.diary-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.diary-entries{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.diary-entry{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}
.diary-entry .entry-type{font-size:9px;letter-spacing:1px;color:#927bb9;font-weight:900}
.diary-entry h3{margin:6px 0;font-size:15px}.diary-entry p{font-size:11px;color:var(--muted);line-height:1.5;white-space:pre-wrap}
.diary-entry .entry-actions{display:flex;gap:6px;margin-top:10px}
.diary-read{white-space:pre-wrap;line-height:1.65;font-family:Georgia,serif;color:#62566e;font-size:14px;background:#fffaf1;padding:16px;border-radius:12px}
@media(max-width:760px){.room-scene{height:310px}.room-bed{height:75px}.room-shelf{top:39%;width:39%;left:34%;min-height:90px}.room-window{width:90px;height:80px}.room-wall-art{right:7%;width:65px;height:75px}.room-desk{height:65px}.care-grid{grid-template-columns:repeat(2,1fr)}.hanna-hero img{width:110px;height:110px}.diary-entries{grid-template-columns:1fr}}
@media(max-width:430px){.room-scene{height:275px}.room-hanna{right:22%;font-size:27px}.room-shelf{left:33%;width:42%}.hanna-hero{gap:10px}.hanna-hero img{width:88px;height:88px}.hanna-hero h2{font-size:20px}.mission-card{align-items:flex-start}.diary-actions .muted{max-width:150px}}

/* FASE 4 — juego, tienda y colecciones */
.room-objects{position:absolute;inset:0;z-index:5;pointer-events:none}
.draggable-object{position:absolute;transform:translate(-50%,-50%);min-width:43px;min-height:43px;border:2px solid #fff;border-radius:15px;background:#fffdf4eF;box-shadow:0 4px 12px #4b3b5830;display:grid;place-items:center;font-size:25px;touch-action:none;cursor:grab;pointer-events:auto;user-select:none;padding:3px}
.draggable-object:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.08);z-index:10}
.subheading{font-size:13px;margin:16px 0 8px}
.room-owned{border:1px solid #e8e0ed;background:#fff;border-radius:12px;padding:8px 10px;font-size:11px;color:var(--ink)}
.room-owned:disabled{opacity:.45}
.shop-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 15px}.shop-tab{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 13px;font-size:11px;color:var(--ink)}.shop-tab.active{background:#eee9ff;border-color:#a99ad0;color:#5d4d88;font-weight:900}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.shop-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;display:flex;flex-direction:column;gap:7px}.shop-art{height:90px;border-radius:13px;background:linear-gradient(140deg,#f9eef6,#eef1ff);display:grid;place-items:center;font-size:42px}.shop-card h3{font-size:14px;margin:2px 0}.shop-card p{font-size:10px;line-height:1.45;color:var(--muted);margin:0;min-height:30px}.shop-price{font-size:12px;font-weight:900;color:#8a6b24}.shop-card button{margin-top:auto}.shop-card button:disabled{opacity:.55;cursor:not-allowed}
.owned-shop-grid{display:flex;flex-wrap:wrap;gap:9px}.owned-chip{background:#f2eefb;border:1px solid #e4daf4;border-radius:13px;padding:9px 12px;font-size:11px}
.special-banner{display:flex;align-items:center;gap:17px;padding:18px;border-radius:20px;margin:20px 0 12px}.stitch-banner{background:linear-gradient(110deg,#e6f3ff,#f0edff)}.ksi-banner{background:linear-gradient(110deg,#fff0f2,#fff5df)}.special-icon{width:76px;height:76px;border-radius:20px;background:#ffffffb8;display:grid;place-items:center;font-size:42px;flex-shrink:0}.special-banner h2{font-size:22px;margin:3px 0}.special-banner p{font-size:11px;color:var(--muted);margin:4px 0}.special-banner b{font-size:11px;color:#74628f}
.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.special-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px}.special-card img{width:100%;height:112px;object-fit:contain;background:#faf8fc;border-radius:10px}.special-card .special-placeholder{height:112px;display:grid;place-items:center;font-size:38px;background:#faf8fc;border-radius:10px}.special-card h3{font-size:12px;margin:8px 0 3px}.special-card p{font-size:10px;color:var(--muted);margin:0}
@media(max-width:760px){.shop-grid,.special-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-card{padding:10px}.shop-art{height:76px}.special-banner{padding:13px}.special-icon{width:60px;height:60px;font-size:34px}}
@media(max-width:430px){.shop-grid,.special-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.draggable-object{min-width:38px;min-height:38px;font-size:22px}}
