:root{color:#273d3b;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7f2;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}.page{min-height:100vh;padding:24px}.page--centered{place-items:center;display:grid}.hero-card{text-align:center;background:#ffffffc7;border:1px solid #e5eae5;border-radius:32px;width:min(100%,520px);padding:clamp(32px,8vw,72px) 28px 28px;box-shadow:0 24px 70px #3f81771a}.booki-orb{color:#fff;background:linear-gradient(145deg,#a6d5cb,#6aa99e);border-radius:46% 54% 52% 48%;place-items:center;width:112px;height:112px;margin:0 auto 28px;font-size:32px;display:grid;transform:rotate(-8deg);box-shadow:inset -10px -12px 20px #3f817724,0 16px 28px #3f81772e}.eyebrow{color:#3f8177;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:700}h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,8vw,3.6rem);line-height:1.16}.body-copy{color:#70817b;margin:22px 0 32px;line-height:1.7}.button{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible{outline-offset:4px;outline:3px solid #f4d6a5}.button--primary{color:#fff;background:#3f8177;box-shadow:0 10px 20px #3f817733}.button--secondary{color:#3f8177;background:#dceff3}.fine-print{color:#8a9994;max-width:32em;margin:24px auto 0;font-size:.76rem;line-height:1.5}.prototype-link{color:#3f8177;text-underline-offset:3px;margin-top:18px;font-size:.85rem;text-decoration:underline;display:block}.app-page,.room-page{min-height:100vh;padding:20px}.page-header{color:#3f8177;justify-content:space-between;align-items:center;width:min(100%,900px);margin:0 auto 20px;font-weight:700;display:flex}.page-header a{border-radius:999px;place-items:center;min-width:44px;min-height:44px;display:inline-grid}.page-header a:focus-visible,.choice-button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #f4d6a5}.create-layout{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);align-items:start;gap:24px;width:min(100%,900px);margin:0 auto;display:grid}.preview-panel,.form-panel,.room-card{background:#ffffffc7;border:1px solid #e5eae5;border-radius:28px;padding:28px}.preview-panel{background:radial-gradient(circle at 50% 40%,#dceff3,#fff 58%);align-content:center;place-items:center;min-height:430px;display:grid}.booki-character{filter:drop-shadow(0 18px 12px #3f817724);width:min(66vw,260px);height:auto}.preview-name{margin:10px 0 0;font-size:1.4rem;font-weight:700}.field-label,.choice-group legend{color:#3f8177;font-size:.85rem;font-weight:700}input{color:#273d3b;width:100%;min-height:48px;font:inherit;background:#fff;border:1px solid #d7e1dd;border-radius:14px;margin:8px 0 4px;padding:0 14px}.field-error{color:#a55f4a;margin:4px 0 12px;font-size:.85rem}.choice-group{border:0;margin:20px 0;padding:0}.choice-group legend{margin-bottom:8px}.choice-grid{flex-wrap:wrap;gap:8px;display:flex}.choice-button{color:#70817b;cursor:pointer;min-width:64px;min-height:42px;font:inherit;background:#fff;border:1px solid #d7e1dd;border-radius:12px;padding:0 12px}.choice-button.is-selected{color:#fff;background:#3f8177;border-color:#3f8177}.button--full{cursor:pointer;width:100%;font:inherit;border:0}.room-page{background:linear-gradient(#f6f7f2 0 40%,#e8f1e9 40% 100%)}.room-page--evening{background:linear-gradient(#dce5ed 0 40%,#dfe8e1 40% 100%)}.room-header-actions{gap:6px;display:flex}.room-header-actions button,.drawer-heading button{color:#3f8177;cursor:pointer;min-height:40px;font:inherit;background:#fffc;border:1px solid #d7e1dd;border-radius:999px;padding:0 12px;font-size:.78rem}.room-card{text-align:center;width:min(100%,520px);margin:5vh auto 0}.room-window{color:#e4b66b;background:#dceff3;border:5px solid #a9c7bd;border-bottom:0;border-radius:20px 20px 0 0;place-items:center;width:74px;height:54px;margin:0 auto -8px;font-size:1.5rem;display:grid}.character-stage{padding:12px 0 0}.room-card h1{font-size:clamp(1.8rem,8vw,2.8rem)}.room-message{color:#70817b;min-height:28px}.room-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.room-actions .button{cursor:pointer;font:inherit;border:0}.sanctuary-page{color:#273d3b;background:#e9f2ef;min-height:100svh;position:relative;overflow:hidden}.sanctuary-page--evening{color:#edf5f0;background:#293f48}.sanctuary-topbar{z-index:4;padding:max(14px, env(safe-area-inset-top)) 18px 14px;color:#3f8177;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.sanctuary-page--evening .sanctuary-topbar{color:#dceff3}.wordmark{letter-spacing:-.04em;font-size:1.2rem;font-weight:800}.visit-status{color:inherit;opacity:.74;align-items:center;gap:7px;font-size:.7rem;display:flex}.visit-status i{background:currentColor;border-radius:50%;width:7px;height:7px;display:block}.sanctuary-tools{gap:5px;display:flex}.sanctuary-tools button{min-width:40px;min-height:40px;color:inherit;cursor:pointer;font:inherit;background:#fff3;border:1px solid;border-radius:999px;font-size:.75rem}.sanctuary-scene{isolation:isolate;background:linear-gradient(#dceff3 0%,#edf6f3 52%,#c4dcca 52%,#b0cdb8 100%);place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.sanctuary-page--evening .sanctuary-scene{background:linear-gradient(#344e5a 0%,#526b72 52%,#6c836f 52%,#587060 100%)}.sanctuary-scene:before{content:"";z-index:-1;opacity:.35;background-image:radial-gradient(#fff 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0 0 48%}.scene-sun{color:#e7b96c;font-size:2rem;position:absolute;top:14%;right:18%}.scene-window{color:#fff;background:#bfe2e8;border:8px solid #a8c6bc;border-radius:22px;place-items:start end;width:min(48vw,250px);height:min(33vw,160px);padding:15px;display:grid;position:absolute;top:16%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 5px #ffffff52}.scene-window span{opacity:.7;font-size:1.6rem}.sanctuary-page--evening .scene-window{background:#465f76;border-color:#78969a}.scene-shelf{color:#7c5e40;letter-spacing:7px;border-bottom:8px solid #ad8e6c;padding:12px 18px;font-size:1.7rem;position:absolute;top:41%;left:8%}.scene-floor{background:#f7dbb28f;border-radius:50%;width:min(80vw,440px);height:17%;position:absolute;bottom:12%;transform:rotate(-3deg)}.scene-character{width:min(48vw,250px);position:absolute;bottom:21%;left:50%;transform:translate(-50%)}.scene-character .booki-character{width:100%}.scene-nameplate{color:#3f8177;justify-items:center;gap:2px;display:grid;position:absolute;bottom:15%;left:50%;transform:translate(-50%)}.scene-nameplate span{opacity:.75;font-size:.72rem}.sanctuary-page--evening .scene-nameplate{color:#dceff3}.scene-message{color:#3f8177;text-align:center;background:#ffffffd1;border:1px solid #ffffffb3;border-radius:18px;max-width:min(80vw,300px);padding:10px 14px;font-size:.78rem;position:absolute;bottom:30%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #3f81771a}.sanctuary-page--evening .scene-message{color:#405b62}.ritual-dock{z-index:3;right:50%;bottom:max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border:1px solid #ffffffa6;border-radius:999px;gap:6px;padding:8px;display:flex;position:absolute;transform:translate(50%);box-shadow:0 12px 35px #273d3b1f}.ritual-dock button{color:#3f8177;cursor:pointer;width:60px;min-height:58px;font:inherit;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.ritual-dock button:hover,.ritual-dock button:focus-visible{background:#e8f1e9;outline:none}.ritual-dock span{font-size:1.2rem}.ritual-dock small{font-size:.62rem}.ritual-dock .ritual-primary{color:#fff;background:#3f8177;box-shadow:0 5px 12px #3f817738}.ritual-dock .ritual-primary:hover{background:#2f7067}.world-link{min-height:40px;color:inherit;background:#fff3;border:1px solid;border-radius:999px;align-items:center;padding:0 12px;font-size:.72rem;display:inline-flex}.sanctuary-drawer{z-index:5;width:min(92vw,370px);margin:0;position:absolute;bottom:96px;right:18px;box-shadow:0 18px 50px #273d3b29}.world-page{background:#eaf4ef;width:100%;height:100svh;position:relative;overflow:hidden}.world-canvas{position:absolute;inset:0}.world-ui{z-index:2;pointer-events:none;position:absolute;inset:0}.world-back{top:max(16px, env(safe-area-inset-top));color:#3f8177;pointer-events:auto;background:#fffd;border-radius:999px;align-items:center;min-height:44px;padding:0 14px;font-weight:700;display:inline-flex;position:absolute;left:16px}.world-status{top:max(16px, env(safe-area-inset-top));color:#273d3b;background:#fffd;border-radius:16px;max-width:min(70vw,420px);margin:0;padding:10px 14px;font-size:.8rem;line-height:1.4;position:absolute;left:50%;transform:translate(-50%)}.world-help{right:16px;bottom:max(16px, env(safe-area-inset-bottom));color:#536d65;background:#fffc;border-radius:999px;margin:0;padding:10px 14px;font-size:.72rem;position:absolute}.decor-layer{width:min(100%,360px);height:30px;margin:-12px auto 0;position:relative}.decor-item{font-size:1.4rem;position:absolute}.decor-item--left{left:8%}.decor-item--center{left:46%}.decor-item--right{right:8%}.room-drawer{text-align:left;background:#fffffff2;border:1px solid #dce5df;border-radius:20px;margin-top:18px;padding:16px}.drawer-heading{justify-content:space-between;align-items:center;display:flex}.room-drawer p,.invite-panel p{color:#70817b;font-size:.82rem;line-height:1.55}.decor-options{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.decor-options button{color:#536d65;cursor:pointer;min-height:62px;font:inherit;text-align:left;background:#fff;border:1px solid #e5eae5;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;display:flex}.decor-options button.is-placed{background:#e8f1e9;border-color:#7fb8ad}.decor-options button:first-letter{font-size:1.4rem}.decor-options button.is-locked{cursor:not-allowed;opacity:.55}.modal-backdrop{z-index:10;background:#273d3b47;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.invite-panel{background:#fff;border-radius:26px;width:min(100%,420px);padding:28px;position:relative;box-shadow:0 24px 80px #273d3b33}.invite-panel h2{margin:0;font-size:1.5rem;line-height:1.25}.modal-close{color:#70817b;cursor:pointer;background:#f6f7f2;border:0;border-radius:50%;width:40px;height:40px;font-size:1.4rem;position:absolute;top:16px;right:16px}.invite-link{overflow-wrap:anywhere;color:#3f8177;background:#edf6f3;border-radius:12px;margin:18px 0 12px;padding:12px;font-size:.76rem}.invite-note{margin-bottom:0;font-size:.72rem!important}.prototype-page{background:#f6f7f2;min-height:100vh;padding:20px}.prototype-intro{width:min(100%,900px);margin:32px auto}.prototype-intro h1{max-width:8em;font-size:clamp(2.3rem,7vw,4rem)}.prototype-intro>p:last-child{color:#70817b;max-width:38em;line-height:1.7}.prototype-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;width:min(100%,900px);margin:0 auto;display:grid}.prototype{background:#fff;border:1px solid #dce5df;border-radius:28px;min-height:680px;overflow:hidden;box-shadow:0 16px 40px #3f817714}.prototype--room{background:linear-gradient(#edf6f3 0 48%,#fbfaf5 48%)}.prototype--dashboard{background:#fbfaf5}.prototype-label{color:#3f8177;letter-spacing:.08em;text-transform:uppercase;background:#ffffffc7;padding:14px 18px;font-size:.75rem;font-weight:800}.prototype-topbar{color:#70817b;justify-content:space-between;padding:18px 20px 10px;font-size:.78rem;display:flex}.prototype-room-scene{align-content:center;place-items:center;min-height:290px;display:grid;position:relative}.prototype-room-scene .booki-character{width:170px}.prototype-window{color:#dda962;background:#dceff3;border:4px solid #9dc2b8;border-bottom:0;border-radius:15px 15px 0 0;place-items:center;width:70px;height:48px;display:grid;position:absolute;top:18px}.prototype-speech{color:#3f8177;background:#fff;border-radius:14px;padding:9px 12px;font-size:.78rem;position:absolute;top:56%;right:18%;box-shadow:0 5px 12px #3f817714}.prototype-observation,.prototype-secondary,.dashboard-next{background:#ffffffe6;border:1px solid #e5eae5;border-radius:20px;margin:0 18px 12px;padding:18px}.mini-label{color:#7b9088;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.7rem;font-weight:800}.prototype h2{letter-spacing:-.03em;margin:0;font-size:1.2rem}.prototype p{color:#70817b;font-size:.82rem;line-height:1.55}.prototype-cta{color:#fff;cursor:pointer;width:100%;min-height:44px;font:inherit;background:#3f8177;border:0;border-radius:999px;font-weight:700}.prototype-secondary{background:0 0;border:0;gap:8px;padding:0;display:flex}.prototype-secondary button{color:#3f8177;cursor:pointer;min-height:42px;font:inherit;background:#fff;border:1px solid #d7e1dd;border-radius:12px;flex:1;font-size:.75rem}.prototype-nav{color:#9aa9a3;text-align:center;background:#ffffffdb;border-top:1px solid #e5eae5;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:22px;padding:14px 12px 12px;display:grid}.prototype-nav span{justify-items:center;gap:3px;font-size:1rem;display:grid}.prototype-nav small{font-size:.65rem}.prototype-nav .active{color:#3f8177}.dashboard-summary{background:#dceff3;border-radius:20px;justify-content:space-between;align-items:center;margin:12px 18px;padding:18px;display:flex}.dashboard-summary .booki-character{width:82px}.dashboard-summary p{margin:5px 0 0}.metric-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 18px 20px;display:grid}.metric-card{background:#fff;border:1px solid #e5eae5;border-radius:16px;align-content:center;gap:4px;min-height:112px;padding:14px;display:grid}.metric-card span{color:#70817b;font-size:.72rem}.metric-card strong{font-size:1.25rem}.metric-card small{color:#9aa9a3;font-size:.68rem}.review-questions{background:#e8f1e9;border-radius:22px;width:min(100%,900px);margin:28px auto 60px;padding:24px}.review-questions h2{margin-top:0}.question-list{grid-template-columns:repeat(2,1fr);gap:8px 24px;display:grid}.question-list p{color:#536d65;font-size:.9rem;line-height:1.6}.question-list b{color:#273d3b;display:block}@media (width<=680px){.create-layout{grid-template-columns:1fr}.preview-panel{min-height:300px}.form-panel{padding:22px}}@media (width<=760px){.prototype-grid{grid-template-columns:1fr}.prototype{min-height:auto}.question-list{grid-template-columns:1fr}}@media (width<=560px){.visit-status{display:none}.scene-window{top:20%}.scene-character{width:min(54vw,220px);bottom:23%}.scene-message{bottom:36%}.scene-shelf{font-size:1.4rem;top:43%;left:3%}.ritual-dock button{width:54px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.world-care{top:max(16px, env(safe-area-inset-top));color:#fff;pointer-events:auto;background:#3f8177;border-radius:999px;align-items:center;min-height:44px;padding:0 14px;font-weight:700;display:inline-flex;position:absolute;right:16px}.care-page{color:#273d3b;background:#f6f7f2;min-height:100vh;padding:20px}.care-page .page-header,.care-intro,.care-actions,.care-today,.care-world-link{width:min(100%,640px)}.care-intro{margin:42px auto 24px}.care-intro h1{font-size:clamp(2.4rem,10vw,4rem)}.care-intro>p:not(.eyebrow){color:#70817b;max-width:32em;line-height:1.7}.reward-balance{background:#fff;border:1px solid #e5eae5;border-radius:20px;align-items:baseline;gap:8px;margin-top:28px;padding:16px 18px;display:flex}.reward-balance span:first-child{color:#d69b42;font-size:1.4rem}.reward-balance strong{font-size:1.5rem}.reward-balance small{color:#70817b;font-size:.8rem}.balance-divider{background:#e5eae5;width:1px;height:24px;margin:0 8px}.care-actions{gap:10px;margin:0 auto;display:grid}.care-action-card{color:#273d3b;cursor:pointer;text-align:left;min-height:80px;font:inherit;background:#fff;border:1px solid #e5eae5;border-radius:20px;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.care-action-card:hover,.care-action-card:focus-visible{outline-offset:2px;border-color:#7fb8ad;outline:3px solid #dceff3}.care-icon{background:#e8f1e9;border-radius:16px;place-items:center;width:48px;height:48px;font-size:1.5rem;display:grid}.care-action-card strong,.care-action-card small{display:block}.care-action-card small{color:#70817b;margin-top:4px;font-size:.78rem}.care-action-card em{color:#3f8177;font-size:.82rem;font-style:normal;font-weight:800}.care-notice{color:#3f8177;background:#dceff3;border-radius:14px;width:min(100%,640px);margin:16px auto;padding:12px 16px;font-size:.85rem}.care-today{background:#e8f1e9;border-radius:20px;justify-content:space-between;gap:16px;margin:28px auto 18px;padding:18px;display:flex}.care-today h2{margin:0;font-size:1.15rem}.care-today>p{color:#536d65;text-align:right;margin:0;font-size:.78rem;line-height:1.5}.care-world-link{border:0;margin:0 auto;display:flex}@media (width<=520px){.care-today{display:block}.care-today>p{text-align:left;margin-top:12px}}
