@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Jua&family=Nanum+Myeongjo:wght@700;800&display=swap");:root{color-scheme:only light;--paper:#f8f2e8;--paper-deep:#ede1ce;--ink:#31271f;--muted:#716354;--orange:#ac4f29;--orange-dark:#a84c27;--leaf:#506d51;--line:#ddcfbd;--white:#fffaf3;--umber:#7f5539;--umber-deep:#6a4630;--tan:#a68a64;--cream:#ede0d4;--cream-lift:#f8f2ec;--cream-sunk:#e3d3c4;--moss:#656d4a;--forest:#414833;--forest-soft:#555b3e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,Arial,sans-serif}.app-shell{min-height:100svh}.app-main{max-width:1080px;margin:0 auto;padding:0 28px 44px}.app-main:focus{outline:none}.app-main.home-main{max-width:none;padding:0}.hub-back{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin:20px 0 24px;padding:8px 11px 8px 7px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-weight:700}.app-main:has(>.profile-setting-screen)>.hub-back,.app-main:has(>.speaking-unit-view)>.hub-back{display:none}.hub-back:hover:not(:disabled){background:var(--paper-deep)}.hub-back svg{width:20px;height:20px}.topbar{height:76px;justify-content:space-between}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-weight:700;letter-spacing:.06em}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--orange);color:#fff;font-family:Nanum Myeongjo,serif;font-size:19px;letter-spacing:0}.brand small{display:block;margin-top:2px;font-size:10px;font-weight:500;color:var(--muted);letter-spacing:0}.profile-shortcut{display:inline-flex;align-items:center;gap:10px;width:100%;padding:4px 2px;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.profile-shortcut .shortcut-name{min-width:0;flex:1 1;font-size:15px;font-weight:700}.profile-shortcut small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:400}.profile-shortcut>svg{color:var(--muted)}.user-avatar{display:inline-grid;flex:none;place-items:center;width:39px;height:39px;border-radius:50%;background:#e9d8bd;color:#705136}.profile-shortcut:focus-visible .user-avatar,.profile-shortcut:hover .user-avatar{background:#dcc39e}.profile-shortcut:focus-visible{outline:3px solid var(--leaf);outline-offset:3px;border-radius:8px}.study-presence{display:flex;flex:1 1;flex-direction:column;min-height:0;margin-top:28px;padding:18px 7px 0;border-top:1px solid var(--line)}.presence-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.presence-heading h2{margin:0;font-size:13px;font-weight:700}.presence-heading span{color:var(--leaf);font-size:13px;font-weight:700}.study-presence p{margin:10px 0;color:var(--muted);font-size:12px;line-height:1.5}.study-presence ul{flex:1 1;min-height:0;overflow-y:auto;list-style:none;padding:0;margin:10px 0 0}.study-presence li{display:flex;align-items:center;gap:8px;min-height:33px;font-size:12px}.study-presence .user-avatar{width:27px;height:27px}.top-actions{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700}.acorns{display:inline-flex;align-items:center;gap:3px}.acorns img{object-fit:contain}.xp{color:var(--muted)}.study-streak{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;color:var(--orange-dark)}.side-nav{display:none}.mobile-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;background:rgba(255,250,243,.94);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:7px 10px calc(7px + env(safe-area-inset-bottom))}.nav-items{display:flex;justify-content:space-around}.nav-items button{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:10px;padding:5px 8px;display:grid;gap:3px;place-items:center;cursor:pointer}.nav-items button.active{color:var(--orange-dark);font-weight:700}.nav-icon{position:relative;height:20px}.nav-icon i{position:absolute;right:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--orange)}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #8ba78d;outline-offset:3px}.primary{border:0;border-radius:13px;background:var(--orange);color:#fff;padding:13px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;box-shadow:0 7px 15px rgba(157,72,37,.18)}.primary:hover{background:var(--orange-dark)}button:disabled{opacity:.45;cursor:not-allowed}.room-hero{min-height:470px;overflow:hidden;background:#d9c2a5;align-items:flex-end}.hero-copy,.room-hero{position:relative;display:flex}.hero-copy{z-index:1;width:54%;padding:42px 35px;background:linear-gradient(90deg,rgba(50,36,26,.88) 35%,rgba(50,36,26,.5) 75%,transparent);color:#fff;justify-content:center;flex-direction:column}.date-line{font-size:13px;color:#f2d7bc;margin:0 0 11px}.hero-copy h1{white-space:pre-line;font:800 clamp(31px,5.5vw,54px)/1.16 Nanum Myeongjo,serif;margin:0}.hero-copy>p:not(.date-line){color:#f8e8d7;line-height:1.7;font-size:14px;margin:18px 0 25px;max-width:27ch}.hero-copy .primary{align-self:flex-start}.room-image{position:absolute;inset:0}.room-image img{object-fit:cover;object-position:center 50%}.goal-section{margin:42px 0}.goal-section h2{font:800 23px Nanum Myeongjo,serif;margin:0 0 15px}.goal-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.goal-choice{position:relative;text-align:left;border:1px solid var(--line);border-radius:14px;background:transparent;padding:17px;color:var(--ink)}.goal-choice span{display:block;font-weight:700}.goal-choice small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.goal-choice.selected{background:#fffaf3;border-color:var(--orange);box-shadow:0 6px 14px rgba(80,57,33,.08)}.placement-shell{min-height:100svh;display:grid;place-items:center;padding:30px 18px}.placement-card{width:min(100%,600px);padding:clamp(24px,6vw,48px);border-radius:16px;background:var(--white);box-shadow:0 18px 48px rgba(80,57,33,.12)}.placement-brand{color:var(--orange);font-weight:800;letter-spacing:.08em}.placement-progress{margin:32px 0 10px;color:var(--muted);font-size:14px;font-weight:700}.placement-track{height:5px;border-radius:8px;background:var(--paper-deep);overflow:hidden;margin-bottom:32px}.placement-track span{display:block;width:100%;height:100%;background:var(--orange);transform-origin:left;transition:transform .18s ease-out}.placement-card h1{font:800 clamp(24px,5vw,32px) Nanum Myeongjo,serif;line-height:1.35;letter-spacing:-.025em;margin:0 0 12px}.placement-card h1+p{color:var(--muted);line-height:1.7;margin:0 0 28px}.placement-choices{display:grid;gap:10px}.placement-choices button{width:100%;min-height:58px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.placement-choices button:focus-visible,.placement-choices button:hover{border-color:var(--orange);background:#fff4e6}.placement-back{margin-top:22px}.placement-scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.placement-scores div{display:flex;justify-content:space-between;gap:5px;padding:11px;border-radius:10px;background:var(--paper);font-size:13px}.placement-adjust p,.placement-rationale{color:var(--muted);font-size:14px;line-height:1.6}.placement-adjust{display:grid;gap:8px;margin:24px 0}.placement-adjust label{font-size:13px;font-weight:700}.placement-adjust select{min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font:inherit}@media (max-width:500px){.placement-scores{grid-template-columns:repeat(2,minmax(0,1fr))}}.placement-goals{margin:26px 0}.placement-continue{width:100%}.placement-error{color:#9c3327;margin:18px 0 0}@media (prefers-reduced-motion:reduce){.placement-track span{transition:none}}.goal-choice svg{position:absolute;right:13px;top:14px;color:var(--orange)}.study-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 8px}.study-path{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fffaf3}.study-path small{color:var(--leaf);font-weight:700}.study-path h2{margin:8px 0;font-size:19px}.study-path p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.study-path button{align-self:flex-start}.study-paths .grammar-path{order:-1}.study-paths.vocabulary-first .grammar-path{order:0}.study-paths.vocabulary-first .vocabulary-path{order:-1}@media (min-width:761px) and (max-width:1200px){.study-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.study-paths .kanji-path{grid-column:1/-1}}.learning-sections{display:flex;flex-direction:column;gap:22px}.learning-sections.vocabulary-first .vocabulary-lessons{order:-1}.account-panel{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fffaf3}.account-panel h2{margin:0 0 8px;font-size:20px}.account-panel p{color:var(--muted);line-height:1.65;font-size:14px}.account-modes{display:flex;gap:8px;margin:16px 0}.account-modes button.selected{border-color:var(--orange);background:#f6e8d8}.account-form{display:grid;gap:9px;max-width:420px}.account-switch{margin:12px 0 0}.account-switch button{min-height:44px;padding:0 4px;border:0;background:transparent;color:var(--orange-dark);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.account-switch button:hover{color:var(--ink)}.account-switch button:focus-visible{outline:3px solid #8ba78d;outline-offset:2px;border-radius:4px}.account-form label{font-weight:700;font-size:13px}.account-form input{min-height:44px;width:100%;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:9px 12px;font:inherit;margin-bottom:5px}.account-form button{justify-self:start;margin-top:9px}.password-input-wrap{position:relative;margin-bottom:5px}.account-form .password-input-wrap input{margin-bottom:0;padding-right:54px}.account-form .password-visibility{position:absolute;top:50%;right:2px;display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;transform:translateY(-50%);border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.account-form .password-visibility:hover{color:var(--ink)}.account-form .password-visibility:focus-visible{outline:2px solid var(--orange);outline-offset:-3px}.today-strip{gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:48px}.today-strip,.today-strip div{display:flex;align-items:center}.today-strip div{gap:8px;color:var(--leaf);font-weight:700}.today-strip strong{margin-left:auto}.text-button,.today-strip button{border:0;background:transparent;color:var(--orange-dark);font-weight:700}.notice{display:flex;align-items:center;gap:8px;background:#f4dfd3;border-radius:11px;padding:11px 14px;color:#773819;font-size:13px}.notice button{margin-left:auto;background:none;border:0;color:inherit}.loading{min-height:100svh;display:grid;place-content:center;gap:13px;text-align:center;color:var(--muted)}.sprout{width:28px;height:28px;border:3px solid var(--orange);border-top:3px solid transparent;border-radius:50%;margin:auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.learn-view,.profile-view,.shop-view{max-width:720px;margin:40px auto}.learn-view h1,.profile-view h1,.shop-view h1{font:800 32px Nanum Myeongjo,serif;letter-spacing:-.025em;margin:0 0 10px}.learn-view>p,.shop-view>p{color:var(--muted);line-height:1.7;margin:0 0 27px}.learn-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:28px 0}.learn-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;min-height:150px;padding:20px;text-align:left;border:1px solid var(--line);border-radius:20px;background:#fffaf3;color:var(--ink)}.learn-choice.selected{border-color:var(--orange);background:#fff4e5}.learn-choice>svg:first-child{color:var(--orange)}.learn-choice strong{font-size:22px}.learn-choice span{grid-column:2/4;color:var(--muted);font-size:14px}.learn-choice>svg:last-child{grid-column:3;grid-row:1}.track small em{font-style:normal;font-weight:700}.word-new{color:#2563b8}.word-wrong{color:#bd3b39}.word-review{color:#31805b}@media (max-width:600px){.learn-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-choice{min-height:112px;padding:14px;gap:6px}.learn-choice strong{font-size:18px}.learn-choice span{grid-column:1/4;font-size:12px}.learn-view>.grammar-lessons,.learn-view>.speaking-lessons,.learn-view>.vocabulary-lessons{scroll-margin-top:16px}}.track{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;border:1px solid var(--line);border-radius:15px;background:#fffaf3;margin-bottom:10px}.track>span{display:grid;flex:1 1;min-width:0;grid-template-columns:30px minmax(0,1fr);column-gap:11px;align-items:center}.track>span>svg{grid-row:span 2;color:var(--orange)}.track>svg{flex-shrink:0;color:var(--orange)}.track>span>b{min-width:0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.track>span>small{color:var(--muted);margin-top:4px}.track.open:hover{border-color:var(--orange)}.story-curriculum{padding:14px;border:1px solid #d8c4a7;border-radius:17px;background:#f4e8d5}.story-curriculum .curriculum-level-heading{border-bottom-color:#cfb692}.story-curriculum .curriculum-level-heading h2{color:#7f3f27}.story-track{margin-top:10px;margin-bottom:0;text-decoration:none}.story-track[aria-disabled=true]{cursor:wait}.story-track-loading{border-color:var(--orange);background:#fff3df}.story-loading-label{display:inline-flex;flex:none;align-items:center;gap:6px;margin-left:12px;color:#884326;font-size:12px;white-space:nowrap}.story-loading-label svg{width:17px;height:17px;animation:spin .8s linear infinite}.track.lesson-completed{opacity:.68}.track.lesson-completed:focus-visible,.track.lesson-completed:hover{opacity:1}.lesson-complete-tag{flex:none;margin:0 12px;padding:5px 7px;border-radius:7px;background:var(--paper-deep);color:var(--ink);font-size:11px;white-space:nowrap}.vocabulary-lessons .track.no-cards{opacity:.72}.vocabulary-lessons .track.no-cards:focus-visible,.vocabulary-lessons .track.no-cards:hover{opacity:1}.curriculum-list{display:grid;gap:28px}.curriculum-level{display:grid;gap:10px}.curriculum-level-heading{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px}.curriculum-level-heading h2{margin:0;font:800 21px Nanum Myeongjo,serif}.curriculum-level-heading span{color:var(--muted);font-size:13px}.practice-heading{margin:36px 0 6px;font:800 22px Nanum Myeongjo,serif;letter-spacing:-.025em}.practice-note{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.65}.kanji-daily-goal{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:10px 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px}.kanji-daily-goal p{margin:0}.kanji-daily-goal strong{color:var(--ink)}.shop-scene{height:230px;border-radius:15px;margin:20px 0}.shop-scene img{object-fit:cover;object-position:center 43%}.scene-caption{padding:7px 10px;border-radius:9px;background:rgba(48,35,25,.72);color:white}.shop-list{border-top:1px solid var(--line)}.shop-item{gap:13px;padding:17px 3px}.item-symbol{width:43px;height:43px;border-radius:13px;background:#e3eddf;color:var(--leaf)}.shop-item h2{font-size:15px;margin:0 0 3px}.shop-item p{font-size:12px}.buy,.quiet{margin-left:auto;border:0;padding:9px 11px;font-weight:700;gap:2px}.buy{background:#f4e7d5;color:var(--orange-dark)}.quiet{background:#e4ece1;color:var(--leaf)}.quiet.selected{background:var(--leaf);color:white}.avatar{width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:white;font:800 25px Nanum Myeongjo,serif}.record-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:27px}.record-row div{padding:17px 8px;border-right:1px solid var(--line)}.record-row div:last-child{border:0}.record-row span{display:block;font-size:11px;color:var(--muted)}.record-row strong{display:block;font-size:22px;margin-top:6px}.honest-note{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid var(--line)}.honest-note svg{color:var(--orange);flex:none}.honest-note h2{font-size:15px;margin:0 0 5px}.honest-note p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}.round{padding:8px 0 65px}.round,.standalone-review{max-width:650px;margin:0 auto}.standalone-review{padding:8px 0 64px}.standalone-review .study-card{margin:52px auto 0}.round-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:35px}.round-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-stages{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}.lesson-stages button{display:flex;flex-direction:column;justify-content:space-between;gap:7px;min-width:0;min-height:54px;padding:7px 5px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;text-align:center;cursor:pointer}.lesson-stages button.current,.lesson-stages button:hover{background:var(--paper-deep);color:var(--ink)}.lesson-stages button:disabled{cursor:wait;opacity:.6}.lesson-stages button:disabled:not(.current){cursor:not-allowed}.lesson-stages button span{font-size:11px;line-height:1.25;font-weight:700;word-break:keep-all}.lesson-stages i{display:block;width:100%;height:6px;overflow:hidden;border-radius:6px;background:var(--line)}.lesson-stages b{display:block;height:100%;border-radius:inherit;background:var(--orange)}.round-head>button{border:0;background:transparent}.round-tools{display:flex;align-items:center;gap:4px}.round-tools .previous-card{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:transparent;color:var(--ink)}.round-tools .previous-card:disabled{opacity:.4}.card-menu{position:relative}.card-menu summary{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;cursor:pointer;list-style:none}.card-menu summary::-webkit-details-marker{display:none}.card-menu summary:hover,.card-menu[open] summary{background:var(--paper-deep)}.card-menu-panel{position:absolute;z-index:20;top:43px;right:0;width:min(290px,calc(100vw - 32px));max-height:min(65vh,500px);overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 12px 28px rgba(65,41,21,.13)}.card-menu-panel .vocabulary-suggestion>button,.card-menu-panel>a,.card-menu-panel>button{display:block;width:100%;min-height:42px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;text-decoration:none;font:inherit;font-size:13px;cursor:pointer}.card-menu-panel .vocabulary-suggestion>button:hover,.card-menu-panel>a:hover,.card-menu-panel>button:hover{background:var(--paper-deep)}.card-menu-panel .vocabulary-suggestion{margin:0;padding:0;border:0}.card-menu-panel .vocabulary-suggestion form{padding:8px}.card-tag-badges{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}.card-tag-badges span{padding:3px 7px;border-radius:6px;background:var(--paper-deep);color:var(--ink);font-size:11px;font-weight:700}.round-head :is(button,summary):focus-visible{outline:3px solid var(--orange);outline-offset:2px}.round-head span{font-size:12px;font-weight:700}.progress{height:5px;background:var(--paper-deep);border-radius:8px;margin-top:8px;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:var(--orange)}.round-body{min-height:500px;display:grid;place-items:center}.dialogue-card,.study-card{width:min(100%,510px)}.study-card{text-align:center}.counter,.prompt{font-size:13px;color:var(--muted);margin:0 0 19px}.study-counts{line-height:1.5;word-break:keep-all}.study-counts .current-count{color:var(--ink);font-weight:800}.japanese{font:800 clamp(39px,10vw,64px)/1.2 Nanum Myeongjo,serif;letter-spacing:-.025em}.reading{color:var(--muted);margin:8px 0 30px}.sound{border:0;background:#f1dfca;color:var(--orange-dark);border-radius:50%;width:35px;height:35px;margin-left:10px;vertical-align:middle;display:inline-grid;place-items:center}.rating-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.rating-actions>button{border:1px solid var(--line);border-radius:13px;background:transparent;padding:13px 8px;color:var(--ink);font-weight:700}.rating-actions .primary{border:0}.rating-actions.vocabulary-ratings{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.rating-actions.vocabulary-ratings .easy-rating{padding-inline:12px;font-size:13px}.rating-actions.vocabulary-ratings>button small{display:block;margin-top:2px;font-size:11px;font-weight:500}.kanji-details{display:grid;gap:14px;margin-top:16px;text-align:left;font-weight:400}.kanji-details>p{margin:0;line-height:1.6}.kanji-details>div{display:grid;gap:4px;padding-top:12px;border-top:1px solid var(--line)}.kanji-details b{color:var(--orange);font-size:13px}.kanji-korean-reading{display:block;font-size:clamp(25px,6vw,34px);line-height:1.2}.kanji-meaning{margin:8px 0 0;font-size:17px;font-weight:700;line-height:1.5}.kanji-readings{margin:10px 0 0;font-size:14px;line-height:1.7;font-weight:500}.kanji-details .kanji-shape{white-space:pre-line;line-height:1.75}.kanji-details .kanji-on-group{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:8px;margin-top:6px}.kanji-on-reading{padding-top:4px;color:var(--ink);font-size:15px;font-weight:700}.kanji-on-group ul{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.kanji-on-group li{display:grid;gap:1px;padding:6px 9px;background:var(--paper);border-radius:10px}.kanji-details .kanji-on-group li span{font-size:15px}.kanji-details .kanji-on-group li small{font-size:11px}.kanji-details .kanji-on-group li .kanji-on-meaning{font-size:12px}.kanji-kun-examples{display:grid;gap:8px;margin:6px 0;padding:0;list-style:none}.kanji-kun-examples li{display:grid;gap:1px;width:fit-content;max-width:100%;font-size:16px;line-height:1.6}.kanji-kun-examples li small{color:var(--muted);font-size:12px}.kanji-details a{color:var(--orange-dark);font-size:13px}.kanji-details span[lang=ja]{font-size:18px;font-weight:700}.kanji-details div p{margin:0;line-height:1.5}.kanji-details small{color:var(--muted);line-height:1.5}.entry-card>small{display:block;color:var(--muted);font-size:11px;margin-top:15px}.answer,.reveal{border:0;background:#f0e3d2;color:var(--ink);border-radius:13px;padding:15px 23px;font-weight:700;min-width:210px}.wide{width:100%;margin-top:26px}.vocab-card .counter{margin-bottom:34px}.vocab-card .reveal{margin-bottom:0}.dialogue-card{display:grid;gap:17px}.dialogue-card .counter{text-align:center;margin-bottom:8px}.bubble{width:fit-content;max-width:100%;min-width:0;padding:18px 20px;border-radius:15px 15px 15px 3px;background:#fffaf3;box-shadow:0 8px 22px rgba(78,57,37,.1)}.bubble.mine{margin-left:auto;border-radius:15px 15px 3px 15px;background:#e6eee2}.bubble>span{display:block;color:var(--orange-dark);font-size:12px;font-weight:700;margin-bottom:7px}.bubble strong{display:block;font:800 clamp(19px,5vw,24px)/1.8 Nanum Myeongjo,serif;color:var(--ink);letter-spacing:normal;overflow-wrap:anywhere}.answer ruby,.bubble strong ruby,.grammar ruby{ruby-position:over}.answer rt,.bubble strong rt,.grammar rt{color:var(--muted);font-size:.5em;font-weight:500}.bubble small{display:block;color:var(--muted);margin-top:8px}.npc-area,.speak-area{text-align:center;margin-top:18px}.npc-area p,.speak-area p{font-size:13px;color:var(--muted)}.mic{border:0;border-radius:13px;background:var(--orange);color:white;padding:13px 18px;display:inline-flex;gap:8px;align-items:center;font-weight:700}.text-button{display:block;margin:13px auto}.explain-card{text-align:left;background:#fffaf3;border-radius:16px;padding:30px}.explain-card h1,.recall-card h1,.result-card h1{font:800 29px Nanum Myeongjo,serif;letter-spacing:-.025em;margin:0 0 22px}.grammar{font:800 25px Nanum Myeongjo,serif}.meaning{font-weight:700;color:var(--orange-dark)}.explain-card>p:last-of-type{color:var(--muted);line-height:1.75;font-size:14px}.answer{margin:0 auto;min-height:78px}.answer,.answer small,.answer strong{display:block}.card-example{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);text-align:left}.card-example>span{display:block;color:var(--leaf);font-size:12px;font-weight:700}.card-example p{margin:8px 0 0;line-height:1.6;font-size:14px}.card-example p[lang=ja]{font-size:17px;color:var(--ink)}.card-example ruby rt,.word-heading ruby rt{color:var(--muted);font-size:.52em;font-weight:500}.standalone-review .study-card{display:flex;flex-direction:column;height:min(650px,max(290px,calc(100dvh - 220px)))}.standalone-review .study-card>button.answer{flex:none;margin-top:auto;margin-bottom:1cm}.standalone-review .study-card:not(.review-with-examples)>.answer{min-height:0;overflow-y:auto}.standalone-review .study-card:not(.review-with-examples)>.rating-actions{flex:none;margin-top:auto;padding-top:12px}.daily-review-overview{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.45}.daily-review-overview p{margin:0}.daily-review-overview span,.daily-review-overview strong{color:var(--ink);font-weight:700}.review-with-examples .word-heading{flex:none;margin-bottom:12px}.review-answer-scroll{width:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px 24px;text-align:left}.review-answer-scroll:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.review-answer-scroll>strong{font-size:26px;line-height:1.45;text-align:center;overflow-wrap:anywhere}.review-with-examples .rating-actions{flex:none;margin-top:12px}.review-with-examples.review-no-examples .rating-actions{margin-top:auto}.source-examples{margin-top:24px;text-align:left}.source-examples h2{margin:0;color:var(--leaf);font-size:16px}.source-examples h3{margin:0 0 8px -18px;color:var(--ink);font-size:18px;line-height:1.5}.source-examples .card-example{margin:12px 0 0 18px;padding-top:12px}.source-examples .card-example:has(h3){margin-top:20px}.source-examples .card-example p{margin-top:4px}.review-answer-scroll .card-example>p{font-size:17px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.examples-status{color:var(--muted);font-size:13px}.examples-status button{border:0;background:transparent;color:var(--orange-dark);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.examples-status button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}@media (max-width:760px){.standalone-review{display:flex;flex-direction:column;height:calc(100dvh - 50px);min-height:430px;padding-bottom:10px}.standalone-review .round-head{flex:none;margin-bottom:8px}.standalone-review .study-card{flex:1 1;min-height:0;height:auto;margin-top:12px}.review-with-examples .rating-actions{margin-top:auto;padding-top:12px}.review-answer-scroll{padding:16px 18px}}.app-shell:has(.standalone-review){height:100dvh;min-height:0}.app-main:has(>.standalone-review){display:flex;flex-direction:column;height:100dvh;min-height:0;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));overflow:hidden}.app-main:has(>.standalone-review)>:is(.notice,.speech-status){flex:none}.standalone-review{display:flex;flex:1 1;flex-direction:column;width:100%;height:auto;min-height:0;padding:0}.standalone-review .round-head{position:relative;flex:none;margin:0;isolation:isolate}.standalone-review .round-head:before{position:absolute;z-index:-1;inset:0 auto 0 50%;width:100vw;background:#f4eee3;content:"";transform:translateX(-50%)}.standalone-review .study-card{flex:1 1;height:auto;min-height:0;margin:clamp(12px,4dvh,36px) auto 0}.standalone-review .study-card>:is(.prompt,.leech-tag,.card-tag-badges,.word-heading){flex:none}.standalone-review .study-card>div.answer{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.standalone-review .study-card>.rating-actions{flex:none;margin-top:12px;padding-top:0}@media (max-height:600px){.standalone-review .study-card{margin-top:8px}.standalone-review .prompt{margin-bottom:8px}.standalone-review .word-heading{margin-block:8px}}.word-heading{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:14px 0 20px}.word-heading h1{margin:0;overflow-wrap:anywhere}.word-heading h1.word-sent{opacity:0}.standalone-review .word-heading h1{animation:word-arrive .22s cubic-bezier(.16,1,.3,1)}@keyframes word-arrive{0%{opacity:0;transform:translateY(8px) scale(.96)}}.word-heading.revealed{position:relative;padding-inline:50px}.word-heading.revealed h1{width:100%;text-align:center}.word-heading.revealed>.audio-tool{position:absolute;right:0}.word-tool{min-height:40px;border:1px solid var(--line);border-radius:12px;padding:7px 11px;background:var(--white);color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.word-tool:hover{background:var(--paper-deep)}.vocabulary-suggestion button:focus-visible,.word-tool:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.audio-tool{display:inline-grid;place-items:center;min-width:40px;padding:7px;color:var(--orange-dark)}.example-line{display:flex;align-items:center;gap:10px}.example-line p{flex:1 1;min-width:0}.kanji-inline{display:inline;min-width:0;min-height:0;margin:0;padding:0 1px;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:1px;text-underline-offset:.14em}.kanji-inline:hover{color:var(--orange)}.kanji-search{display:grid;gap:8px;margin:18px 0 24px}.kanji-search label{font-weight:700}.kanji-search-controls{display:flex;gap:8px}.kanji-search input{flex:1 1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit}.kanji-search button:focus-visible,.kanji-search input:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.kanji-search input[aria-invalid=true]{border-color:#bd3b39}.kanji-search button{min-height:44px;padding:10px 18px}.kanji-search p{margin:0;color:var(--muted);font-size:13px}.kanji-search [role=alert]{color:#bd3b39}.kanji-dialog-actions .card-menu summary:focus-visible,.kanji-dialog-close:focus-visible,.kanji-inline:focus-visible,.kanji-radical-button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.kanji-radical-button{width:fit-content;min-height:40px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.kanji-radical-button:hover{background:var(--paper-deep)}.kanji-dialog{width:min(520px,calc(100% - 28px));max-height:min(82svh,780px);margin:auto;padding:0;border:0;border-radius:16px;background:var(--white);color:var(--ink);box-shadow:0 18px 50px rgba(49,39,31,.24);transform:translate(calc(var(--kanji-depth, 0) * 12px),calc(var(--kanji-depth, 0) * 12px))}.kanji-dialog::backdrop{background:rgba(32,25,19,.55)}.kanji-dialog-inner{position:relative;padding:26px}.kanji-dialog-bar{position:sticky;top:0;z-index:3;display:flex;justify-content:flex-end;align-items:flex-start;height:0;padding:0 14px}.kanji-dialog-actions{display:flex;gap:2px;margin-top:14px;padding:2px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 4px 14px rgba(49,39,31,.1)}.kanji-dialog-close{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:9px;background:transparent;color:var(--ink);cursor:pointer}.kanji-dialog-close:hover{background:var(--paper-deep)}.kanji-dialog-actions .card-menu summary{border-radius:9px;color:var(--muted)}.kanji-dialog-actions .card-menu summary:hover,.kanji-dialog-actions .card-menu[open] summary{color:var(--ink)}.kanji-dialog-actions .card-menu-panel{right:-45px}.kanji-dialog h2{margin:0 96px 6px 0;font-family:Nanum Myeongjo,serif;font-size:54px;line-height:1.2}.kanji-dialog p{line-height:1.6}.kanji-dialog-reading{margin:0;font-size:19px;font-weight:700}.kanji-dialog-reading span{margin-left:7px;color:var(--muted);font-size:12px}.kanji-dialog-meaning{margin:3px 0 18px;color:var(--muted)}.kanji-dialog-readings{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 20px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.kanji-dialog-readings div{display:flex;gap:8px}.kanji-dialog-readings dt{color:var(--orange);font-size:13px;font-weight:700}.kanji-dialog-readings dd{margin:0}.kanji-dialog section{padding:14px 0;border-top:1px solid var(--line)}.kanji-dialog section h3{margin:0 0 7px;color:var(--orange);font-size:14px}.kanji-dialog section p{margin:4px 0}.kanji-dialog section small{color:var(--muted)}.kanji-dialog ruby{ruby-align:center}.kanji-dialog rt{font-size:.65em;color:var(--muted)}.kanji-dialog-shape{white-space:pre-line}.kanji-kun-explanation{white-space:pre-line;line-height:1.75}.kanji-shape-content{display:grid;gap:11px;white-space:normal;line-height:1.7}.kanji-shape-content section{display:grid;gap:3px;padding:0;border:0}.kanji-shape-content section+section{padding-top:10px;border-top:1px solid var(--line)}.kanji-shape-content section>b{color:var(--ink);font-size:13px}.kanji-shape-content p{margin:0}.kanji-dialog-example-group{display:grid;grid-template-columns:42px 1fr;gap:8px;margin:8px 0}.kanji-dialog-example-group ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.kanji-dialog-example-group li{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 14px}.kanji-dialog-radical p{margin:4px 0}.kanji-dialog-radical strong{font-size:24px}@media (max-width:600px){.kanji-dialog{transform:translate(calc(var(--kanji-depth, 0) * 3px),calc(var(--kanji-depth, 0) * 6px))}}.leech-tag{display:inline-block;margin-top:8px;color:var(--orange-dark);font-size:12px;font-weight:700}.vocabulary-suggestion{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);text-align:left}.vocabulary-suggestion>button{padding:7px 0}.vocabulary-suggestion form{display:grid;gap:9px;margin-top:10px}.vocabulary-suggestion fieldset{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 4px;padding:0;border:0}.vocabulary-suggestion legend{margin-bottom:8px;font-weight:700}.vocabulary-suggestion label{font-size:14px;font-weight:700}.vocabulary-suggestion fieldset label{display:inline-flex;align-items:center;gap:5px}.vocabulary-suggestion textarea{width:100%;min-height:70px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit}.vocabulary-suggestion form p,.vocabulary-suggestion>p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.vocabulary-suggestion form button{justify-self:start}.answer small{margin-top:7px;color:var(--muted);font-weight:400}.result-mark{margin:auto auto 20px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#e1eddf;color:var(--leaf)}.result-card p{line-height:1.7;color:var(--muted);max-width:31ch;margin:0 auto 26px}@media (min-width:761px){.app-shell{display:block}.side-nav{display:flex;position:sticky;top:0;height:100svh;padding:28px 18px;flex-direction:column;border-right:1px solid var(--line);background:#f4ecdf}.side-nav .nav-items{display:grid;justify-content:stretch;margin-top:50px;gap:5px}.side-nav .nav-items button{grid-template-columns:26px 1fr;place-items:center start;font-size:13px;padding:11px 12px;border-radius:10px}.side-nav .nav-items button.active{background:#fffaf3}.mobile-nav,.topbar>.profile-shortcut{display:none}.app-main{width:100%;padding:0 48px 60px}.room-hero{min-height:540px}.hero-copy{width:50%;padding:54px}.topbar{height:85px}}@media (max-width:500px){.app-main{padding:0 17px 40px}.top-actions{flex-shrink:0;gap:8px;font-size:12px}.topbar>.profile-shortcut{min-width:0}.topbar{height:66px}.room-hero{min-height:475px;border-radius:14px;align-items:flex-end}.hero-copy{width:100%;min-height:255px;padding:28px 23px;background:linear-gradient(0deg,rgba(42,31,24,.94) 35%,rgba(42,31,24,.53) 80%,transparent)}.hero-copy h1{font-size:33px}.goal-list{grid-template-columns:1fr;gap:7px}.goal-choice{padding:13px 15px}.goal-choice small{display:inline;margin-left:8px}.learn-view,.profile-view,.shop-view{margin:26px auto}.round{padding-bottom:10px}.round-head{margin-bottom:27px}.round-body{min-height:460px}.explain-card{padding:24px 20px}.bubble strong{font-size:23px}}.track{color:var(--ink);padding:17px}.round-head>button{color:var(--ink);padding:8px}.listen-all{background:transparent;margin:0 0 20px;font-weight:700}body{font-family:DM Sans,Apple SD Gothic Neo,Noto Sans KR,sans-serif}.topbar{justify-content:flex-end}.topbar>.profile-shortcut{margin-right:auto}.hero-copy{background:var(--white);color:var(--ink);width:45%;padding:38px;align-self:stretch}.hero-copy .date-line{display:none}.hero-copy>p:not(.date-line){color:var(--muted);max-width:none;word-break:keep-all;font-size:16px}.hero-copy h1{font-size:clamp(30px,3.5vw,44px);line-height:1.35;letter-spacing:-.025em;word-break:keep-all}.room-hero{min-height:420px;border-radius:16px}.room-image{left:45%}.room-image>img{object-position:center 65%}.room-character{position:absolute;z-index:2;right:0;bottom:1%;width:100%;height:76%;pointer-events:none}.room-character img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 7px 5px rgba(65,39,22,.13))}.room-decor{position:absolute;z-index:3;display:grid;place-items:center;width:64px;height:64px;background:#fff6df;border:2px solid #6b5037;border-radius:12px;box-shadow:0 5px 12px rgba(70,43,21,.2)}.room-decor svg{width:36px;height:36px;stroke-width:1.6}.decor-plant{left:10%;bottom:13%;color:#4e713f}.decor-lamp{right:9%;bottom:19%;color:#9a621d}.decor-books{left:22%;bottom:5%;color:#a45231}.goal-list{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.goal-choice,.goal-choice.selected{box-shadow:none;border:0;border-radius:0;background:transparent}.goal-choice+.goal-choice{border-left:1px solid var(--line)}.goal-choice.selected{background:#f0e5d5}.goal-choice small{padding-right:12px;line-height:1.55}.goal-choice svg{right:12px}.rating-actions .primary{background:var(--orange);color:#fff}.shop-list{display:grid;gap:0;margin-top:20px}.shop-item{display:flex;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.shop-item h2{font-size:17px;margin:0 0 6px}.shop-item p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.shop-item>button{margin-left:auto;flex:none}.item-symbol{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:12px;background:#e5e8d8;color:#4e6246}.buy,.quiet{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--white);color:var(--ink);display:flex;align-items:center;gap:6px}.quiet.selected{background:#e3eddf;color:#345033;border-color:#a5b79b}.shop-scene{height:330px;position:relative;overflow:hidden;border-radius:14px}.shop-scene>img{object-fit:cover;object-position:center 65%}.shop-scene .room-character{right:10%;width:80%;height:94%}.scene-caption{position:absolute;z-index:4;left:12px;bottom:12px;border-radius:8px;padding:8px 12px;background:var(--white);color:var(--ink);font-size:12px}.install-prompt{margin:20px 0 40px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.install-prompt>div{display:flex;gap:10px;align-items:center}.install-prompt p{font-size:14px;line-height:1.7;color:var(--muted)}.install-prompt button{display:inline-flex;align-items:center;gap:6px;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--white);color:var(--ink);margin:0 8px 0 0}.speech-status{font-size:14px;color:var(--muted);line-height:1.6}.listen-all{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--orange-dark);padding:12px;min-height:44px;margin-bottom:16px}button{touch-action:manipulation;min-height:44px}.sound{width:44px;height:44px}.audio-spinner{display:inline-block;width:18px;height:18px;flex:none;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite}.nav-items button{min-width:52px;min-height:50px}.mobile-nav .nav-items{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-nav .nav-items button{min-width:0;padding:5px 2px}.text-button{min-height:44px}.round .japanese{font-size:clamp(30px,6vw,48px);line-height:1.5;overflow-wrap:anywhere}.round .answer strong{font-size:24px;line-height:1.6}.round .answer small{line-height:1.7}.round-body{align-items:start;padding-top:26px;min-height:440px}.bubble strong{line-height:1.65;word-break:normal}.bubble small{line-height:1.6}.round{padding-bottom:64px}.round-head{position:sticky;top:0;background:var(--paper);z-index:4;padding:10px 0}.acorns svg{width:18px;height:18px;color:var(--orange-dark)}@media (max-width:760px){.study-paths{grid-template-columns:1fr}.study-path button{width:100%;justify-content:center}.room-hero{display:flex;flex-direction:column;min-height:0;padding-top:280px}.room-image{inset:0 0 auto;height:280px}.hero-copy{width:100%;min-height:0;padding:24px;background:var(--white)}.hero-copy h1{font-size:29px;white-space:normal}.hero-copy>p:not(.date-line){margin:12px 0 20px;font-size:15px}.hero-copy .primary{width:100%}.room-character{height:100%;width:90%;right:0;bottom:0}.room-image>img{object-position:center 63%}.goal-section{margin:28px 0}.goal-section h2{font-size:21px}.goal-list{grid-template-columns:1fr}.goal-choice+.goal-choice{border-left:0;border-top:1px solid var(--line)}.goal-choice{padding:14px}.goal-choice small{display:block;margin:4px 0 0}.today-strip{font-size:14px;margin-bottom:24px}.mobile-nav{background:var(--white);-webkit-backdrop-filter:none;backdrop-filter:none}.shop-scene{height:280px}.room-decor{width:48px;height:48px}.room-decor svg{width:28px;height:28px}.round-body{min-height:380px}.explain-card{padding:22px 18px}.round .answer{min-width:0;width:100%}.app-main{padding-bottom:96px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.development-note{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 28px}.shortfall{display:block;font-size:11px;color:var(--muted);margin-top:6px}.unavailable{opacity:.7}.profile-view>p{line-height:1.75;color:var(--muted)}.confirm-switch{display:flex;align-items:flex-start;gap:10px;margin:5px 0 3px;color:var(--muted);font-size:13px;line-height:1.55}.confirm-switch input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--orange)}.vocab-card>small{display:block;color:var(--muted);font-size:12px;margin-top:14px}.text-button{display:flex;align-items:center;justify-content:center;gap:6px}.room-image .room-character{height:88%;width:70%;right:4%;bottom:0}.shop-scene .room-character{width:60%;right:13%;height:90%}@media (max-width:760px){.room-image .room-character{height:96%;width:70%;right:2%}.app-main{min-width:0}.shop-item{gap:9px}.shop-item>div:nth-child(2){min-width:0}.shop-item p{font-size:12px}.shop-item>button{padding:9px}.profile-view .record-row strong{font-size:20px}}.auth-welcome{background:#f6edda;font-family:Jua,sans-serif}.auth-welcome .placement-card{position:relative;overflow:hidden;width:min(100%,520px);padding:35px clamp(24px,6vw,44px) 38px;background:#fffaf0;box-shadow:none}.auth-welcome .placement-brand{display:block;margin-bottom:30px;font-size:17px;letter-spacing:.04em}.auth-welcome .placement-card>h1{position:relative;z-index:1;max-width:75%;margin-bottom:12px;font:400 clamp(27px,6vw,36px)/1.25 Jua,sans-serif;letter-spacing:-.02em;word-break:keep-all}.auth-welcome .placement-card>p{position:relative;z-index:1;max-width:75%;margin-bottom:0;font-size:16px;line-height:1.4}.auth-character{position:absolute;top:27px;right:24px;width:112px;height:184px;pointer-events:none}.auth-character img{width:100%;height:100%;object-fit:contain}.auth-welcome .account-panel{position:relative;z-index:1;margin:35px 0 0;padding:22px 0 0;border:0;border-top:1px solid #e6d7bf;border-radius:0;background:transparent}.auth-welcome .account-panel h2{font-size:23px;font-weight:400}.auth-welcome .account-panel p{margin:4px 0 0;font-size:15px;line-height:1.45}.auth-welcome .account-modes{gap:5px;margin:22px 0;padding:5px;border-radius:14px;background:#eee1cc}.auth-welcome .account-modes button{flex:1 1;justify-content:center;border:0;border-radius:10px;background:transparent;font-size:16px}.auth-welcome .account-modes button.selected{background:#fffaf3;box-shadow:0 3px 8px rgba(65,44,29,.13)}.auth-welcome .account-form{max-width:none;gap:10px}.auth-welcome .account-form label{font-size:15px;font-weight:400}.auth-welcome .account-form input{min-height:52px;border-color:#cbb79a;border-radius:13px;background:#fffefa;font-size:17px}.auth-welcome .account-form input:focus-visible{outline:3px solid #9db395;outline-offset:2px}.auth-welcome .account-form>.primary{width:100%;min-height:54px;justify-content:center;margin-top:13px;border-radius:14px;font-size:18px;box-shadow:0 4px 0 #783416,0 10px 18px rgba(78,39,18,.2)}@media (max-width:460px){.auth-welcome{align-items:start;padding-top:20px}.auth-welcome .placement-card{padding-top:28px}.auth-character{top:29px;right:18px;width:85px;height:144px}.auth-welcome .placement-card>h1,.auth-welcome .placement-card>p{max-width:calc(100% - 80px)}}.admin-panel{padding:28px 0 70px;max-width:760px}.admin-panel h1{margin:0 0 8px;font-size:clamp(25px,3vw,34px)}.admin-panel header p{margin:0 0 24px;color:var(--muted);line-height:1.6}.admin-sections{display:flex;gap:8px;margin-bottom:22px}.admin-sections button,.admin-suggestion-tools button{min-height:42px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.admin-sections button[aria-current=page]{border-color:var(--leaf);background:#e4ebdf;color:var(--leaf)}.admin-suggestion-tools{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-suggestion-tools label{display:grid;gap:5px;font-size:13px;font-weight:700}.admin-suggestion-tools select{min-height:42px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);font:inherit}.admin-suggestion-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.admin-suggestion{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--white);overflow-wrap:anywhere}.admin-suggestion p{margin:9px 0;line-height:1.5;white-space:pre-wrap}.admin-suggestion small,.admin-suggestion-target{color:var(--muted)}.admin-suggestion-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-suggestion-meta span{color:var(--leaf);font-size:12px;font-weight:700}.admin-users{list-style:none;padding:0;margin:0;display:grid;gap:9px}.admin-user{padding:0 18px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.admin-user-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;cursor:pointer;list-style:none}.admin-user-head::-webkit-details-marker{display:none}.admin-user-head svg{flex:none;color:var(--muted);transition:transform .15s ease}.admin-user[open] .admin-user-head svg{transform:rotate(90deg)}.admin-user-body{padding:0 0 17px}.admin-user-head strong{font-size:18px}.admin-user-head small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.admin-badge{margin-left:9px;padding:3px 7px;border-radius:6px;background:#e4ebdf;color:var(--leaf);font-size:12px;font-weight:700}.admin-user label{display:grid;gap:7px;font-size:13px;font-weight:700}.admin-user textarea{width:100%;min-height:72px;padding:11px;border:1px solid #b9a48b;border-radius:9px;background:#fffefa;color:var(--ink);font:inherit;resize:vertical}.admin-user-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.admin-pages button,.admin-user-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.admin-user-actions .admin-delete{color:#973f26}.admin-pages button:disabled,.admin-user-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-pages{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:22px}.admin-error{color:#973f26}.admin-pages button:focus-visible,.admin-sections button:focus-visible,.admin-suggestion-tools button:focus-visible,.admin-suggestion-tools select:focus-visible,.admin-user textarea:focus-visible,.admin-user-actions button:focus-visible,.admin-user-head:focus-visible{outline:3px solid var(--leaf);outline-offset:2px}html[data-furigana=hide] ruby.furigana>rt{visibility:hidden}@media (hover:hover){html[data-furigana=hide] ruby.furigana:hover>rt{visibility:visible}}html[data-ja-size=large] [lang=ja]:not([lang=ja] [lang=ja]){zoom:1.15}html[data-ja-size=xlarge] [lang=ja]:not([lang=ja] [lang=ja]){zoom:1.3}.AuthReturnNotice_notice__RVNxl{position:fixed;z-index:1000;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));width:min(420px,calc(100% - 32px));margin:0;padding:14px 18px;border-radius:14px;background:var(--forest);color:var(--white);font-size:14px;line-height:1.5;box-shadow:0 10px 28px rgba(49,39,31,.28);transform:translateX(-50%);animation:AuthReturnNotice_notice-rise__jsIeO .26s cubic-bezier(.16,1,.3,1)}.AuthReturnNotice_error__WnYAq{background:var(--umber-deep)}@keyframes AuthReturnNotice_notice-rise__jsIeO{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.AuthReturnNotice_notice__RVNxl{animation:none}}.BrowserCompatibility_fallback__Xwvfq{position:fixed;z-index:2147483647;inset:0;min-height:100vh;overflow:auto;background:#241a12;color:#fffaf0;font-family:DM Sans,Arial,sans-serif}.BrowserCompatibility_scrim__SN6Fd{position:fixed;inset:0;background:rgba(30,19,11,.6)}.BrowserCompatibility_message__rV31m{position:relative;width:88%;max-width:480px;margin:18vh auto 40px;padding:24px;border-radius:16px;background:#382619;box-shadow:0 18px 44px rgba(18,10,5,.48);text-align:center}.BrowserCompatibility_message__rV31m h1{margin:0 0 14px;font-size:26px;line-height:1.3;letter-spacing:-.025em;word-break:keep-all}.BrowserCompatibility_message__rV31m p{margin:0;font-size:16px;line-height:1.7;word-break:keep-all}.BrowserCompatibility_loading__QzDHX{width:82%;max-width:410px;margin-top:72vh;padding:16px 18px}.BrowserCompatibility_loading__QzDHX p{font-weight:700}.BrowserCompatibility_spinner__p4tbA{display:inline-block;width:24px;height:24px;margin-bottom:10px;border:3px solid rgba(255,250,240,.4);border-top-color:#fffaf0;border-radius:50%;animation:BrowserCompatibility_browser-loading-spin__Rg8u6 .8s linear infinite}.BrowserCompatibility_kakaoGuide__E0hV8{margin-top:18px!important;padding-top:18px;border-top:1px solid rgba(255,250,240,.22);color:#f0dcc4;font-size:14px!important}.BrowserCompatibility_actions__rAXgb{margin-top:22px}.BrowserCompatibility_actions__rAXgb a,.BrowserCompatibility_actions__rAXgb button{display:inline-block;min-height:46px;margin:4px;border:0;border-radius:12px;padding:12px 16px;font:inherit;font-weight:700;line-height:22px;text-decoration:none}.BrowserCompatibility_actions__rAXgb button{background:#ac4f29;color:#fff}.BrowserCompatibility_actions__rAXgb a{background:#f2e2cb;color:#3a281b}.BrowserCompatibility_actions__rAXgb a:focus,.BrowserCompatibility_actions__rAXgb button:focus{outline:3px solid #fff1b8;outline-offset:3px}.BrowserCompatibility_failed__kI3SY,.BrowserCompatibility_unsupported__Gnu_Q,html[data-ohayo-compatible=false] .BrowserCompatibility_loading__QzDHX,html[data-ohayo-startup=failed] .BrowserCompatibility_loading__QzDHX{display:none}html[data-ohayo-compatible=false] .BrowserCompatibility_unsupported__Gnu_Q,html[data-ohayo-compatible=true][data-ohayo-startup=failed] .BrowserCompatibility_failed__kI3SY{display:block}html[data-ohayo-ready=true] .BrowserCompatibility_fallback__Xwvfq{display:none}@keyframes BrowserCompatibility_browser-loading-spin__Rg8u6{to{transform:rotate(1turn)}}@media (max-width:520px){.BrowserCompatibility_message__rV31m{margin-top:12vh;padding:22px 18px}.BrowserCompatibility_message__rV31m h1{font-size:23px}.BrowserCompatibility_loading__QzDHX{margin-top:68vh}.BrowserCompatibility_actions__rAXgb a,.BrowserCompatibility_actions__rAXgb button{display:block;width:100%;margin:8px 0 0}}@media (prefers-reduced-motion:reduce){.BrowserCompatibility_spinner__p4tbA{animation:none}}