:root{color-scheme:light;--ink:#374b3f;--muted:#7a806c;--paper:#fffaf0;--green:#4f6d4c;font-family:"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color:var(--ink);font-synthesis:none;background:#bdac8f}
.home-wallet{display:grid;grid-column:1/-1;gap:1px;margin-top:5px;padding-top:5px;border-top:1px solid #c5bc9c55;text-align:right}
.home-wallet>strong{font-size:14px;color:#75602f;font-variant-numeric:tabular-nums}
.home-wallet>small{font-size:10px;line-height:1.3;color:#8a7b63}
.home-wallet .is-error{color:#9a593c}
.home-points-preview{display:block;grid-column:1/-1;font-size:10px;line-height:1.4;color:#8c775c;text-align:right}
.home-report-wallet{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-top:18px;padding:20px 27px;border:1px solid #e2d5af;border-radius:14px;background:#fff6dd}
.home-report-wallet>span{font-size:15px;color:#7d704d}.home-report-wallet>strong{font-size:28px;color:#705927;font-variant-numeric:tabular-nums}.home-report-wallet>small{margin-left:auto;font-size:13px;color:#887851}
*{box-sizing:border-box}body{display:flow-root;margin:0;min-width:320px;min-height:100vh;min-height:100svh;line-height:1.5}button,input,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}[hidden]{display:none!important}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #487256;outline-offset:5px}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:24px;background:var(--paper);padding:12px;z-index:50}.skip-link:focus{top:10px}.room-background{position:fixed;inset:0;z-index:-1;background:#e7d6b7 url('/assets/service-scenes-v1/login-room-v1.png') center/cover no-repeat;pointer-events:none}.room-background::after{content:"";position:absolute;inset:0;background:#26271800;transition:background .4s,backdrop-filter .4s}
/* Entrance: the study room remains behind the sign-in card and the main desk. */
.login-view{min-height:100vh;min-height:100svh;position:relative;isolation:isolate;overflow:hidden}.login-header{position:absolute;z-index:2;left:5%;right:5%;top:38px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;font-size:27px;font-weight:850;line-height:1.1;letter-spacing:-1.5px;flex-shrink:0}.brand small{display:block;letter-spacing:3.4px;font-size:9px;font-weight:650;margin-top:8px;color:#7c8067}.brand-accent{color:#678250}.brand-face{width:47px;height:43px;background:linear-gradient(140deg,#fff2b7,#f8ce67 67%,#e7b74d);border-radius:48% 48% 40% 40%;box-shadow:inset 0 3px 6px #fff9,0 4px 5px #b6813233;position:relative}.brand-face::before,.brand-face::after{content:"";width:4px;height:6px;border-radius:50%;background:#5b4a30;position:absolute;top:19px}.brand-face::before{left:13px}.brand-face::after{right:13px}.brand-face i{position:absolute;left:20px;top:25px;width:8px;height:4px;border:1.8px solid #5b4a30;border-top:0;border-radius:0 0 8px 8px}.login-motto{font-size:13px;letter-spacing:.3px;color:#666c52;text-shadow:0 1px #fff7}.login-stage{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:120px 0 70px 18%}.login-card{width:405px;padding:39px 37px 29px;background:linear-gradient(120deg,#fffdf5f7,#fff9ecf2);border:1px solid #fffdf7;border-radius:20px;box-shadow:0 18px 55px #6b4e2333,0 2px 5px #6b4e231a;backdrop-filter:blur(12px)}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#a1764c;margin-bottom:13px}.login-card h1{font-size:28px;letter-spacing:-1.2px;font-weight:800;outline:none}.login-intro{font-size:14px;color:#7d806c;margin-top:9px;margin-bottom:29px}.login-field{display:block;font-size:12px;font-weight:650;margin-bottom:16px;color:#69735b}.login-input{display:flex;align-items:center;gap:10px;border:1px solid #dedccc;background:#ffffffa6;border-radius:10px;margin-top:7px;min-height:50px;padding:0 13px}.login-input>span{font-size:20px;color:#8f9a7d}.login-input input{border:0;outline:none;min-width:0;width:100%;background:transparent;color:#71765f;font-size:14px}.login-input input:focus-visible{outline:2px solid #8b9d6b;outline-offset:4px}.login-input button{background:transparent;font-size:11px;color:#869070;padding:9px 0;white-space:nowrap}.login-submit{display:flex;justify-content:center;align-items:center;gap:13px;width:100%;min-height:51px;margin-top:24px;border-radius:11px;background:linear-gradient(#688253,#4b6842);border:1px solid #587443;box-shadow:inset 0 1px #ffffff3d,0 4px 0 #3e552124,0 6px 13px #3e552119;color:#fffdf0;font-size:16px;font-weight:750}.login-submit:hover{background:linear-gradient(#748f5c,#56754a)}.login-submit .icon{width:19px}.login-note{font-size:11px;line-height:1.8;color:#8c8c74;text-align:center;margin:18px 0 24px;word-break:keep-all}.login-signature{border-top:1px solid #dedcc78c;display:block;padding-top:20px;font-size:11px;text-align:center;color:#91937a}.login-signature>span{color:#b49b56;margin-left:4px}.login-friend{position:absolute;width:460px;left:57%;top:39%;pointer-events:none;text-align:center}.login-friend>p{display:inline-block;position:relative;z-index:2;padding:11px 19px;border:1px solid #fff9;background:#fffaf0ed;color:#697052;border-radius:12px 12px 12px 2px;box-shadow:2px 6px 15px #725b2626;transform:rotate(-4deg);font-size:16px;font-weight:650}.login-friend>p span{color:#b29f61;margin-left:7px}#login-slime{margin:-49px auto -66px;pointer-events:none}.login-friend>span{display:inline-block;position:relative;z-index:1;color:#6a6042;font-size:13px;font-weight:600;letter-spacing:.3px;text-shadow:0 1px #fffb}
/* V4: the room fills the browser; UI dimensions are not scaled with the art. */
body:not(.is-login) .room-background{display:none}
.learning-frame{width:100%;margin:0}
.app-shell{width:100%;min-height:100svh;position:relative;background:#efd8b5}
.app-header{position:absolute;z-index:10;left:clamp(16px,3vw,56px);right:clamp(16px,3vw,56px);top:16px;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 24px;background:linear-gradient(120deg,#fffef9fa,#fffaf2f5);border:1px solid #fffc;border-radius:24px;box-shadow:0 3px 14px #8064390c}
.brand{color:#64432e}.brand-accent{color:#587b40}.app-header .brand{font-size:27px}
.primary-nav{display:flex;align-items:center;gap:clamp(12px,1.4vw,24px);padding:2px 18px;border:1px solid #e8dac6;border-radius:16px;background:#fffdf780;font-size:14px;font-weight:700}
.primary-nav a{display:flex;gap:6px;align-items:center;min-height:44px;padding:4px 0;color:#554536;white-space:nowrap}.primary-nav .icon{width:19px;height:19px;stroke-width:2;color:#5b894c}.primary-nav a:nth-child(2) .icon{color:#df836d}.primary-nav a:nth-child(3) .icon{color:#c9922b}.primary-nav a:nth-child(4) .icon{color:#9c81c6}.primary-nav a:nth-child(5) .icon{color:#659ead}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:#3c6242;box-shadow:0 2px #96ac7e}
.header-account{display:flex;align-items:center;gap:12px}.profile-button{display:flex;align-items:center;gap:8px;background:transparent;font-size:13px;font-weight:650;min-height:44px;padding:7px 0;white-space:nowrap}.profile-avatar{display:grid;place-items:center;width:34px;height:34px;background:linear-gradient(#fff1b4,#e9c76b);border:1px solid #d6b76a;border-radius:50%;color:#7b753e;font-family:Georgia,serif;font-style:italic;font-size:20px;box-shadow:inset 0 1px #fff9}#preview-logout{background:transparent;border:1px solid #dfd3c3;border-radius:21px;padding:9px 12px;min-height:44px;font-size:12px;color:#897764;white-space:nowrap}
main{position:relative;outline:none;min-height:100svh}
.desk-scene{--scene-height:max(720px,100svh);--menu-height:clamp(164px,19svh,188px);--book-height:clamp(225px,30svh,280px);--book-top:calc(var(--scene-height) - 20px - var(--menu-height) - 12px - var(--book-height));height:var(--scene-height);position:relative;isolation:isolate;background:#efd8b5 url('/assets/service-scenes-v5/world-study-room-v5.png') center/cover no-repeat}
.room-message{position:absolute;left:16%;top:clamp(105px,12svh,148px);transform:rotate(-6deg);color:#694128;font-family:"Nanum Pen Script","Apple SD Gothic Neo",serif;font-weight:500;font-size:clamp(32px,2.8vw,44px);letter-spacing:-1px;line-height:1.3;text-shadow:0 2px 6px #fff9}.room-message span{display:inline-block;margin-left:28px}.room-message::after{content:"";display:block;width:132px;height:3px;margin:7px 0 0 115px;transform:rotate(-3deg);border-radius:50%;background:#efc759}
/* These factors follow the existing composition's 1540×1400 frame / 1033px body. */
.slime-room{position:absolute;left:50%;top:calc(var(--book-top) - var(--home-body-width,320px)*.87);width:calc(var(--home-body-width,320px)*1.491);height:calc(var(--home-body-width,320px)*1.355);transform:translateX(calc(-50% + var(--home-body-width,320px)*.076));z-index:2}
.slime-speech{position:absolute;left:75%;top:max(calc(110px - var(--book-top) + var(--home-body-width,320px)*.87),calc(var(--home-body-width,320px)*.266 - 96px));z-index:3;white-space:nowrap;background:linear-gradient(135deg,#fffefa,#fff9ed);padding:16px 25px;border-radius:47% 47% 38% 25%;box-shadow:1px 5px 14px #85602318;font-size:clamp(16px,1.2vw,18px);line-height:1.65;font-weight:700;color:#75472d;text-align:center}.slime-speech::after{content:"";position:absolute;left:40px;bottom:-13px;border-top:21px solid #fffbf1;border-right:19px solid transparent;transform:rotate(8deg)}
.slime-portal{display:block;position:relative;width:100%;height:auto;background:transparent;padding:0;border-radius:45%;z-index:2}.slime-portal #home-slime{display:block;pointer-events:none}.slime-portal:focus-visible{outline-offset:-45px}
.slime-caption{position:absolute;top:calc(var(--home-body-width,320px)*.87 - 46px);left:-5%;transform:rotate(-4deg);display:flex;align-items:center;gap:7px;z-index:4;background:#fff9e9ed;border:1px solid #fff9;padding:1px 8px 1px 12px;border-radius:7px;box-shadow:1px 4px 7px #75561f26}.slime-caption strong{font-size:14px;font-weight:800;white-space:nowrap;color:#775d3b}
.small-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 13px;border:1px solid #cdd2b5;background:#fffff7b3;border-radius:9px;color:#5d7350;font-size:14px;font-weight:650}.small-button .icon{width:16px;height:16px}.small-button:hover{background:#fffdf0}.slime-caption .small-button{border:0;border-left:1px solid #dbd4b5;border-radius:0;padding:3px 0 3px 8px;background:none;font-size:12px;white-space:nowrap}.slime-caption .icon{width:13px;height:13px}
.asset-notice{position:absolute;left:20px;right:20px;top:48%;text-align:center;font-size:14px;color:#765733;z-index:5;pointer-events:none}
.desk-notebook{pointer-events:none;position:absolute;left:calc(50% + clamp(0px,(100vw - 1100px)*.22,40px));top:var(--book-top);width:clamp(610px,53vw,800px);height:var(--book-height);transform:translateX(-50%);z-index:4;filter:drop-shadow(3px 8px 5px #66412140)}
.notebook-art{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.learning-panel{pointer-events:auto;position:absolute;left:9%;top:12%;width:81%;height:74%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.section-kicker{display:block;font-size:11px;letter-spacing:.8px;color:#9b6941;font-weight:800;white-space:nowrap;margin-bottom:7px}#lesson-heading{font-size:clamp(24px,2vw,30px);font-weight:800;line-height:1.25;letter-spacing:-1px;word-break:keep-all;color:#65432d}.learning-intro{color:#75604d;font-size:13px;line-height:1.55;margin-top:7px;word-break:keep-all}.notebook-doodle{display:block;font-family:Georgia,serif;font-style:italic;color:#98744e;font-size:13px;margin-top:8px;letter-spacing:.3px}.notebook-doodle i{font-style:normal;margin-left:10px;font-size:19px;vertical-align:-2px}
.selected-lesson{margin:0 0 6px;position:relative}.selected-lesson>span:first-child{display:block;font-size:12px;color:#857560;margin-bottom:3px}.selected-lesson strong{display:block;font-size:16px;line-height:1.4;letter-spacing:-.4px;color:#64553f}.word-count{display:block;color:#8b765f;font-size:12px;margin-top:3px}
.primary-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;background:linear-gradient(#86aa66,#608b40);color:#fffef5;padding:9px 18px;border:1px solid #6b8c4b;border-radius:10px;box-shadow:inset 0 1px #ffffff70,0 3px 0 #46633333,0 5px 9px #56411817;font-weight:750;font-size:18px;text-align:center}.primary-button:hover{background:linear-gradient(#91b671,#709b4e)}.primary-button .icon{width:22px}.change-lesson{display:flex;justify-content:center;align-items:center;gap:9px;margin:0 auto;padding:4px;min-height:44px;font-size:13px;color:#80684e;text-underline-offset:4px}.change-lesson:hover{text-decoration:underline}.first-lesson-note{font-size:15px;line-height:1.6;color:#827d68;margin:0 0 12px}
.today-page{position:absolute;right:2.5%;bottom:calc(var(--menu-height) + 36px);width:clamp(195px,17vw,250px);padding:12px 16px 8px;z-index:3;transform:rotate(3deg);color:#6f7455;background:linear-gradient(120deg,#fffdf0,#fff2d3);border:1px solid #fff9;border-radius:10px 10px 9px 5px;box-shadow:1px 4px 0 #d5c59842,3px 10px 14px #5c461c2e}.today-title{display:block;font-size:18px;font-weight:750;letter-spacing:-.6px;margin-bottom:7px;color:#587849}.today-title small{display:none}.today-stat{display:flex;align-items:center;gap:8px;padding:3px 0;border-bottom:1px solid #c5bc9c40}.today-stat>.icon{width:17px;height:17px;color:#8c9073}.today-stat>span{display:flex;align-items:baseline;justify-content:space-between;flex:1;gap:8px}.today-stat small{font-size:13px;color:#75634d;white-space:nowrap}.today-stat strong{font-size:20px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.6px;line-height:1.3}.today-stat strong span{font-size:11px;font-weight:500;margin-left:3px;color:#8c856b}.today-link{display:flex;justify-content:space-between;align-items:center;font-size:12px;min-height:28px;margin-top:4px;color:#706d50}.today-page:hover .today-link{text-decoration:underline;text-underline-offset:4px}
.desk-menus{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,1.5vw,24px);position:absolute;left:50%;bottom:20px;transform:translateX(-50%);width:min(94%,1480px);z-index:5}.desk-menu{display:flex;flex-direction:column;align-items:stretch;position:relative;height:var(--menu-height);padding:0 17px 10px;border-radius:19px;border:1px solid #fffefa;box-shadow:inset 0 2px 3px #ffffffb3,inset 0 -2px 2px #7d75540d,0 3px 0 var(--edge),2px 7px 9px #68451a26;background:linear-gradient(130deg,var(--card-light),var(--card-dark));transition:transform .18s,filter .18s}.desk-menu:hover{transform:translateY(-4px);filter:brightness(1.03)}
.menu-library{--card-light:#f0fae9;--card-dark:#d9efca;--edge:#bed2ab;--menu-color:#82ac61}.menu-community{--card-light:#ffedf0;--card-dark:#f8d7e0;--edge:#e4bdc8;--menu-color:#e59aaa}.menu-ranking{--card-light:#fff8dc;--card-dark:#ffebbb;--edge:#e2cb92;--menu-color:#e8b54b}.menu-games{--card-light:#f0eafb;--card-dark:#ded4fa;--edge:#c1b2e1;--menu-color:#a98bdf}.menu-report{--card-light:#e8faff;--card-dark:#cceef8;--edge:#accfdb;--menu-color:#59aecb}
.menu-copy{min-width:0;position:relative;z-index:2}.menu-copy>strong{display:block;font-size:20px;font-weight:800;letter-spacing:-.8px;line-height:1.3;white-space:nowrap;color:#513f32}.menu-copy>span{display:block;font-size:13px;color:#796951;margin-top:5px;line-height:1.45;padding-right:26px;word-break:keep-all}.menu-arrow{position:absolute;right:13px;bottom:21px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--menu-color);color:#fffef3;font-size:24px;font-weight:500;box-shadow:inset 0 1px #fff5}
.menu-art{height:calc(var(--menu-height) - 80px);min-height:80px;display:block;position:relative;flex-shrink:0;pointer-events:none}.menu-object{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:110px;height:110px;background-image:url('/assets/service-scenes-v3/menu-objects-v3.png');background-size:300% 200%;background-repeat:no-repeat}.object-book{background-position:0 0}.object-chat{background-position:50% 0}.object-trophy{background-position:100% 0}.object-game{background-position:0 100%;margin-top:7px}.object-report{background-position:50% 100%;margin-top:7px}
/* V6 desktop: wider room view and compact controls; narrow-screen experiments stay below. */
@media(min-width:1101px){
  .desk-scene{--menu-height:clamp(90px,12.8svh,106px);--book-height:clamp(235px,32svh,300px);--book-top:calc(var(--scene-height) - 46px - var(--menu-height) - var(--book-height));background-image:url('/assets/service-scenes-v6/world-study-room-v6.png')}
  .room-message{left:17%;font-size:clamp(29px,2.4vw,39px)}
  .slime-room{left:48%}
  .slime-speech{left:50%;top:calc(var(--home-body-width,265px)*.266 - 98px);width:210px;max-width:none;transform:translateX(-50%);padding:10px 16px;font-size:15px;line-height:1.55;white-space:normal;word-break:keep-all}
  .slime-speech::after{left:48%;right:auto;bottom:-12px;transform:rotate(8deg)}
  .slime-caption{left:10%;top:calc(var(--home-body-width,265px)*.87 - 16px)}
  .slime-caption .small-button{min-height:28px}
  .desk-notebook{left:53.5%;width:clamp(530px,42vw,760px)}
  .learning-panel{gap:28px}
  .desk-menus{bottom:24px;width:min(94%,1440px);gap:clamp(12px,1.3vw,22px)}
  .desk-menu{flex-direction:row;align-items:center;gap:8px;padding:12px;border-radius:15px}
  .menu-art{width:56px;height:64px;min-height:0}
  .menu-object{width:80px;height:80px}
  .object-game,.object-report{margin-top:4px}
  .menu-copy{flex:1;padding-right:10px}
  .menu-copy>strong{font-size:18px}
  .menu-copy>span{font-size:12px;line-height:1.4;padding-right:0;margin-top:5px;white-space:nowrap}
  .menu-arrow{width:20px;height:20px;right:9px;bottom:9px;font-size:17px}
  .today-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px;width:clamp(230px,20vw,275px);padding:8px 14px 6px;bottom:calc(var(--menu-height) + 46px);transform:rotate(2deg)}
  .today-title{grid-column:1/-1;font-size:16px;line-height:20px;margin-bottom:0}
  .today-stat{display:block;padding:0;border:0;text-align:center}
  .today-stat>.icon{display:none}
  .today-stat>span{display:block}
  .today-stat small{display:block;font-size:12px;line-height:18px}
  .today-stat strong{display:block;font-size:20px;line-height:23px}
  .today-link{grid-column:1/-1;min-height:20px;line-height:18px;margin-top:0}
}
@media(min-width:1101px) and (max-height:800px){.notebook-doodle{display:none}}

/* Supporting routes stay inside the room. Their content is still a flow preview. */
#destination-view{min-height:100svh;padding:118px 6vw 35px;background:linear-gradient(#f4e4b845,#f4e4b845),url('/assets/service-scenes-v5/world-study-room-v5.png') center/cover fixed}#destination-content{max-width:1200px;min-height:670px;margin:auto;padding:32px 46px;background:#fffaf0f5;border:1px solid #fffc;border-radius:12px;box-shadow:2px 10px 30px #68451a44}.back-link{display:flex;width:max-content;gap:8px;align-items:center;min-height:38px;font-size:14px;color:#73805c;margin-bottom:17px}.back-link .icon{width:17px}.destination-heading{font-size:32px;letter-spacing:-1px;line-height:1.4;outline:none}.destination-lead{font-size:16px;line-height:1.8;color:#7c8374;margin-top:9px;word-break:keep-all}.preview-label{display:inline-block;font-size:12px;color:#8b744a;background:#f1e9d4;padding:4px 9px;border-radius:5px;margin-bottom:12px}.destination-notice{border-left:3px solid #bac89e;background:#f0f2e3;padding:13px 18px;margin:22px 0;color:#6e7964;font-size:14px;line-height:1.8}.lesson-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0}.lesson-card{border:1px solid #dddcc6;border-radius:12px;background:#fffff8;padding:23px;display:flex;flex-direction:column;gap:14px;box-shadow:0 3px 0 #bab99526}.lesson-card.is-selected{border-color:#96ad7c;background:#f1f4e4}.lesson-number{color:#909d7e;font-size:11px;letter-spacing:1px}.lesson-card h2{font-size:22px;letter-spacing:-.6px}.lesson-card p{font-size:14px;color:#818774}.lesson-card .small-button{margin-top:auto}.lesson-card .primary-button{font-size:14px;min-height:45px;padding:10px 14px}.selected-note{font-size:12px;color:#617d48;min-height:18px}.preparation{margin:35px auto 25px;max-width:650px;text-align:center}.preparation-icon{display:grid;place-items:center;background:#edf0de;color:#8f9f78;width:76px;height:76px;border-radius:23px;margin:0 auto 20px;transform:rotate(-5deg)}.preparation-icon .icon{width:38px;height:38px}.preparation h2{font-size:24px;letter-spacing:-.8px;margin-bottom:13px}.preparation p{font-size:16px;line-height:1.9;color:#818574;word-break:keep-all}.preparation .small-button{margin-top:22px}.destination-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.preparation .destination-actions{justify-content:center}.destination-actions .primary-button{font-size:16px;min-width:180px}.report-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.report-metric{padding:27px;background:#edf0df;border-radius:14px}.report-metric span{font-size:15px;color:#80886f;display:block}.report-metric strong{font-size:34px;display:block;margin-top:9px}.dress-preview{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:20px;align-items:center}.dress-stage{height:300px;display:grid;place-items:center;background:#ebefdc;border-radius:18px;position:relative}.dress-stage .slime-composition{max-width:100%}.dress-stage>button{position:absolute;inset:0;width:100%;background:none;border-radius:20px}.dress-options fieldset{border:0;margin:0 0 20px;padding:0}.dress-options legend{font-weight:650;font-size:16px;margin-bottom:12px}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice-row button{background:#f9f7e9;border:1px solid #dbddc6;border-radius:9px;padding:10px 15px;min-height:44px;font-size:14px}.choice-row button[aria-pressed=true]{background:#e7edcf;border-color:#869d6d;box-shadow:inset 0 0 0 1px #869d6d;color:#4b633b}.color-dot{width:12px;height:12px;display:inline-block;background:var(--swatch);border:1px solid #0001;border-radius:50%;margin-right:6px;vertical-align:-1px}.preview-tools{position:fixed;right:17px;bottom:13px;z-index:30;font-size:11px;color:#72755f}.preview-tools summary{cursor:pointer;list-style:none;padding:7px 13px;border-radius:20px;border:1px solid #d7d3bc;background:#fff9e8ed;box-shadow:0 2px 7px #4338241a}.preview-tools summary::-webkit-details-marker{display:none}.preview-tools[open] summary{background:#e5ebd4}.preview-tools>div{position:absolute;bottom:39px;right:0;width:270px;border:1px solid #e7e4d3;border-radius:12px;background:#fffdf4;padding:20px;box-shadow:0 10px 30px #392e2633}.preview-tools strong{display:block;font-size:13px;margin-bottom:14px}.preview-tools label{display:block;font-size:12px}.preview-tools select{display:block;width:100%;padding:9px;margin:7px 0 12px;border:1px solid #d8dcc6;border-radius:7px;background:#fffdf8;font-size:12px}.preview-tools button{padding:7px 0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:12px}.preview-tools p{font-size:11px;line-height:1.8;margin-top:10px;color:#999884}.noscript-note{position:fixed;bottom:0;left:0;right:0;padding:20px;text-align:center;background:var(--paper)}
@media(min-width:1600px){.login-stage{padding-left:22%}.login-card{width:430px;padding:43px 42px 32px}.login-friend{left:58%;top:42%}}
@media(max-width:1100px){
  .login-stage{padding-left:10%}.login-friend{left:53%;width:420px;top:44%}.login-motto{display:none}
  .app-header{flex-wrap:wrap;gap:6px 14px;padding:12px 22px 6px;min-height:112px}.app-header .brand{font-size:26px}.primary-nav{order:3;flex-basis:100%;justify-content:space-around;border:0;padding:0;gap:10px;background:none;font-size:14px}.primary-nav a{min-height:44px}
  .desk-scene{height:auto;min-height:100svh;padding:425px 28px 32px;background-image:linear-gradient(to bottom,transparent 320px,#efd8b5 580px),url('/assets/service-scenes-v5/world-study-room-v5.png');background-size:100% 100%,100% auto;background-position:center top;background-repeat:no-repeat}
  .room-message{display:none}.room-message span{margin-left:0}.room-message::after{margin-left:65px;width:120px}
  .slime-room{top:100px}.slime-speech{left:max(-145px,calc(24px - 50vw + var(--home-body-width)*.669));top:190px;width:205px;white-space:normal;word-break:keep-all;font-size:14px;padding:12px 14px}.slime-caption{top:calc(var(--home-body-width)*1.01);left:2%}
  .desk-notebook{position:relative;left:auto;top:auto;width:100%;max-width:800px;height:285px;transform:none;margin:0 auto}.learning-panel{gap:44px}.section-kicker{font-size:12px}#lesson-heading{font-size:28px}.learning-intro{font-size:14px}.selected-lesson>span:first-child,.word-count{font-size:13px}.selected-lesson strong{font-size:17px}.primary-button{min-height:50px}.change-lesson{font-size:14px}
  .today-page{position:relative;right:auto;bottom:auto;width:100%;max-width:800px;margin:24px auto 0;display:flex;align-items:center;gap:16px;padding:20px;transform:none;border-radius:12px}.today-title{font-size:18px;margin:0;max-width:132px}.today-stat{flex:1;padding:0;border:0}.today-stat>.icon{display:none}.today-stat>span{display:block;text-align:center}.today-stat small{font-size:13px}.today-stat strong{display:block;font-size:24px}.today-link{display:none}
  .desk-menus{position:relative;left:auto;bottom:auto;width:100%;max-width:800px;transform:none;margin:24px auto 0;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.desk-menu{grid-column:span 2;height:184px;padding:0 18px 14px}.desk-menu:nth-last-child(-n+2){grid-column:span 3}.menu-art{height:96px}.menu-object{width:120px;height:120px}.menu-copy>span{font-size:14px}.menu-arrow{bottom:24px}
  #destination-view{padding:150px 24px 30px;min-height:100svh}#destination-content{padding:28px;min-height:600px}.lesson-list{grid-template-columns:1fr}.lesson-card{padding:22px}.destination-heading{font-size:28px}.report-preview{gap:12px}.report-metric{padding:20px}
}
@media(max-width:700px){
  .room-background{background-position:62% center}.login-header{left:25px;top:26px}.login-header .brand{font-size:23px}.login-stage{padding:110px 22px 55px;align-items:center;min-height:100svh}.login-card{width:100%;max-width:405px;padding:30px;margin:auto}.login-friend{display:none}.login-card h1{font-size:27px}
  .app-header{position:relative;left:auto;right:auto;top:auto;border-radius:0;min-height:124px;padding:14px 18px 4px;gap:8px}.app-header .brand{font-size:24px}.app-header .brand-face{width:41px;height:38px}.app-header .brand-face i{left:17px;top:23px}.app-header .brand-face::before{left:11px;top:17px}.app-header .brand-face::after{right:11px;top:17px}.profile-button>span:last-child{display:none}.header-account{gap:8px}#preview-logout{font-size:12px;padding:8px}.primary-nav{font-size:13px;gap:8px;justify-content:space-between}.primary-nav a{padding:8px 0}.primary-nav .icon{display:none}
  .desk-scene{padding:315px 20px 30px;background-image:linear-gradient(to bottom,transparent 240px,#efd8b5 490px),url('/assets/service-scenes-v5/world-study-room-v5.png');background-size:100% 100%,auto 450px}.room-message{display:none}.slime-room{top:10px;transform:translateX(-50%)}.slime-speech{font-size:13px;left:50%;top:2px;width:186px;max-width:calc(50vw - 8px);transform:translateX(-15%);white-space:normal;padding:10px 12px}.slime-caption{left:3%;top:calc(var(--home-body-width)*1.01)}
  .desk-notebook{height:auto;min-height:330px;filter:none}.notebook-art{display:none}.learning-panel{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:330px;padding:24px 24px 20px;display:block;background:repeating-linear-gradient(transparent 0 31px,#aea38612 31px 32px),linear-gradient(100deg,#fff8e6,#fffbef);border:1px solid #fff9;border-radius:5px 12px 10px 5px;box-shadow:-4px 2px 0 #758257,-7px 4px 0 #5c694a,2px 7px 7px #67451f33}.section-kicker{font-size:11px;margin-bottom:8px}#lesson-heading{font-size:26px}#lesson-heading br{display:none}.learning-intro{font-size:14px;margin-top:8px}.notebook-doodle{display:none}.selected-lesson{margin:18px 0 12px}.selected-lesson strong{font-size:17px}.selected-lesson>span:first-child{font-size:13px}.word-count{font-size:13px}.primary-button{min-height:50px;font-size:18px}.change-lesson{font-size:14px;margin-top:4px}.first-lesson-note{font-size:15px;margin:17px 0}.first-lesson-note br{display:none}
  .today-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;padding:18px 14px}.today-title{grid-column:1/-1;max-width:none;text-align:center;font-size:17px}.today-stat small{font-size:12px}.today-stat strong{font-size:23px}
  .desk-menus{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}.desk-menu,.desk-menu:nth-last-child(-n+2){grid-column:auto;min-height:182px;height:auto;padding:0 13px 12px}.menu-art{height:89px}.menu-object{width:110px;height:110px}.menu-copy>strong{font-size:18px}.menu-copy>span{font-size:13px;line-height:1.45;padding-right:0}.menu-arrow{display:none}.desk-menu.menu-report{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:center;min-height:118px;height:118px;gap:15px}.menu-report .menu-art{width:110px;height:100px}.menu-report .menu-copy{min-width:140px}.menu-report .menu-arrow{display:grid;right:12px;bottom:40px}
  #destination-view{padding:22px 15px;min-height:calc(100svh - 130px)}#destination-content{padding:23px 20px;min-height:500px}.destination-heading{font-size:26px}.destination-lead{font-size:14px}.destination-notice{font-size:13px;padding:11px 13px}.preparation{margin-top:28px}.preparation h2{font-size:21px}.preparation p{font-size:14px}.dress-preview{grid-template-columns:1fr}.dress-stage{height:295px}.report-preview{grid-template-columns:1fr}.report-metric{display:flex;align-items:center;justify-content:space-between;padding:18px}.report-metric strong{margin:0;font-size:28px}.preview-tools{right:12px;bottom:10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.library-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:26px 0}.library-search{display:grid;gap:8px;color:#6e7964;font-size:14px}.library-search input{width:320px;padding:12px 16px;border:1px solid #bdc7a9;border-radius:9px;background:#fffef8;font:inherit}.library-count{margin-top:20px;color:#6e7964}.primary-button:disabled{background:#c0c5b4;color:#fff;cursor:default;box-shadow:none;border-color:#aab19b}

/* Neutral first paint: never show the login scene while resolving a home URL. */
body.is-booting .room-background,body.is-booting .preview-tools{display:none}

.account-loading,#collection-unavailable{position:fixed;z-index:5;top:20%;left:50%;transform:translateX(-50%);padding:24px 32px;border-radius:18px;background:#fffaf0;color:#49503d;box-shadow:0 6px 26px #59482c26}

.login-methods,.login-actions{display:flex;gap:6px;flex-wrap:wrap}
.login-methods{padding:4px;border:1px solid #d6d8c8;border-radius:10px;margin:0 0 20px}
.login-methods button{flex:1;padding:8px 4px;background:transparent;border-radius:7px;color:#56634c;font-size:13px}
.login-methods button[aria-pressed=true]{background:#536e45;color:#fff}
.login-actions{justify-content:center;align-items:center;gap:14px}
.login-actions button,.login-actions a{padding:4px 0;background:transparent;color:#415b37;text-decoration:underline;text-underline-offset:3px;font-size:13px}
#account-message:empty{margin:14px 0}
.account-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
