:root{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;color:#413b39;background:#fff9ef;font-synthesis:none}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 95% -5%,#fdf0cf 0,transparent 34%),#fff9ef}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:4px solid #387b89;outline-offset:4px}.hidden{display:none!important}#app{max-width:1000px;margin:0 auto;min-height:100dvh;padding:0 clamp(16px,4vw,40px);display:flex;flex-direction:column}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:clamp(20px,2.4vw,27px);letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:#e6f1d7;color:#527a50;border-radius:15px;font-size:28px}.parent-link{background:#fff;border:1.5px solid #e3d7c6;border-radius:100px;color:#5d534c;font-size:14px;font-weight:700;padding:11px 16px;min-height:50px}main{flex:1}.intro{position:relative;margin:10px 0 30px;padding:10px 10px 0}.eyebrow{font-size:14px;font-weight:700;color:#7a7f5b;letter-spacing:.09em}.intro h1{font-weight:900;font-size:clamp(38px,6.8vw,68px);line-height:1.33;letter-spacing:.025em;margin:10px 0}.intro h1 span{color:#507a61}.subline{font-size:clamp(16px,2.1vw,20px);font-weight:700;color:#81756a;margin:8px 0}.sun{position:absolute;right:9%;top:26px;font-size:68px;color:#f1c56c;transform:rotate(-10deg);pointer-events:none}.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game-card{background:white;border:2px solid #f0e6d9;border-radius:27px;padding:13px;text-align:left;min-height:294px;display:flex;flex-direction:column;box-shadow:0 7px 0 #efe7d9;transition:transform .14s,box-shadow .14s}.game-card:active{transform:translateY(4px);box-shadow:0 3px 0 #efe7d9}.game-visual{height:184px;width:100%;display:grid;place-items:center;border-radius:19px;overflow:hidden}.game-visual svg{width:100%;height:100%}.rolling-card .game-visual{background:#e7f0e5}.food-card .game-visual{background:#fff0da}.story-card .game-visual{background:#e5eff2}.game-copy{padding:15px 6px 10px;display:grid;gap:6px}.game-title{font-weight:900;font-size:clamp(18px,2.15vw,23px);letter-spacing:-.025em}.game-title span{font-size:19px;color:#927d6b}.game-desc{font-weight:700;color:#837b72;font-size:13px}.home-note{margin:35px 0 25px;color:#8a8278;text-align:center;font-size:14px}.home-note span{color:#e39786}.footer{text-align:center;color:#aca093;font-size:12px;padding:24px 0 30px}.play-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 18px}.back-button,.audio-button{min-height:51px;padding:10px 16px;border:1.5px solid #e4d6c7;background:#fff;border-radius:100px;color:#65574e;font-weight:700}.time-pill{border-radius:100px;background:#e9efdf;color:#547054;padding:8px 14px;font-weight:700;font-size:14px}.play-heading{text-align:center;font-size:clamp(27px,5vw,42px);margin:6px 0 8px}.instruction{text-align:center;color:#6f675f;font-size:clamp(16px,2.5vw,21px);font-weight:700;min-height:34px;margin:8px 0 19px}.play-area{border:2px solid #ebddca;background:#fffcf6;min-height:320px;border-radius:30px;padding:clamp(12px,3vw,26px);position:relative;overflow:hidden}.play-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding:22px 0}.primary-button,.choice-button{border:0;background:#53866a;color:#fff;border-radius:20px;padding:16px 25px;min-height:60px;font-size:19px;font-weight:900;box-shadow:0 4px 0 #32604b}.primary-button:active,.choice-button:active{transform:translateY(3px);box-shadow:0 1px 0 #32604b}.secondary-button{background:#fff;border:2px solid #d9cbbc;border-radius:18px;padding:15px 22px;min-height:60px;color:#504a44;font-size:17px;font-weight:800}.rolling-scene{max-width:710px;margin:0 auto}.rolling-scene svg{width:100%;height:auto;display:block}.slope-choices{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.slope-button{min-height:65px;min-width:90px;background:#fff;border:2px solid #e6d7c7;border-radius:18px;padding:10px 17px;font-weight:800;color:#5d5149}.slope-button[aria-pressed="true"]{background:#e8f2e5;border-color:#588b72}.scene-note{text-align:center;font-size:15px;color:#887969;margin:10px}.food-scene{display:grid;gap:18px}.guest-list{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.guest{border:3px solid transparent;min-width:100px;min-height:98px;border-radius:22px;background:#f1f4e9;display:flex;align-items:center;flex-direction:column;justify-content:center;font-size:44px}.guest span{font-size:14px;font-weight:800}.guest[aria-pressed="true"]{border-color:#639875;background:#e4f2e0}.plate{margin:0 auto;min-height:128px;width:min(100%,380px);background:white;border:9px solid #f0e1cb;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:19px 24px}.plate .food-icon{font-size:44px}.plate-placeholder{font-weight:800;color:#a0968c}.food-options{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.food-option{background:#fff;border:2px solid #efdec7;border-radius:19px;min-width:83px;min-height:85px;font-size:34px}.food-option span{display:block;font-size:13px;font-weight:700;color:#6d635c}.food-message{text-align:center;font-size:18px;font-weight:800;color:#56765a;min-height:28px}.story-scene{max-width:720px;margin:0 auto;text-align:center}.story-picture{background:linear-gradient(175deg,#e3f1f4 5%,#fdf4e3 80%);min-height:220px;border-radius:24px;display:grid;place-items:center}.story-picture svg{width:min(100%,470px);height:auto}.story-line{font-size:clamp(20px,3.1vw,28px);line-height:1.8;font-weight:800;max-width:590px;margin:22px auto}.story-choices{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.story-response{font-weight:700;color:#507c73;margin:16px auto}.finish-page{text-align:center;padding:12vh 20px}.finish-art{font-size:108px}.finish-page h1{font-size:clamp(30px,5vw,48px)}.finish-page p{font-size:21px;line-height:1.9;color:#736960}.parent-dialog{max-width:560px;width:calc(100% - 30px);max-height:calc(100dvh - 32px);border:0;border-radius:30px;padding:28px;background:#fffdf8;color:#4b433d;box-shadow:0 20px 80px #33291b33}.parent-dialog::backdrop{background:#2f392e88}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top h2{font-size:26px;margin:0}.close-button{width:48px;height:48px;background:#f3eee5;border:0;border-radius:50%;font-size:30px}.adult-copy,.fineprint{line-height:1.7;color:#776c62}.parent-dialog fieldset{border:0;margin:24px 0;padding:0}.parent-dialog legend{font-weight:800;margin-bottom:12px}.option-row{display:flex;gap:9px}.option-row label{flex:1;position:relative}.option-row input{position:absolute;inset:0;opacity:0}.option-row span{display:grid;place-items:center;min-height:54px;background:#f5f0e8;border:2px solid transparent;border-radius:17px;font-size:17px;font-weight:900}.option-row input:checked+span{background:#e1efe3;border-color:#588969}.option-row input:focus-visible+span{outline:4px solid #387b89;outline-offset:3px}.voice-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #e5ded4;font-weight:800}.voice-row small{color:#80766d;font-weight:400}.voice-row input{width:28px;height:28px;accent-color:#518369}.wide{width:100%;margin-top:12px}.fineprint{font-size:13px}.play-area .notice{max-width:520px;text-align:center;margin:20px auto;color:#74665d;font-size:18px}@media(max-width:740px){.site-header{height:76px}.games{grid-template-columns:1fr;gap:13px}.intro{margin:7px 0 22px}.intro h1{font-size:clamp(34px,9vw,52px)}.sun{right:4%;font-size:46px;top:21px}.game-card{min-height:156px;flex-direction:row;align-items:center;padding:10px;box-shadow:0 4px 0 #efe7d9;border-radius:22px}.game-visual{width:42%;height:132px;flex-shrink:0}.game-copy{padding:9px 12px;gap:7px}.game-title{font-size:clamp(18px,4.2vw,24px)}.game-desc{line-height:1.4}.play-area{min-height:285px}.site-header .parent-link{font-size:12px;padding:10px}.time-pill{font-size:11px;padding:8px}.back-button,.audio-button{padding:10px;font-size:13px}.food-option{min-width:72px;min-height:79px}.story-picture{min-height:160px}}@media(max-width:370px){.brand{font-size:18px}.brand-mark{width:34px;height:34px}.sun{display:none}.game-visual{width:38%}.game-copy{padding:6px}.game-desc{font-size:12px}.play-toolbar{gap:5px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* Marble workshop: generous child-sized touch controls, creative construction, calm response. */
.play-area:has(.workshop-wrap){padding:14px;background:#fdf8ee;overflow:visible}
.workshop-wrap{width:100%;max-width:820px;margin:0 auto}
.workshop-scene-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:3px 0 14px;align-items:center;justify-content:center}
.workshop-scene{min-height:51px;padding:10px 18px;border:2px solid #e6d9c7;border-radius:30px;background:#fff;white-space:nowrap;color:#695a4e;font-size:15px;font-weight:800}
.workshop-scene[aria-pressed=true]{border-color:#77a88a;background:#e1efe3;color:#315b44}
.workshop-board-frame{border:3px solid #e9d5b5;border-radius:24px;overflow:hidden;box-shadow:inset 0 2px 10px #8e684a16;background:#e8f1e5;touch-action:none}
.workshop-board{display:block;width:100%;height:auto;max-height:490px;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none}
.workshop-part{cursor:grab;outline:none}
.workshop-part:active{cursor:grabbing}
.workshop-hint{text-align:center;font-weight:800;font-size:15px;color:#74806f;margin:12px auto 19px}
.workshop-label{font-size:21px;font-weight:900;text-align:center;letter-spacing:.03em;margin:8px 0 14px;color:#584d44}
.workshop-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.toy-tool{border:2px solid #ddcdbb;border-radius:19px;min-height:80px;background:#fffdf7;color:#6d584a;font-weight:900;font-size:17px;display:grid;place-items:center;padding:8px;box-shadow:0 3px 0 #e8dccc}
.toy-tool[aria-pressed=true]{background:#e4f0df;border:3px solid #78a886;box-shadow:0 3px 0 #c3dcc4;color:#385e4c}
.toy-tool:active,.workshop-small:active{transform:translateY(2px)}
.workshop-palette-end{display:flex;justify-content:center;margin:13px 0 12px}
.workshop-small{border:2px solid #dfd1c1;background:#fff;border-radius:16px;min-height:51px;min-width:51px;padding:9px 15px;color:#594d43;font-size:15px;font-weight:900}
.workshop-small:disabled{opacity:.4;cursor:not-allowed}
.workshop-small.muted{background:#f7f2e9;color:#776e66}
.workshop-small.place-tool{min-width:180px;background:#faf0dc}
.workshop-edit{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;background:#edf4e9;border-radius:18px;margin:9px 0}
.workshop-edit:not(:empty){padding:14px}
.edit-hint{color:#59705c;font-weight:800;font-size:13px;flex-basis:100%;text-align:center}
.workshop-utilities{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:17px 0 0}
.workshop-message{text-align:center;min-height:27px;color:#50745e;font-size:15px;font-weight:800;line-height:1.6;margin:17px 5px 8px}
.workshop-launch{min-width:min(92vw,300px);font-size:23px;border-radius:24px;min-height:72px;background:#51896e;box-shadow:0 5px 0 #376a53}
#play:has(.workshop-wrap) .play-actions{position:static;z-index:auto;background:transparent;border:0;padding:10px 0 20px;margin:10px auto;max-width:350px;box-shadow:none;backdrop-filter:none}
@media(max-width:740px){
  #play:has(.workshop-wrap) .play-heading{font-size:27px}
  #play:has(.workshop-wrap) .instruction{font-size:15px;min-height:auto}
  .play-area:has(.workshop-wrap){padding:10px;border-radius:22px}
  .workshop-board-frame{border-radius:16px;border-width:2px}
  .workshop-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .toy-tool{min-height:67px;font-size:15px}
  .workshop-launch{min-height:65px}
  .workshop-hint{font-size:13px}
  .workshop-scene{padding:9px 12px;font-size:13px;min-height:48px}
  .workshop-edit{gap:6px}
  .workshop-small{font-size:14px;padding:8px 11px}
}
