:root{font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#25253d;background:#eeeaff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--purple: #765fde;--purple-strong: #634ad6;--purple-soft: #e7e1ff;--pink: #ff6170;--green: #87d34c;--blue: #75c7ff;--orange: #ffc388;--ink: #25253d;--muted: #71728a;--line: rgba(37, 37, 61, .12);--panel: #ffffff;--bg: #eeeaff;--shadow: 0 16px 38px rgba(68, 54, 130, .18)}*{box-sizing:border-box}html,body,#root{min-width:360px;min-height:100%;margin:0;background:var(--bg)}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,p{margin:0}h1{font-size:clamp(30px,4vw,52px);line-height:1.05;font-weight:950;letter-spacing:0}h2{font-size:24px;line-height:1.15;font-weight:950;letter-spacing:0}p,span,strong,small,button,input,li{min-width:0;overflow-wrap:anywhere;letter-spacing:0}.appShell{min-height:100vh;padding:20px;background:radial-gradient(circle at top left,rgba(255,255,255,.8),transparent 28%),var(--bg)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1180px,100%);margin:0 auto 18px;padding:12px;border-radius:26px;background:#ffffffd1;box-shadow:var(--shadow)}.loginLayout{display:grid;gap:22px;width:min(980px,100%);margin:0 auto;padding-top:min(8vh,72px)}.loginHero,.loginCard{border-radius:30px;background:#fff;box-shadow:var(--shadow)}.loginHero{display:grid;gap:10px;padding:28px}.loginError{margin-top:6px;padding:12px 14px;border-radius:18px;background:#fee;color:#d5260e;font-weight:900}.loginHero p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.4}.loginCards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.loginCard{display:grid;gap:16px;align-content:start;padding:22px}.loginCard>svg{color:var(--purple)}.loginCard label{display:grid;gap:8px;font-weight:950}.authModeSwitch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border-radius:22px;background:#ececf1}.authModeSwitch button{min-height:40px;border-radius:18px;background:transparent;color:var(--muted);font-weight:950}.authModeSwitch .isSelected{background:#fff;color:var(--purple-strong);box-shadow:inset 0 0 0 2px var(--purple-soft)}.loginCard input{width:100%;min-height:56px;padding:0 16px;border:2px solid var(--line);border-radius:20px;outline:none;background:#f8f7ff;color:var(--ink);font-weight:850}.loginCard input:focus{border-color:var(--purple);box-shadow:0 0 0 4px var(--purple-soft)}.brandButton{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 18px;border-radius:28px;background:#fff;color:var(--ink);font-size:18px;font-weight:950}.brandMark{display:grid;place-items:center;width:36px;height:36px;border-radius:18px;background:var(--pink);color:#fff}.roleSwitch{display:inline-grid;grid-template-columns:1fr;gap:6px;padding:6px;border-radius:28px;background:#ececf1;width:max-content}.roleSwitch button{min-height:48px;padding:0 18px;border-radius:24px;background:transparent;color:var(--muted);font-size:17px;font-weight:950}.roleSwitch .isSelected{background:var(--purple-soft);color:var(--purple-strong);box-shadow:inset 0 0 0 2px var(--purple)}.sessionBadges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sessionBadges span{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;border-radius:22px;background:#fff;color:var(--ink);font-weight:950}.childLayout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;width:min(1180px,100%);margin:0 auto}.drawingBoard,.kidTools,.panel,.parentHero{border-radius:28px;background:var(--panel);box-shadow:var(--shadow)}.drawingBoard{display:grid;gap:14px;min-width:0;padding:18px}.taskBubble{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:22px;background:var(--purple-soft)}.taskBubble>span{display:grid;place-items:center;width:42px;height:42px;border-radius:21px;background:var(--purple);color:#fff}.taskBubble p{color:var(--purple-strong);font-size:15px;font-weight:950;text-transform:uppercase}.taskBubble strong{display:block;margin-top:2px;font-size:clamp(20px,2.4vw,30px);line-height:1.1}.roundHelp{display:grid;place-items:center;width:48px;height:48px;border-radius:24px;background:#fff;color:var(--purple);box-shadow:inset 0 0 0 2px var(--purple-soft)}.drawingStage{position:relative;aspect-ratio:4093 / 2894;max-height:min(68vh,680px);overflow:hidden;border-radius:28px;background:#fff;isolation:isolate}.stageArt,.drawingCanvas{position:absolute;inset:0;width:100%;height:100%}.stageArt{z-index:0;object-fit:cover;pointer-events:none}.drawingCanvas{z-index:1;display:block;opacity:1;background:transparent;pointer-events:auto;touch-action:none;cursor:crosshair}.drawHint{position:absolute;right:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 16px;border-radius:26px;background:#fff;color:var(--purple);font-size:18px;font-weight:950;box-shadow:var(--shadow);pointer-events:none}.softOverlay{position:absolute;inset:0;z-index:3;display:grid;place-items:center;align-content:center;gap:12px;padding:24px;background:#ffffffb8;color:var(--ink);font-size:24px;font-weight:950;text-align:center}.reviewOverlay{background:#ffffffe0;backdrop-filter:blur(2px)}.reviewOverlay span{padding:14px 20px;border-radius:999px;background:#fff;color:var(--purple-strong);box-shadow:var(--shadow)}.progressRow{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:12px;align-items:center;font-weight:950}.progressTrack,.smallTrack{height:18px;overflow:hidden;border-radius:999px;background:#e5e5ea}.progressTrack span,.smallTrack span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .2s ease}.kidTools{display:grid;align-content:start;gap:18px;padding:18px}.eyebrow{color:var(--purple);font-size:13px;line-height:1.2;font-weight:950;text-transform:uppercase}.toolBlock{display:grid;gap:10px}.bigToggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;border-radius:28px;background:#eeeef2}.bigToggle button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;border-radius:24px;background:transparent;color:var(--ink);font-size:17px;font-weight:950}.bigToggle .isSelected{background:var(--purple-soft);color:var(--purple-strong);box-shadow:inset 0 0 0 2px var(--purple)}.paletteGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.swatch{aspect-ratio:1;min-height:64px;border:4px solid #fff;border-radius:24px;box-shadow:inset 0 0 0 1px #25253d1f,0 8px 20px #25253d29}.swatch.isSelected{outline:4px solid var(--purple-soft);box-shadow:0 0 0 3px var(--purple),0 12px 26px #25253d2e}.sizeControl,.timerControl{display:grid;gap:8px;font-weight:950}.sizeControl input,.timerControl input{width:100%;accent-color:var(--purple)}.hintBox{display:flex;gap:10px;padding:14px;border-radius:20px;background:#f8f7ff;color:var(--muted)}.hintBox svg{flex:0 0 auto;color:var(--purple)}.hintBox strong{display:block;color:var(--ink)}.actionStack{display:grid;gap:10px}.primaryButton,.secondaryButton,.dangerButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;padding:0 18px;border-radius:28px;font-size:17px;font-weight:950;text-align:center;white-space:normal}.primaryButton{background:var(--purple);color:#fff}.secondaryButton{background:var(--purple-soft);color:var(--purple-strong)}.dangerButton{background:#fee;color:#d5260e}.miniStatus{padding:10px;border-radius:18px;background:#f5f6f7;color:var(--muted);font-weight:850;text-align:center}.parentLayout{width:min(1180px,100%);margin:0 auto}.parentHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;margin-bottom:18px}.parentHero p:not(.eyebrow){margin-top:8px;color:var(--muted);font-size:18px}.parentGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:18px;align-items:start}.dashboardColumn{display:grid;align-content:start;gap:18px;min-width:0}.panel{display:grid;align-self:start;gap:12px;padding:16px;border-radius:24px}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.panelHeader span{display:grid;place-items:center;width:34px;height:34px;border-radius:17px;background:var(--purple-soft);color:var(--purple)}.panelHint{color:var(--muted);font-size:14px;line-height:1.35}.stageList,.playerList,.modeList{display:grid;gap:10px}.stageList{max-height:430px;overflow:auto;padding-right:4px}.modeCard{display:grid;gap:6px;min-height:86px;padding:14px;border:2px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);text-align:left}.modeCard.isSelected{border-color:var(--purple);background:var(--purple-soft)}.modeCard small{color:var(--muted);line-height:1.3}.stageCard{display:grid;grid-template-columns:72px minmax(0,1fr) max-content;gap:12px;align-items:center;min-height:74px;padding:9px 12px 9px 9px;border:2px solid var(--line);border-radius:16px;background:#fbfaff;color:var(--ink);text-align:left}.stageCard.isSelected{border-color:var(--purple);background:linear-gradient(0deg,#765fde1a,#765fde1a),#fff}.stageCard img{width:72px;height:54px;border-radius:12px;object-fit:cover;box-shadow:inset 0 0 0 1px #25253d14}.stageCard small{display:block;margin-top:4px;color:var(--muted);line-height:1.25}.stageCard em{justify-self:end;color:var(--purple);font-style:normal;font-weight:950;white-space:nowrap}.playerList article{display:grid;grid-template-columns:82px minmax(70px,1fr) auto auto 34px;gap:10px;align-items:center;padding:10px;border-radius:16px;background:#f8f7ff}.playerStars{color:#ffb703;font-weight:950;white-space:nowrap}.iconAction{display:grid;place-items:center;width:34px;height:34px;border-radius:17px;background:#fff;color:var(--purple)}.smallTrack{height:10px}.statusBadge{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:14px;font-size:12px;font-weight:950}.statusBadge.waiting{background:#fff3e7;color:#a14f00}.statusBadge.drawing{background:#eef8ff;color:#146da1}.statusBadge.approved{background:#e7f6db;color:#31720b}.statusBadge.hidden{background:#fee;color:#d5260e}.toggleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 14px;border-radius:20px;background:#f8f7ff;font-weight:950}.toggleRow input{width:24px;height:24px;accent-color:var(--purple)}.qrCard{display:grid;place-items:center;gap:6px;padding:12px;border-radius:18px;background:#f8f7ff;color:var(--ink)}.approvalPreview{display:flex;align-items:center;gap:12px;padding:12px;border-radius:20px;background:#f8f7ff}.approvalPreview img{width:96px;height:74px;border-radius:16px;object-fit:cover}.approvalPreview span{display:block;color:var(--muted)}.approvalActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.approvalActions:has(.secondaryButton){grid-template-columns:repeat(3,minmax(0,1fr))}.roomSummary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.qrCard.compact{width:132px;min-width:132px}.roomActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.roomActions .primaryButton,.roomActions .secondaryButton{min-height:52px;padding:0 14px;border-radius:24px;font-size:16px}.roomEntryPanel{position:relative;overflow:visible}.roomUpdateToast{position:absolute;top:74px;left:24px;z-index:30;padding:8px 12px;border-radius:18px;background:#e7f6dbdb;color:#31720b;font-size:14px;font-weight:950;box-shadow:0 12px 28px #31720b29;pointer-events:none;backdrop-filter:blur(6px);animation:roomNoticeFade 2.8s ease forwards}.reviewNotice{min-height:44px;padding:12px 14px;border-radius:20px;background:#f8f7ff;color:var(--muted);font-weight:950}.reviewNotice.isReady{background:#e7f6db;color:#31720b}.readyRibbon{position:absolute;left:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 16px;border-radius:26px;background:#e7f6db;color:#31720b;font-size:17px;font-weight:950;box-shadow:var(--shadow);pointer-events:none}.previewBackdrop{position:fixed;inset:0;z-index:28;display:grid;place-items:center;padding:20px;background:#25253d57}.previewModal{display:grid;gap:14px;width:min(760px,100%);padding:20px;border-radius:30px;background:#fff;box-shadow:0 24px 70px #25253d47}.previewStage{position:relative;aspect-ratio:4093 / 2894;overflow:hidden;border-radius:24px;background:#f8f7ff}.previewStage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.previewDrawingLayer{z-index:1;object-fit:cover!important;pointer-events:none}.previewPaper{position:absolute;inset:12%;z-index:2;display:grid;place-items:center;align-content:center;gap:8px;border-radius:42% 58% 54% 46%/45% 45% 55% 55%;background:#ffffffd1;color:var(--ink);text-align:center}.previewPaper strong{font-size:28px}.previewPaper span{color:var(--muted);font-weight:850}.previewMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-weight:900}.previewMeta strong{color:var(--ink)}.ratingRow{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 0}.childPreviewResult{display:grid;gap:6px;padding:16px 18px;border-radius:22px;background:var(--purple-soft);color:var(--ink)}.childPreviewResult strong{font-size:18px}.childPreviewResult span{color:var(--muted);font-weight:800}.starButton{display:grid;place-items:center;width:44px;height:44px;border-radius:22px;background:#f8f7ff;color:#b7b8c8}.starButton.isSelected{background:#fff3d0;color:#ffb703}.winnersModal{display:grid;align-content:space-between;gap:20px;width:min(980px,100%);min-height:min(78vh,720px);padding:24px;border-radius:30px;overflow:hidden;background-color:#b7f1f4;background-position:center;background-size:cover;box-shadow:0 24px 70px #25253d47}.winnersHeader{display:flex;justify-content:space-between;align-items:start;gap:12px}.winnerPodium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;min-height:280px}.winnerPlace,.winnerList article{border-radius:22px;background:#ffffffe6;box-shadow:0 12px 26px #25253d1f}.winnerPlace{display:grid;place-items:center;gap:8px;min-height:150px;padding:16px;text-align:center}.winnerPlace strong{color:#e96f66;font-size:56px}.winnerPlace.place1{min-height:220px}.winnerPlace.place2{min-height:180px}.winnerList{display:grid;gap:8px}.winnerList article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px}.winnerList em,.winnerPlace em{color:#ffb703;font-style:normal;font-weight:950}.winnersScreen{display:grid;gap:18px;width:min(1180px,100%);margin:0 auto;padding:18px 0 32px}.winnersTopbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.winnersActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.winnersTopbar h1{margin:4px 0 0;font-size:clamp(34px,5vw,64px);line-height:.95}.compactButton{min-height:44px;padding:0 18px}.winnersLayout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:18px;align-items:stretch}.podiumScene{position:relative;min-height:min(58vh,560px);overflow:hidden;border-radius:28px;background-color:#b7f1f4;background-position:center;background-size:cover;box-shadow:var(--shadow)}.podiumAvatar{position:absolute;display:grid;place-items:center;gap:4px;width:112px;min-height:124px;padding:0;transform:translate(-50%,-50%);background:transparent;color:var(--ink);box-shadow:none;appearance:none}.podiumAvatar span{display:grid;place-items:center;width:76px;height:76px;border:5px solid #fff;border-radius:999px;background:linear-gradient(135deg,#ffcc63,#ff6f91);color:#fff;box-shadow:0 18px 32px #362a6e38;font-size:24px;font-weight:950}.podiumAvatar strong,.podiumAvatar em{max-width:112px;padding:4px 10px;border-radius:999px;background:#ffffffe6;font-style:normal;font-weight:950;white-space:nowrap}.podiumAvatar em{position:absolute;top:-10px;right:8px;background:var(--purple);color:#fff}.podium1{left:50%;top:38%}.podium2{left:27%;top:51%}.podium3{left:73%;top:55%}.winnersTablePanel,.ownResultPanel,.resultGallery article{border-radius:24px;background:#fffffff0;box-shadow:var(--shadow)}.winnersTablePanel{display:grid;align-content:start;gap:14px;padding:18px}.averageCard{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:16px;border-radius:20px;background:var(--purple-soft);color:var(--purple-strong);font-weight:950}.averageCard strong{font-size:28px}.ratingTable{display:grid;gap:8px}.ratingTable article{display:grid;grid-template-columns:32px minmax(0,1fr) auto 52px;align-items:center;gap:10px;padding:12px;border-radius:18px;background:#f8f7ff;font-weight:950}.ratingTable article.isOwn,.resultGallery article.isOwn{box-shadow:inset 0 0 0 3px var(--purple)}.ratingTable article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#fff;color:var(--purple)}.ratingTable em,.ownResultStats strong,.resultGallery span{display:inline-flex;gap:2px;color:#ffb703;font-style:normal}.ratingTable small{color:var(--muted);text-align:right}.ownResultPanel{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px}.ownResultPanel h2{margin:4px 0 0}.ownResultStats{display:grid;gap:6px;justify-items:end;color:var(--muted);font-weight:950}.resultGallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.resultGallery article{display:grid;gap:10px;padding:12px}.resultGallery button{position:relative;min-height:150px;overflow:hidden;border-radius:18px;background:#fff}.resultGallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.galleryDrawingLayer{z-index:1}.resultGallery div{display:flex;align-items:center;justify-content:space-between;gap:8px}.resultGallery small{color:var(--muted);font-weight:900}.tourBackdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#25253d57}.tourCard{display:grid;gap:14px;width:min(520px,100%);padding:24px;border-radius:30px;background:#fff;box-shadow:0 24px 70px #25253d47}.tourIcon{display:grid;place-items:center;width:64px;height:64px;border-radius:32px;background:var(--purple-soft);color:var(--purple)}.tourCard ol{display:grid;gap:10px;padding:0;margin:0;list-style:none}.tourCard li{display:flex;gap:8px;align-items:flex-start;padding:12px;border-radius:18px;background:#f8f7ff;font-size:17px;font-weight:800}.tourCard li svg{flex:0 0 auto;color:var(--purple)}@media (max-width: 1040px){.childLayout,.parentGrid,.winnersLayout{grid-template-columns:1fr}.kidTools{grid-template-columns:repeat(2,minmax(0,1fr))}.actionStack,.hintBox,.miniStatus,.winnersTablePanel{grid-column:1 / -1}}@media (max-width: 720px){.appShell{padding:12px}.topbar,.parentHero{align-items:stretch;flex-direction:column}.roleSwitch,.sessionBadges,.brandButton{width:100%}.sessionBadges{justify-content:stretch}.sessionBadges span{flex:1;justify-content:center}.kidTools{grid-template-columns:1fr}.drawingStage{max-height:62vh}.taskBubble,.progressRow,.stageCard,.playerList article,.loginCards,.roomSummary{grid-template-columns:1fr}.roomActions{grid-template-columns:1fr}.podiumScene{min-height:420px}.podiumAvatar{width:92px}.podiumAvatar span{width:62px;height:62px;font-size:20px}.ratingTable article{grid-template-columns:28px minmax(0,1fr)}.ratingTable em,.ratingTable small{justify-self:start}.ownResultPanel{align-items:stretch;flex-direction:column}.ownResultStats{justify-items:start}.taskBubble>span,.roundHelp{justify-self:start}}@keyframes roomNoticeFade{0%{opacity:0;transform:translateY(10px)}14%{opacity:.95;transform:translateY(0)}62%{opacity:.9;transform:translateY(-12px)}to{opacity:0;transform:translateY(-46px)}}
