@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#3e3a37;font-synthesis:none;--cream:#fbf8f3;--paper:#fffdf9;--pink:#db8f98;--pink-dark:#bd6f7b;--pink-soft:#f8e8e9;--sage:#8fa995;--sage-soft:#e8f0e9;--ink:#3e3a37;--muted:#8a827b;--line:#eee7df;--shadow:0 8px 28px #5c463714;background:#eeeae4;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#eeeae4;min-width:320px;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{background:var(--cream);width:100%;max-width:760px;min-height:100vh;margin:auto;position:relative;box-shadow:0 0 50px #d8d1c7}.app-shell main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.page{min-height:100vh;padding:0 18px 34px}.page>section{margin-top:30px}h1,h2,h3,p{margin-top:0}h1{font-size:25px;line-height:1.35}h2{font-size:19px}h3{font-size:16px}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;background:0 0;border:0}.bottom-nav{z-index:30;width:min(100%,760px);height:calc(68px + env(safe-area-inset-bottom));padding:8px 28px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line);background:#fffdf9f2;justify-content:space-between;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{color:#9b948e;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex}.bottom-nav a.active{color:var(--pink-dark);font-weight:600}.bottom-nav a svg{stroke-width:1.8px}.bottom-nav a.active svg{stroke-width:2.4px}.page-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf8f3eb;grid-template-columns:40px 1fr 40px;align-items:center;height:68px;margin:0 -18px;padding:0 14px;display:grid;position:sticky;top:0}.page-header h1{text-align:center;margin:0;font-size:17px}.icon-button{border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{background:var(--paper)}.icon-button svg{width:21px}.header-action{place-items:center;display:grid}.heart{color:#888;background:#ffffffeb;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 3px 12px #5f4e3b19}.heart.active{color:var(--pink-dark);background:#fff5f6}.stars{color:#d98e5d;letter-spacing:1px;white-space:nowrap;font-size:12px}.stars i{color:#e7ded5;font-style:normal}.eyebrow{color:var(--sage);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.brand-header{justify-content:space-between;align-items:center;padding:27px 4px 20px;display:flex}.brand-header span{letter-spacing:.14em;color:#a89b8e;font-size:9px}.brand-header h1{letter-spacing:.14em;color:#443d37;margin:3px 0 0;font-family:serif;font-size:31px}.brand-header p{color:#9a8e84;letter-spacing:.42em;margin:2px 0;font-size:12px}.brand-mark{background:var(--pink-soft);width:56px;height:56px;color:var(--pink-dark);border-radius:22px 22px 22px 5px;place-items:center;font-size:27px;display:grid;transform:rotate(5deg)}.home-search,.search-bar{background:var(--paper);border:1px solid #f2ece5;border-radius:16px;align-items:center;gap:10px;width:100%;height:50px;padding:0 14px;display:flex;box-shadow:0 4px 18px #53412f0f}.home-search svg,.search-bar svg{color:#a99e94;width:20px}.home-search span{color:#aaa19a;text-align:left;flex:1}.home-search kbd{background:var(--pink-soft);color:var(--pink-dark);border-radius:8px;padding:5px 9px;font:11px inherit}.search-bar input{background:0 0;border:0;outline:0;flex:1;min-width:0}.search-bar button{color:var(--pink-dark);font-size:13px;font-weight:600}.craft-tabs{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.craft-tabs button{text-align:left;color:#7d746d;background:#f0ece7;border-radius:17px;padding:13px 15px;font-weight:700}.craft-tabs button small{color:#a59c95;margin-top:3px;font-size:9px;font-weight:400;display:block}.craft-tabs button.active{background:var(--pink-soft);color:var(--pink-dark);box-shadow:inset 0 0 0 1px #f2ced2}.craft-tabs button:nth-child(2).active{background:var(--sage-soft);color:#64836c;box-shadow:inset 0 0 0 1px #cfdfd2}.mode-grid{gap:10px;display:grid}.mode-card{text-align:left;border-radius:20px;grid-template-columns:42px 1fr 22px;align-items:center;gap:11px;padding:16px;display:grid}.mode-card>svg:first-child{border-radius:14px;width:42px;height:42px;padding:10px}.mode-card b,.mode-card span{display:block}.mode-card b{font-size:16px}.mode-card span{color:#7f7770;margin-top:3px;font-size:11px}.mode-card>svg:last-child{width:18px}.mode-card.pink{background:#f9e7e9}.mode-card.pink>svg:first-child{color:var(--pink-dark);background:#fff7f8}.mode-card.green{background:#e7f0e8}.mode-card.green>svg:first-child{color:#6b8b72;background:#f7fbf7}.section-title{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.section-title h2{margin:0}.section-title button,.section-title>span{color:var(--muted);font-size:12px}.horizontal-cards{scrollbar-width:none;gap:12px;margin:0 -18px;padding:2px 2px 14px 18px;display:flex;overflow-x:auto}.horizontal-cards:after{content:"";min-width:6px}.card-list{gap:14px;display:grid}.tutorial-card{background:var(--paper);box-shadow:var(--shadow);border-radius:21px;grid-template-columns:118px 1fr;min-height:150px;display:grid;overflow:hidden}.tutorial-card.compact{width:210px;min-width:210px;display:block}.card-cover{background:#eee;min-height:150px;position:relative;overflow:hidden}.tutorial-card.compact .card-cover{height:132px;min-height:auto}.card-cover img,.route-cover img,.detail-cover img,.route-detail-cover img{object-fit:cover;width:100%;height:100%;display:block}.card-cover .heart,.route-cover .heart{position:absolute;top:9px;right:9px}.done-pill{color:#64836c;background:#ffffffe6;border-radius:20px;align-items:center;gap:4px;padding:5px 8px;font-size:10px;display:flex;position:absolute;bottom:9px;left:9px}.card-body{padding:15px 13px}.card-body h3{margin:4px 0 5px;line-height:1.45}.meta{color:#8d847d;gap:11px;margin:9px 0;font-size:10px;display:flex}.meta span{align-items:center;gap:3px;display:flex}.meta svg{width:12px;height:12px}.tags{gap:5px;display:flex}.tags span,.chips span{color:#7e756e;background:#f2efea;border-radius:20px;padding:4px 8px;font-size:9px}.coming{background:var(--sage-soft);border-radius:18px;align-items:center;gap:14px;padding:18px;display:flex}.coming>span{font-size:26px}.coming b{font-size:14px}.coming p{color:var(--muted);margin:3px 0 0;font-size:11px}.route-card{background:var(--paper);box-shadow:var(--shadow);border-radius:22px;grid-template-columns:128px 1fr;min-height:190px;display:grid;overflow:hidden}.route-cover{background:#dce9e6;position:relative}.route-info{padding:17px 14px}.route-info h3{margin:5px 0 8px;line-height:1.5}.route-info p{color:#8f877f;margin:8px 0;font-size:10px;line-height:1.6}.route-meta{color:#8f877f;align-items:center;gap:10px;font-size:10px;display:flex}.progress{background:#ebe6df;border-radius:8px;height:6px;margin:11px 0 5px;overflow:hidden}.progress i{background:var(--sage);border-radius:8px;height:100%;display:block}.route-info small{color:#8d847d;font-size:9px}.craft-switch,.segmented{background:#eee9e3;border-radius:14px;margin:4px 0 17px;padding:4px;display:flex}.craft-switch button,.segmented button{color:#8b8179;border-radius:11px;flex:1;padding:9px;font-size:13px}.craft-switch button.active,.segmented button.active{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 3px 10px #6d594714}.filter-head{justify-content:space-between;align-items:center;margin:23px 0 13px;display:flex}.filter-head>div b,.filter-head>div span{display:block}.filter-head>div b{font-size:16px}.filter-head>div span{color:var(--muted);margin-top:3px;font-size:11px}.filter-head>button{background:var(--paper);border:1px solid var(--line);border-radius:12px;align-items:center;gap:5px;padding:8px 10px;font-size:12px;display:flex}.filter-head svg{width:15px}.filter-head i{background:var(--pink);color:#fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;font-style:normal;display:grid}.filter-active{color:var(--pink-dark)!important}.chip-scroll{scrollbar-width:none;gap:7px;margin:0 -18px;padding:0 18px 9px;display:flex;overflow-x:auto}.chip-scroll button,.chips button{white-space:nowrap;color:#847b73;background:#f0ebe5;border-radius:18px;padding:8px 13px;font-size:11px}.chip-scroll button.active,.chips button.active{background:var(--pink);color:#fff}.filter-panel{background:var(--paper);box-shadow:var(--shadow);border-radius:20px;margin:9px 0 18px;padding:16px}.filter-title{justify-content:space-between;margin:3px 0 11px;font-size:13px;display:flex}.filter-title:not(:first-child){margin-top:18px}.filter-title button{color:var(--pink-dark);align-items:center;font-size:10px;display:flex}.chips{gap:7px;display:flex}.chips.wrap{flex-wrap:wrap}.results{margin-top:17px}.empty{text-align:center;color:var(--muted);padding:55px 25px}.empty>span{font-size:38px}.empty h3{color:#6b635d;margin:12px 0 6px;font-size:16px}.empty p{font-size:12px;line-height:1.7}.route-hero{background:linear-gradient(145deg,#e1ece4,#f3f5ea);border-radius:24px;margin:8px 0 20px;padding:24px}.route-hero span{color:#6f8b75;letter-spacing:.08em;font-size:10px}.route-hero h2{margin:8px 0;font-family:serif;line-height:1.55}.route-hero p{color:#7d8178;margin:0;font-size:11px}.detail-cover,.route-detail-cover{height:320px;margin:0 -18px;position:relative;overflow:hidden}.detail-cover>span,.route-detail-cover>span{background:#ffffffdb;border-radius:15px;padding:6px 10px;font-size:10px;position:absolute;bottom:14px;left:18px}.detail-title{padding:22px 2px 8px}.detail-title h1{margin:5px 0 9px}.detail-title>div:nth-of-type(2){align-items:center;gap:14px;display:flex}.detail-title>div span:last-child,.route-detail-title>div span{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.detail-title svg,.route-detail-title svg{width:14px}.detail-title p{color:var(--muted);margin:10px 0;font-size:11px}.detail-actions{gap:9px;display:grid}.primary,.complete,.welcome-sheet>button{border-radius:15px;justify-content:center;align-items:center;gap:8px;height:50px;font-weight:600;display:flex}.primary{background:var(--pink);color:#fff;box-shadow:0 7px 18px #d78d9560}.primary svg,.complete svg{width:18px}.complete{background:var(--paper);border:1px solid var(--line)}.complete.done{color:#64836c;background:var(--sage-soft);border-color:#d2e0d4}.check-section{background:var(--paper);box-shadow:var(--shadow);border-radius:22px;padding:18px}.check-row{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:11px;padding:12px 0;display:flex}.check-row input{opacity:0;position:absolute}.check-row>i{color:#fff;border:1.5px solid #ddd4ca;border-radius:8px;place-items:center;width:23px;height:23px;display:grid}.check-row input:checked+i{background:var(--sage);border-color:var(--sage)}.check-row i svg{width:15px}.check-row>div{flex:1}.check-row b,.check-row small{font-size:13px;display:block}.check-row small{color:var(--muted);margin-top:2px;font-size:9px}.check-row>span{color:var(--muted);font-size:11px}.info-card{border-radius:18px;gap:12px;padding:16px;display:flex}.info-card>svg{flex:none;width:20px}.info-card b{font-size:13px}.info-card p,.info-card li{color:#746d67;font-size:11px;line-height:1.7}.info-card p{margin:4px 0 0}.info-card ul{margin:5px 0 0;padding-left:17px}.warning{color:#a46e3e;background:#fff1e2}.warning p{color:#886b50}.tips{background:var(--sage-soft);color:#66806b}.link-tools{justify-content:center;gap:24px;margin:24px 0;display:flex}.link-tools button,.link-tools a{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.link-tools svg{width:14px}.kit-card{background:linear-gradient(130deg,#f6e4e4,#f9f0e7);border-radius:20px;align-items:center;gap:12px;padding:17px;display:flex}.kit-card>svg{color:var(--pink-dark);background:#fff;border-radius:14px;width:42px;height:42px;padding:9px}.kit-card>div{flex:1}.kit-card span,.kit-card b,.kit-card small{display:block}.kit-card span{color:var(--muted);font-size:9px}.kit-card b{margin:2px 0;font-size:13px}.kit-card small{color:var(--pink-dark)}.kit-card button{align-items:center;font-size:11px;display:flex}.kit-card button svg{width:14px}.sheet-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2b252061;position:fixed;inset:0}.welcome-sheet{z-index:51;background:var(--paper);width:min(100%,760px);padding:12px 24px calc(23px + env(safe-area-inset-bottom));text-align:center;border-radius:28px 28px 0 0;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.sheet-handle{background:#ddd5cd;border-radius:5px;width:42px;height:4px;margin:0 auto 15px}.welcome-icon{font-size:37px}.welcome-sheet h2{margin:6px 0}.welcome-sheet p{color:var(--muted);margin-bottom:20px;font-size:13px}.welcome-sheet>button{background:#f0ebe5;width:100%;margin-top:8px}.welcome-sheet>button.primary{background:var(--pink)}.welcome-sheet>button.quiet{color:var(--muted);background:0 0;font-weight:400}.welcome-sheet svg{width:17px}.toast{z-index:80;color:#fff;white-space:nowrap;background:#413a35;border-radius:20px;padding:10px 16px;font-size:11px;position:fixed;bottom:95px;left:50%;transform:translate(-50%)}.route-detail-cover{border-radius:0 0 26px 26px;height:260px}.route-detail-title{padding:21px 2px}.route-detail-title h1{margin:6px 0 9px}.route-detail-title p{color:var(--muted);font-size:12px;line-height:1.7}.route-detail-title>div:last-child{gap:14px;display:flex}.audience{background:var(--sage-soft);border-radius:16px;padding:14px 16px}.audience b{color:#67806d;font-size:12px}.audience p{color:#748078;margin:4px 0 0;font-size:11px}.timeline{padding-left:9px}.lesson{padding-bottom:16px;padding-left:36px;position:relative}.lesson:before{content:"";background:#d9d2ca;width:1px;position:absolute;top:30px;bottom:-4px;left:12px}.lesson:last-child:before{display:none}.timeline-dot{color:#a59c94;z-index:1;background:#e9e4de;border-radius:50%;place-items:center;width:25px;height:25px;padding:5px;display:grid;position:absolute;top:13px;left:0}.timeline-dot svg{width:15px}.lesson.completed .timeline-dot{background:var(--sage);color:#fff}.lesson.learning .timeline-dot{background:var(--pink);color:#fff}.lesson-card{background:var(--paper);border-radius:17px;align-items:center;padding:14px;display:flex;box-shadow:0 4px 15px #58432e0a}.lesson-card>div{flex:1}.lesson-card span{color:var(--muted);font-size:9px}.lesson-card h3{margin:3px 0}.lesson-card p{color:var(--muted);margin:0;font-size:10px}.lesson-card small{color:#b27e55;margin-top:8px;font-size:9px;display:block}.lesson-card a svg{color:#aaa;width:17px}.lesson.completed .lesson-card{opacity:.72}.history{gap:2px;display:grid}.history button{text-align:left;align-items:center;gap:9px;padding:10px;font-size:12px;display:flex}.history svg{color:#aaa;width:14px}.search-tips{margin-top:28px}.search-tips>b{margin-bottom:11px;font-size:12px;display:block}.result-count{color:var(--muted);margin:18px 0;font-size:11px}.search-results>section{margin-top:28px}.profile-hero{align-items:center;gap:14px;padding:15px 5px;display:flex}.avatar{background:var(--pink-soft);width:58px;height:58px;color:var(--pink-dark);border-radius:22px;place-items:center;font-size:25px;display:grid}.profile-hero h2{margin:0 0 4px}.profile-hero p{color:var(--muted);margin:0;font-size:11px}.stats{background:var(--paper);border-radius:20px;grid-template-columns:repeat(3,1fr);margin:10px 0 16px;padding:18px 10px;display:grid}.stats div{text-align:center;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats b,.stats span{display:block}.stats b{font-size:21px}.stats span{color:var(--muted);margin-top:3px;font-size:9px}.profile-links{background:var(--paper);border-radius:20px;padding:4px 16px}.profile-links a{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:15px 2px;display:flex}.profile-links a:last-child{border:0}.profile-links>a>svg:first-child{width:19px;color:var(--pink-dark)}.profile-links>a>svg:last-child{color:#bbb;width:16px}.profile-links div{flex:1}.profile-links b,.profile-links span{display:block}.profile-links b{font-size:13px}.profile-links span{color:var(--muted);margin-top:2px;font-size:9px}.local-note{color:#81776f;background:#f0ece6;border-radius:16px;align-items:flex-start;gap:11px;margin-top:26px;padding:14px;display:flex}.local-note svg{width:17px}.local-note p{margin:0;font-size:10px;line-height:1.7}@media (width>=640px){.page{padding-left:32px;padding-right:32px}.page-header{margin-left:-32px;margin-right:-32px;padding-left:28px;padding-right:28px}.home .card-list,.results{grid-template-columns:1fr 1fr}.detail-cover{height:410px;margin-left:-32px;margin-right:-32px}.tutorial-card:not(.compact){grid-template-columns:140px 1fr}.route-card{grid-template-columns:190px 1fr}.mode-grid{grid-template-columns:1fr 1fr}.route-detail-cover{margin-left:0;margin-right:0}.check-section{max-width:600px}.tutorial-detail>section,.tutorial-detail>.detail-actions,.tutorial-detail>.detail-title,.tutorial-detail>.link-tools{max-width:600px;margin-left:auto;margin-right:auto}}@media (prefers-reduced-motion:no-preference){button,a,.tutorial-card,.route-card{transition:all .18s}.tutorial-card:hover,.route-card:hover{transform:translateY(-2px);box-shadow:0 12px 34px #5c46371f}}.app-shell{overflow-x:hidden}.bottom-nav{width:min(100vw,760px)}.craft-tabs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.horizontal-cards .tutorial-card.compact .card-cover{aspect-ratio:1;background:#f3eee7;height:auto}.horizontal-cards .tutorial-card.compact .card-cover img{object-fit:contain}.explore-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:20;background:#fbf8f3f2;align-items:center;gap:14px;height:82px;margin:0 -18px 8px;padding:0 18px;display:flex;position:sticky;top:0}.explore-title{flex:none;align-items:center;gap:7px;display:flex}.explore-title h1{letter-spacing:.04em;white-space:nowrap;margin:0;font-family:serif;font-size:23px}.explore-title span{font-size:20px}.craft-pill-scroll{scrollbar-width:none;background:#eee9e3;border-radius:13px;align-items:center;gap:3px;padding:4px;display:flex;overflow-x:auto}.craft-pill-scroll button{color:#928a83;white-space:nowrap;border-radius:9px;flex:none;padding:7px 11px;font-size:11px}.craft-pill-scroll button.active{color:var(--pink-dark);background:#fff;font-weight:700;box-shadow:0 2px 7px #68544112}.explore-filter-head{margin-top:22px}.filter-actions{gap:7px;display:flex}.filter-actions button{border:1px solid var(--line);background:var(--paper);border-radius:12px;align-items:center;gap:5px;padding:9px 10px;font-size:11px;display:flex;position:relative}.filter-actions button svg{width:15px;height:15px}.filter-actions button i{background:var(--pink);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:8px;font-style:normal;display:grid;position:absolute;top:-6px;right:-5px}.compact-filter{margin-top:5px}.compact-filter .filter-title svg{width:13px}.tutorial-waterfall{columns:2;column-gap:10px;margin-top:14px}.tutorial-waterfall .tutorial-card.compact{vertical-align:top;break-inside:avoid;border-radius:19px;width:100%;min-width:0;margin:0 0 11px;display:inline-block}.tutorial-waterfall .tutorial-card.compact .card-cover{height:170px}.tutorial-waterfall .tutorial-card:nth-child(4n+2) .card-cover{height:142px}.tutorial-waterfall .tutorial-card:nth-child(4n+3) .card-cover{height:195px}.tutorial-waterfall .tutorial-card:nth-child(4n+4) .card-cover{height:156px}.tutorial-waterfall .card-body{padding:12px 11px 13px}.tutorial-waterfall .card-body h3{margin-top:4px;font-size:14px}.tutorial-waterfall .meta{flex-wrap:wrap;gap:7px;margin:7px 0}.tutorial-waterfall .tags{flex-wrap:wrap}.tutorial-waterfall .heart{width:34px;height:34px}.tutorial-waterfall .done-pill{font-size:8px}.tutorial-waterfall .eyebrow{font-size:9px}@media (width>=640px){.explore-header{margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px}.tutorial-waterfall{column-gap:15px}.tutorial-waterfall .tutorial-card.compact .card-cover{height:260px}.tutorial-waterfall .tutorial-card:nth-child(4n+2) .card-cover{height:215px}.tutorial-waterfall .tutorial-card:nth-child(4n+3) .card-cover{height:290px}.tutorial-waterfall .tutorial-card:nth-child(4n+4) .card-cover{height:235px}}.privacy-link{text-align:center;color:#948b83;font-size:11px}.privacy-link a{color:#bd6f7b}.policy-page section{background:#fff;border-radius:22px;padding:20px}.policy-page section h2{margin-top:22px}.policy-page section h2:first-child{margin-top:0}.policy-page section p{color:#756e68;line-height:1.8}.challenge-product{background:linear-gradient(135deg,#f7e8e7,#fff2df);border-radius:18px;align-items:center;gap:12px;margin:14px 0;padding:15px;display:flex}.challenge-product>svg{box-sizing:content-box;color:#c47482;background:#fff;border-radius:12px;width:23px;height:23px;padding:10px}.challenge-product span{flex-direction:column;flex:1;display:flex}.challenge-product small{color:#9a7d72}.challenge-product em{color:#c46e7e;font-style:normal}.challenge-product>svg:last-child{box-sizing:border-box;color:#92877f;background:0 0;width:18px;padding:0}.revision-button{color:#9b6a29;background:#fff0dc;border-radius:12px;width:100%;margin-top:10px;padding:11px}.revision-form{background:#f5f2ee;border-radius:14px;gap:8px;margin-top:10px;padding:13px;display:grid}.revision-form textarea,.revision-form input{width:100%;font:inherit;background:#fff;border:1px solid #e4ddd6;border-radius:10px;padding:11px}.revision-form label{color:#7e756d;font-size:12px}.revision-form label input{margin-top:6px}.revision-form button{color:#fff;background:#cc7888;border-radius:11px;padding:11px}.home-challenge-card{text-align:left;color:#423b36;background:linear-gradient(135deg,#fff0e5,#f5e8ed);border:0;border-radius:26px;align-items:center;gap:14px;width:100%;min-height:116px;margin:18px 0 28px;padding:18px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #704e3a14}.home-challenge-card img{object-fit:cover;border-radius:20px;width:88px;height:88px}.home-challenge-card>span{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.home-challenge-card small{color:#c56f7d;letter-spacing:.08em;font-weight:800}.home-challenge-card b{font-size:19px}.home-challenge-card em{color:#837a72;font-size:13px;font-style:normal}.home-challenge-card>svg:nth-last-child(2){color:#e5a04f;opacity:.18;width:62px;height:62px;position:absolute;top:13px;right:46px}.home-challenge-card>svg:last-child{color:#8a7d73;width:20px;position:relative}.challenge-page,.challenge-detail,.challenge-submit,.my-submissions{padding-bottom:110px}.challenge-intro{background:#edf5ef;border-radius:24px;align-items:center;gap:14px;margin-bottom:22px;padding:20px;display:flex}.challenge-intro>span{color:#6f967a;background:#fff;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.challenge-intro b{font-size:18px}.challenge-intro p{color:#7f7a74;margin:5px 0 0;line-height:1.6}.challenge-list{gap:16px;display:grid}.challenge-list-card{color:#403a35;background:#fff;border-radius:24px;grid-template-columns:110px 1fr auto;align-items:center;gap:16px;padding:12px;text-decoration:none;display:grid;box-shadow:0 12px 28px #473b3112}.challenge-list-card>img,.challenge-cover-placeholder{object-fit:cover;background:#f5e5d5;border-radius:18px;place-items:center;width:110px;height:130px;font-size:38px;display:grid}.challenge-list-card h2{margin:8px 0 5px;font-size:20px}.challenge-list-card p{color:#827a73;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 9px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.challenge-list-card small{color:#a0968e;align-items:center;gap:5px;display:flex}.challenge-list-card small svg{width:14px}.challenge-list-card>svg{color:#b4aba3;width:19px}.challenge-status{color:#bd7180;background:#f5ebe7;border-radius:999px;width:max-content;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.challenge-status.submission_open{color:#659075;background:#eaf4ed}.challenge-status.gallery_voting{color:#b47725;background:#fff2d9}.challenge-status.completed,.challenge-status.archived{color:#837b74;background:#f1efec}.challenge-rules-note,.local-note{color:#807970;background:#f6f3ef;border-radius:18px;gap:12px;margin-top:24px;padding:16px;display:flex}.challenge-rules-note svg{color:#7e9d83;flex:none}.challenge-rules-note p{margin:0;line-height:1.6}.soft-message{text-align:center;color:#958c84;padding:30px 10px}.challenge-hero{background:#fff;border-radius:0 0 30px 30px;margin:-2px -2px 26px;overflow:hidden}.challenge-hero img{object-fit:cover;width:100%;max-height:430px;display:block}.challenge-hero>div{padding:22px}.challenge-hero h1{margin:10px 0 8px;font-size:29px}.challenge-hero p,.section-lead,.challenge-description{color:#7a746e;line-height:1.75}.challenge-section-head{justify-content:space-between;align-items:end;gap:10px;margin:28px 0 8px;display:flex}.challenge-section-head small{color:#cf8190;letter-spacing:.14em;font-size:11px;font-weight:800}.challenge-section-head h2{margin:4px 0 0;font-size:23px}.challenge-section-head>span{color:#9c928a;font-size:12px}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.candidate-grid article{background:#fff;border:2px solid #0000;border-radius:22px;overflow:hidden;box-shadow:0 8px 22px #46392f0f}.candidate-grid article.selected{border-color:#d78391}.candidate-grid article>img{aspect-ratio:4/5;object-fit:cover;width:100%}.candidate-grid article>div{padding:13px}.candidate-grid h3{margin:0 0 6px;font-size:16px}.candidate-grid p{color:#817970;height:38px;margin:0 0 8px;font-size:12px;line-height:1.5;overflow:hidden}.candidate-grid small{color:#9b928a;align-items:center;gap:4px;margin-top:5px;font-size:11px;display:flex}.candidate-grid small svg{width:13px;height:13px}.vote-row{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.vote-row b{color:#cc7888}.vote-row button,.submission-gallery button{color:#fff;background:#d27d8b;border:0;border-radius:999px;padding:9px 12px;font-weight:700}.vote-row button:disabled,.submission-gallery button:disabled{background:#a4b8a8}.winner-announcement{background:linear-gradient(135deg,#fff0d5,#f6e5eb);border-radius:26px;gap:18px;padding:24px;display:flex}.winner-announcement>svg{color:#dc9a35;width:46px;height:46px}.winner-announcement h2{margin:4px 0}.winner-announcement p{color:#7d746b;margin:0}.challenge-info-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.challenge-info-grid>div{background:#fff;border-radius:20px;flex-direction:column;gap:7px;padding:17px;display:flex}.challenge-info-grid svg{color:#c97785}.challenge-info-grid b{margin-bottom:4px}.challenge-info-grid span{color:#77716b;font-size:13px}.rules-box{background:#f3f1ed;border-radius:20px;margin:14px 0;padding:18px}.rules-box p{white-space:pre-line;color:#77716b;line-height:1.7}.primary-challenge-button{color:#fff;background:#cc7888;border:0;border-radius:17px;justify-content:center;align-items:center;gap:8px;width:100%;margin:18px 0;padding:15px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.primary-challenge-button:disabled{opacity:.55}.stage-wait{text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:center;padding:36px;display:flex}.stage-wait svg{color:#81a18a}.stage-wait b{margin-top:10px;font-size:19px}.stage-wait p{color:#8b837c}.submission-gallery{columns:2;column-gap:12px;margin-top:18px}.submission-gallery article{break-inside:avoid;background:#fff;border-radius:20px;margin-bottom:12px;overflow:hidden;box-shadow:0 8px 22px #4a3c300f}.submission-gallery img{width:100%;display:block}.submission-gallery article>div{padding:13px}.submission-gallery h3{margin:4px 0 6px;font-size:16px}.submission-gallery p{-webkit-line-clamp:3;color:#817a73;-webkit-box-orient:vertical;margin:0 0 8px;font-size:12px;line-height:1.55;display:-webkit-box;overflow:hidden}.submission-gallery small{color:#78a082}.submission-gallery span{color:#948b83;font-size:11px}.submission-gallery button{align-items:center;gap:5px;margin-top:10px;display:flex}.submission-gallery button svg{width:15px}.award-list{gap:10px;margin:15px 0;display:grid}.award-list>div{background:#fff;border-radius:18px;gap:12px;padding:16px;display:flex}.award-list svg{color:#dd9c36}.award-list span{flex-direction:column;display:flex}.award-list small{color:#8d847c}.award-list p{color:#827a73;margin:5px 0 0}.submit-challenge-name{background:#edf5ef;border-radius:20px;align-items:center;gap:12px;margin-bottom:20px;padding:17px;display:flex}.submit-challenge-name svg{color:#76a080}.submit-challenge-name div{flex-direction:column;display:flex}.submit-challenge-name small{color:#7a8f80}.challenge-submit form{flex-direction:column;gap:8px;display:flex}.challenge-submit form>label:not(.check-line):not(.image-picker){margin-top:10px;font-weight:700}.challenge-submit input,.challenge-submit textarea,.challenge-submit select,.claim-lookup input,.contact-inline input,.contact-inline select{box-sizing:border-box;width:100%;font:inherit;color:#443e39;background:#fff;border:1px solid #e7e1da;border-radius:14px;padding:13px}.challenge-submit label small{color:#9c938a;font-weight:400}.image-picker{color:#bd7180;background:#fff8f7;border:1px dashed #cf9aa3;border-radius:17px;justify-content:center;align-items:center;gap:8px;height:92px;display:flex}.image-picker input{display:none}.selected-files{flex-wrap:wrap;gap:6px;display:flex}.selected-files span{background:#efede9;border-radius:999px;padding:5px 9px;font-size:11px}.check-line{color:#69635d;align-items:flex-start;gap:8px;margin-top:12px;line-height:1.5;display:flex}.check-line input{width:auto;margin-top:4px}.contact-fields{background:#f1f6f2;border-radius:18px;gap:7px;margin-top:8px;padding:16px;display:grid}.contact-fields p{color:#748278;gap:6px;margin:4px 0 0;font-size:12px;display:flex}.contact-fields p svg{width:16px}.form-error{color:#bc4d57;background:#fff0f0;border-radius:12px;padding:10px}.claim-success{text-align:center;background:#fff;border-radius:26px;padding:34px 20px}.claim-success>svg{color:#689879;background:#e9f4ec;border-radius:50%;width:54px;height:54px;padding:12px}.claim-success h1{font-size:25px}.claim-success p{color:#7d756e;line-height:1.6}.claim-success code,.my-submission-list code{letter-spacing:.08em;background:#f4f1ed;border-radius:12px;margin:18px 0;padding:14px;font-size:18px;display:block}.claim-success button{color:#fff;background:#cb7988;border:0;border-radius:14px;width:100%;padding:13px;font-weight:800}.claim-success button.secondary{color:#65836c;background:#edf3ee;margin-top:8px}.claim-lookup{background:#fff;border-radius:20px;padding:17px}.claim-lookup>div{gap:8px;margin-top:10px;display:flex}.claim-lookup button{color:#fff;background:#ca7887;border:0;border-radius:12px;padding:0 18px}.claim-lookup small{color:#bd5965;margin-top:8px;display:block}.my-submission-list{gap:14px;margin-top:18px;display:grid}.my-submission-list article{background:#fff;border-radius:22px;padding:18px}.submission-status-head{justify-content:space-between;display:flex}.submission-status{color:#766f69;background:#f1efec;border-radius:999px;padding:4px 9px;font-size:11px}.submission-status.approved{color:#60846a;background:#e8f3eb}.submission-status.changes_requested{color:#aa7126;background:#fff3db}.submission-status.rejected{color:#aa5a60;background:#fdeaea}.my-submission-list h2{margin:12px 0 6px}.my-submission-list p{color:#77706a}.my-submission-list code{font-size:12px}.review-note{color:#8b672d;background:#fff4dc;border-radius:13px;padding:12px}.review-note b{display:block}.text-button{color:#c36f7e;background:0 0;border:0;text-decoration:underline}.contact-inline{grid-template-columns:1fr 1fr auto;gap:6px;margin-top:10px;display:grid}.contact-inline button{color:#fff;background:#70917a;border:0;border-radius:10px}.cooperation-saved{color:#6d9478;align-items:center;gap:5px;font-size:13px;display:flex}.cooperation-saved svg{width:16px}.my-submission-list article>a{color:#c06e7d;justify-content:flex-end;align-items:center;margin-top:10px;text-decoration:none;display:flex}.my-submission-list article>a svg{width:16px}@media (width<=390px){.candidate-grid,.challenge-info-grid{grid-template-columns:1fr}.challenge-list-card{grid-template-columns:86px 1fr auto}.challenge-list-card>img,.challenge-cover-placeholder{width:86px;height:112px}.contact-inline{grid-template-columns:1fr}.contact-inline button{padding:11px}.submission-gallery{column-gap:9px}}.admin-app{--admin-bg:#f6f5f2;--admin-card:#fff;--admin-ink:#282522;--admin-muted:#858079;--admin-line:#eae6e0;--admin-pink:#c87984;background:var(--admin-bg);min-height:100vh;color:var(--admin-ink);font-family:Noto Sans SC,Microsoft YaHei,sans-serif}.admin-app *{box-sizing:border-box}.admin-app button,.admin-app input,.admin-app select,.admin-app textarea{font:inherit}.admin-app>aside{z-index:50;color:#ddd7d1;background:#292725;flex-direction:column;width:238px;padding:24px 15px;display:flex;position:fixed;top:0;bottom:0;left:0}.admin-brand{border-bottom:1px solid #ffffff12;align-items:center;gap:11px;height:62px;padding:0 8px 17px;display:flex}.admin-brand>span{color:#fff;background:#d38b95;border-radius:13px;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.admin-brand b,.admin-brand small{display:block}.admin-brand b{letter-spacing:.1em;color:#fff;font-family:serif}.admin-brand small{letter-spacing:.14em;color:#918b85;margin-top:2px;font-size:8px}.admin-brand button{color:#fff;margin-left:auto;display:none}.admin-app aside nav{gap:5px;padding-top:21px;display:grid}.admin-app aside nav a{color:#aaa39d;border-radius:11px;align-items:center;gap:11px;padding:11px 13px;font-size:12px;display:flex}.admin-app aside nav a svg{width:17px}.admin-app aside nav a:hover,.admin-app aside nav a.active{color:#fff;background:#ffffff10}.admin-app aside nav a.active{box-shadow:inset 3px 0 #d48a94}.admin-account{border-top:1px solid #ffffff12;align-items:center;gap:8px;margin-top:auto;padding:17px 6px 0;display:flex}.admin-account>i{background:#d6ad63;border-radius:50%;width:8px;height:8px}.admin-account>i.online{background:#7cbb88}.admin-account>div{flex:1;min-width:0}.admin-account b,.admin-account small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-account b{color:#ddd;font-size:9px}.admin-account small{color:#827d78;margin-top:2px;font-size:8px}.admin-account button{color:#817b76}.admin-account button svg{width:15px}.admin-main{min-height:100vh;margin-left:238px;padding:38px clamp(25px,4vw,64px) 60px}.admin-mobile-head{display:none}.admin-loading{color:#8b837c;background:#f6f5f2;place-items:center;height:100vh;display:grid}.admin-page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;display:flex}.admin-page-head span,.editor-title>span{letter-spacing:.18em;color:#bd7c85;font-size:9px;font-weight:700}.admin-page-head h1,.editor-title h1{margin:4px 0;font-size:28px}.admin-page-head p,.editor-title p{color:var(--admin-muted);margin:0;font-size:11px}.admin-primary{box-shadow:0 5px 15px #b96e7830;color:#fff!important;background:#c87984!important;border:0!important}.admin-primary.small{border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 15px;font-size:11px;font-weight:600;display:inline-flex}.admin-primary.small svg{width:15px}.admin-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.admin-stats>div{border:1px solid var(--admin-line);background:#fff;border-radius:17px;grid-template-columns:42px 1fr;column-gap:12px;padding:17px;display:grid}.admin-stats i{border-radius:13px;grid-row:1/4;place-items:center;width:42px;height:42px;display:grid}.admin-stats i svg{width:20px}.admin-stats span{color:var(--admin-muted);font-size:10px}.admin-stats b{font-size:24px}.admin-stats small{color:#aaa;font-size:8px}.dashboard-grid{grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px;display:grid}.admin-panel{border:1px solid var(--admin-line);background:#fff;border-radius:17px;padding:20px}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.panel-head h2{margin:0 0 3px;font-size:15px}.panel-head p{color:var(--admin-muted);margin:0;font-size:9px}.panel-head>a{color:#a36d75;align-items:center;gap:4px;font-size:9px;display:flex}.panel-head>a svg{width:12px}.bar-chart{gap:12px;display:grid}.bar-chart>div{grid-template-columns:58px 1fr 20px;align-items:center;gap:8px;font-size:9px;display:grid}.bar-chart i{background:#f0ece7;border-radius:7px;height:7px;overflow:hidden}.bar-chart i b{background:linear-gradient(90deg,#d88d96,#9cb09d);border-radius:7px;height:100%;display:block}.bar-chart em{color:#aaa;font-style:normal}.todo-list{display:grid}.todo-list>a{border-top:1px solid var(--admin-line);align-items:center;gap:9px;padding:10px 0;display:flex}.todo-list>a>i{color:#bd7a56;background:#fff0e6;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.todo-list svg{width:14px}.todo-list div{flex:1}.todo-list b,.todo-list span{display:block}.todo-list b{font-size:10px}.todo-list span{color:#aaa;margin-top:2px;font-size:8px}.dashboard-empty,.admin-table-empty{text-align:center;color:#aaa;padding:42px;font-size:10px}.admin-content-list>a{border-top:1px solid var(--admin-line);grid-template-columns:48px 1fr 70px 82px;align-items:center;gap:12px;padding:10px 0;display:grid}.admin-content-list img{object-fit:cover;border-radius:10px;width:48px;height:48px}.admin-content-list b,.admin-content-list span{display:block}.admin-content-list b{font-size:11px}.admin-content-list span{color:#999;margin-top:3px;font-size:8px}.admin-content-list>a>small{color:#999;align-items:center;gap:4px;font-size:8px;display:flex}.admin-content-list>a>small svg{width:12px}.status-badge{border-radius:12px;width:max-content;padding:4px 8px;font-size:8px;font-weight:600;display:inline-flex}.status-badge.published,.status-badge.resolved{color:#5f8067;background:#e4f0e7}.status-badge.draft{color:#8a8178;background:#f2eee8}.status-badge.offline{color:#898989;background:#eee}.status-badge.pending{color:#a36f3f;background:#fff0df}.admin-filters{border:1px solid var(--admin-line);background:#fff;border-radius:14px;align-items:center;gap:8px;margin-bottom:13px;padding:10px;display:flex}.admin-filters select,.admin-filters input,.inline-editor input,.inline-editor select,.product-editor>input,.product-editor>select,.admin-modal input{border:1px solid var(--admin-line);background:#fbfaf8;border-radius:9px;outline:0;padding:9px 10px;font-size:10px}.admin-search{flex:1;align-items:center;gap:7px;min-width:180px;padding-left:7px;display:flex}.admin-search svg{color:#aaa;width:15px}.admin-search input{background:0 0;border:0;flex:1}.admin-filters select{min-width:120px}.admin-table-wrap{border:1px solid var(--admin-line);background:#fff;border-radius:15px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;min-width:760px}.admin-table th{text-align:left;letter-spacing:.08em;color:#999;background:#faf8f5;padding:11px 14px;font-size:8px}.admin-table td{border-top:1px solid var(--admin-line);color:#655f59;padding:11px 14px;font-size:10px}.table-content{align-items:center;gap:10px;min-width:210px;display:flex}.table-content img{object-fit:cover;border-radius:9px;width:45px;height:45px}.table-content b,.table-content small{display:block}.table-content b{color:#36312d;font-size:11px}.table-content small,.block{color:#aaa;margin-top:3px;font-size:8px}.table-actions{gap:4px;display:flex}.table-actions a,.table-actions button{color:#807871;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.table-actions a:hover,.table-actions button:hover{background:#f2efeb}.table-actions svg{width:14px}.danger-icon{color:#bd6970!important}.admin-modal-mask{z-index:100;background:#25211f66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-modal{text-align:center;background:#fff;border-radius:18px;width:min(390px,100%);padding:26px;box-shadow:0 20px 60px #0003}.admin-modal>svg{color:#bd6d5e;background:#fff0ea;border-radius:50%;width:35px;height:35px;padding:8px}.admin-modal h3{margin:12px 0 6px;font-size:16px}.admin-modal p{color:#888;font-size:10px;line-height:1.6}.admin-modal>div{justify-content:center;gap:8px;margin-top:19px;display:flex}.admin-modal>div button{background:#eeeae5;border-radius:9px;padding:9px 14px;font-size:10px}.admin-modal>div button.danger{color:#fff;background:#bd6d70}.admin-toast{z-index:120;color:#fff;background:#34312e;border-radius:12px;align-items:center;gap:8px;padding:11px 14px;font-size:10px;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 9px 25px #0003}.admin-toast>svg{color:#8fd09b;width:16px}.admin-toast button{color:#aaa;padding:0}.admin-toast button svg{width:13px}.editor-page{max-width:1180px;margin:auto}.editor-top{border-bottom:1px solid var(--admin-line);justify-content:space-between;align-items:flex-start;height:46px;display:flex}.editor-top>a,.editor-top>div>*{align-items:center;gap:5px;font-size:10px;display:inline-flex}.editor-top>a svg,.editor-top>div svg{width:14px}.editor-top>div{gap:7px;display:flex}.editor-top>div>*{border:1px solid var(--admin-line);background:#fff;border-radius:9px;padding:8px 11px}.editor-title{padding:22px 0}.editor-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:17px;display:grid}.editor-main,.editor-side{gap:14px;display:grid}.editor-side{position:sticky;top:20px}.form-section{border:1px solid var(--admin-line);background:#fff;border-radius:15px;padding:19px}.form-section-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.form-section-head h2{margin:0;font-size:14px}.form-section-head p{color:#aaa;margin:3px 0 0;font-size:8px}.form-section-head>button{color:#b2747c;align-items:center;gap:4px;font-size:9px;display:flex}.form-section-head>button svg{width:13px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.field{gap:6px;margin-top:12px;display:grid}.form-grid .field{margin:0}.field.wide{grid-column:1/-1}.field>span{color:#777069;font-size:9px}.field input,.field select,.field textarea,.form-section>input{border:1px solid var(--admin-line);resize:vertical;background:#fbfaf8;border-radius:9px;outline:0;width:100%;padding:10px;font-size:10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#d6a3aa;box-shadow:0 0 0 3px #d89ca41c}.note-id{background:#f6f3ef;border-radius:9px;justify-content:space-between;margin-top:12px;padding:10px;font-size:9px;display:flex}.note-id code{color:#ad7078}.repeat-row{align-items:center;gap:6px;margin-top:7px;display:flex}.repeat-row>svg{color:#bbb;cursor:grab;width:14px}.repeat-row input{border:1px solid var(--admin-line);border-radius:8px;flex:2;min-width:0;padding:9px;font-size:9px}.repeat-row input:nth-of-type(n+2){flex:1}.repeat-row button{color:#be7779}.repeat-row button svg{width:14px}.form-empty{text-align:center;color:#aaa;background:#faf9f7;border-radius:9px;padding:22px;font-size:9px}.choice-grid{flex-wrap:wrap;gap:6px;display:flex}.choice-grid.vertical{display:grid}.choice-grid label{border:1px solid var(--admin-line);background:#faf9f7;border-radius:8px;align-items:center;gap:5px;padding:7px 8px;font-size:8px;display:flex}.choice-grid input{accent-color:#c77984}.cover-uploader{cursor:pointer;border-radius:11px;display:block;position:relative;overflow:hidden}.cover-uploader img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.cover-uploader span{background:#fffdf9e8;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:9px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.cover-uploader span svg{width:14px}.cover-uploader input{display:none}.editor-side small{color:#aaa;margin-top:8px;font-size:8px;line-height:1.6;display:block}.lesson-editor-list{gap:8px;display:grid}.lesson-editor-list>div{border:1px solid var(--admin-line);background:#faf8f5;border-radius:11px;grid-template-columns:30px 1fr 30px;gap:10px;padding:11px;display:grid}.lesson-editor-list>div>b{color:#6f8974;background:#e9f0e9;border-radius:9px;place-items:center;width:28px;height:28px;font-size:9px;display:grid}.lesson-editor-list>div>div{gap:6px;display:grid}.lesson-editor-list input,.lesson-editor-list textarea,.lesson-editor-list select{border:1px solid var(--admin-line);resize:vertical;background:#fff;border-radius:7px;padding:7px;font-size:9px}.lesson-editor-list aside{align-content:start;display:grid}.lesson-editor-list aside button{color:#999;height:25px}.lesson-editor-list aside svg{width:13px}.admin-route-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.admin-route-grid>article{border:1px solid var(--admin-line);background:#fff;border-radius:17px;overflow:hidden}.admin-route-cover{height:150px;position:relative}.admin-route-cover img{object-fit:cover;width:100%;height:100%}.admin-route-cover .status-badge{position:absolute;top:10px;right:10px}.admin-route-grid>article>div:last-child{padding:15px}.admin-route-grid small{color:#8aa08d;font-size:8px}.admin-route-grid h3{margin:5px 0;font-size:13px;line-height:1.5}.admin-route-grid p{color:#999;min-height:26px;font-size:8px;line-height:1.6}.route-admin-meta{color:#a57a50;gap:10px;font-size:9px;display:flex}.route-admin-actions{border-top:1px solid var(--admin-line);gap:6px;margin-top:12px;padding-top:10px;display:flex}.route-admin-actions a,.route-admin-actions button{background:#f6f3ef;border-radius:7px;align-items:center;gap:4px;padding:5px 7px;font-size:8px;display:flex}.route-admin-actions svg{width:12px}.route-admin-actions button{color:#bd7274;margin-left:auto}.admin-tabs{border-bottom:1px solid var(--admin-line);gap:5px;margin-bottom:16px;display:flex}.admin-tabs button{color:#8f8881;border-bottom:2px solid #0000;padding:10px 15px;font-size:10px}.admin-tabs button.active{color:#b56f78;border-color:#c77984;font-weight:600}.inline-editor{background:#fff;border:1px solid #e5c7ca;border-radius:13px;align-items:center;gap:8px;margin-bottom:14px;padding:12px;display:flex}.inline-editor>input{flex:1}.inline-editor label{white-space:nowrap;font-size:9px}.inline-editor>button:last-child svg{width:15px}.taxonomy-grid{grid-template-columns:1fr 1fr;gap:1px;padding:0;display:grid;overflow:hidden}.taxonomy-grid>div{border-bottom:1px solid var(--admin-line);align-items:center;gap:10px;padding:13px;display:flex}.taxonomy-grid>div:nth-child(odd){border-right:1px solid var(--admin-line)}.taxonomy-grid i{color:#b7757d;background:#f5e8e9;border-radius:11px;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.taxonomy-grid>div>div{flex:1}.taxonomy-grid b,.taxonomy-grid span{display:block}.taxonomy-grid b{font-size:10px}.taxonomy-grid span{color:#aaa;margin-top:2px;font-size:8px}.taxonomy-grid button{color:#9a938d}.taxonomy-grid button svg{width:13px}.product-editor{grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:15px;display:grid}.product-editor>.choice-grid,.product-editor>div:last-child{grid-column:1/-1}.product-editor>div:last-child{gap:10px;display:flex}.product-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.product-grid article{border:1px solid var(--admin-line);background:#fff;border-radius:15px;padding:17px;position:relative}.product-icon{font-size:27px}.product-grid .status-badge{position:absolute;top:13px;right:13px}.product-grid h3{margin:10px 0 3px;font-size:12px}.product-grid article>b{color:#b57078;font-size:11px}.product-grid p{color:#aaa;font-size:8px}.product-grid article>div:last-child{gap:6px;display:flex}.product-grid article>div:last-child button{background:#f5f2ed;border-radius:7px;align-items:center;gap:4px;padding:6px;font-size:8px;display:flex}.product-grid article>div:last-child svg{width:12px}.feedback-list{gap:9px;display:grid}.feedback-list>article{border:1px solid var(--admin-line);background:#fff;border-radius:14px;gap:12px;padding:15px;display:flex}.feedback-list>article>i{color:#bd7951;background:#fff0e5;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.feedback-list>article>i svg{width:18px}.feedback-main{flex:1}.feedback-main>div:first-child{align-items:center;gap:8px;display:flex}.feedback-main h3{margin:0;font-size:11px}.feedback-main p{color:#777;margin:6px 0;font-size:9px}.feedback-main small{color:#aaa;font-size:8px}.feedback-actions{gap:6px;margin-top:10px;display:flex}.feedback-actions>*{border:1px solid var(--admin-line);border-radius:7px;align-items:center;gap:4px;padding:6px 8px;font-size:8px;display:flex}.feedback-actions svg{width:12px}.feedback-actions .resolve{color:#66816c;background:#e7f0e8}.replace-modal{text-align:left}.replace-modal input{width:100%;margin-top:10px}.replace-modal>div{justify-content:flex-end}.feedback-sheet textarea{border:1px solid var(--line);resize:none;border-radius:12px;outline:none;width:100%;min-height:90px;padding:10px}.admin-login{background:#fbf9f5;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-art{background:linear-gradient(145deg,#d4e1d5,#f1dedf);flex-direction:column;justify-content:center;padding:10vw;display:flex;position:relative;overflow:hidden}.login-art:after{content:"✿";color:#ffffff3d;font-size:360px;position:absolute;bottom:-100px;right:-60px}.login-flower{color:#bf7c85;font-size:42px}.login-art h1{color:#443c37;margin:18px 0;font-family:serif;font-size:38px;line-height:1.55}.login-art p{letter-spacing:.15em;color:#7f7771;font-size:11px}.admin-login form{width:min(350px,80%);margin:auto}.login-logo{color:#c47b85;font-size:29px}.admin-login form h2{margin:11px 0 4px;font-size:23px}.admin-login form>p{color:#999;margin-bottom:25px;font-size:10px}.admin-login form>label{color:#777;gap:6px;margin-top:13px;font-size:9px;display:grid}.admin-login form>label>div{background:#fff;border:1px solid #e5dfd8;border-radius:10px;align-items:center;gap:8px;padding:0 11px;display:flex}.admin-login form>label svg{color:#aaa;width:15px}.admin-login form input{border:0;outline:0;flex:1;min-width:0;padding:11px 0}.admin-login form>.admin-primary{border-radius:10px;width:100%;height:42px;margin-top:17px}.admin-login form>a{text-align:center;color:#999;margin-top:18px;font-size:9px;display:block}.admin-error{color:#b85f65;background:#fff0f0;border-radius:8px;margin-top:10px;padding:8px;font-size:9px}.demo-credential{text-align:center;background:#f3efe9;border-radius:9px;margin-top:12px;padding:10px}.demo-credential b,.demo-credential span{font-size:8px;display:block}.demo-credential span{color:#9a918a;margin-top:3px}@media (width<=1000px){.admin-stats{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.admin-route-grid,.product-grid{grid-template-columns:1fr 1fr}.editor-grid{grid-template-columns:1fr}.editor-side{grid-template-columns:1fr 1fr;position:static}}@media (width<=720px){.admin-app>aside{transition:all .2s;transform:translate(-100%)}.admin-app>aside.open{transform:translate(0)}.admin-brand button{display:block}.admin-drawer-mask{z-index:40;background:#0005;position:fixed;inset:0}.admin-main{margin:0;padding:78px 14px 40px}.admin-mobile-head{z-index:35;color:#fff;background:#292725;justify-content:space-between;align-items:center;height:58px;padding:0 14px;display:flex;position:fixed;top:0;left:0;right:0}.admin-mobile-head button,.admin-mobile-head a{color:#fff}.admin-mobile-head svg{width:19px}.admin-mobile-head b{font-size:12px}.admin-page-head{flex-direction:column;align-items:flex-start}.admin-page-head h1{font-size:24px}.admin-stats{grid-template-columns:1fr 1fr}.admin-content-list>a{grid-template-columns:44px 1fr 60px}.admin-content-list>a>small{display:none}.admin-filters{overflow-x:auto}.admin-route-grid,.product-grid{grid-template-columns:1fr}.editor-top{height:auto;padding-bottom:10px}.editor-top>div>*{font-size:0}.editor-top>div svg{width:15px}.editor-title h1{font-size:23px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.editor-side{grid-template-columns:1fr}.repeat-row{flex-wrap:wrap}.repeat-row>svg{display:none}.repeat-row input{flex:30%}.taxonomy-grid{grid-template-columns:1fr}.taxonomy-grid>div:nth-child(odd){border-right:0}.inline-editor{flex-direction:column;align-items:stretch}.product-editor{grid-template-columns:1fr}.admin-login{padding:45px 20px;display:block}.login-art{display:none}.admin-login form{background:#fff;border-radius:20px;width:min(350px,100%);padding:25px;box-shadow:0 10px 40px #66534414}}.analytics-range{border:1px solid var(--admin-line);color:#5f5953;background:#fff;border-radius:10px;outline:0;padding:10px 13px;font-size:10px}.analytics-notice{color:#67806c;background:#edf4ee;border-radius:10px;margin:-10px 0 16px;padding:10px 13px;font-size:9px;line-height:1.6}.analytics-notice.error{color:#a9585f;background:#fff0f0}.analytics-top-grid{grid-template-columns:1.45fr .55fr}.analytics-content-grid{grid-template-columns:1.2fr .8fr}.chart-legend{color:#999;align-items:center;gap:5px;font-size:8px;display:flex}.chart-legend i{background:#d48a94;border-radius:2px;width:8px;height:8px}.chart-legend i:nth-of-type(2){background:#89a991;margin-left:5px}.trend-chart{align-items:stretch;gap:clamp(2px,.5vw,7px);height:220px;padding-top:10px;display:flex;overflow-x:auto}.trend-column{flex:1;grid-template-rows:1fr 18px;align-items:end;min-width:8px;height:100%;display:grid}.trend-column>div{border-bottom:1px solid #ece8e2;justify-content:center;align-items:flex-end;gap:1px;height:100%;display:flex}.trend-column i,.trend-column b{background:#d48a94;border-radius:3px 3px 0 0;width:42%;min-height:1px}.trend-column b{background:#89a991}.trend-column span{color:#aaa;white-space:nowrap;text-align:center;font-size:7px}.funnel-list{gap:8px;display:grid}.funnel-list>div{background:#faf8f5;border-radius:11px;grid-template-columns:1fr auto 42px;align-items:center;gap:9px;padding:12px;display:grid}.funnel-list span{color:#777;font-size:9px}.funnel-list b{font-size:15px}.funnel-list em{color:#b4737b;text-align:right;font-size:9px;font-style:normal}.analytics-table-wrap{overflow:auto}.analytics-table{border-collapse:collapse;width:100%;min-width:580px}.analytics-table th,.analytics-table td{text-align:left;border-top:1px solid var(--admin-line);padding:10px 8px;font-size:9px}.analytics-table th{color:#999;font-size:8px}.analytics-table td:first-child{min-width:190px}.analytics-table td b,.analytics-table td small{display:block}.analytics-table td small{color:#aaa;margin-top:3px;font-size:7px}.analytics-empty{color:#aaa;place-items:center;min-height:150px;font-size:9px;display:grid}.category-ranking{gap:14px;display:grid}.category-ranking>div>div{align-items:center;gap:7px;font-size:9px;display:flex}.category-ranking>div>div b{font-size:10px}.category-ranking>div>div span{color:#8aa08d}.category-ranking>div>div em{color:#999;margin-left:auto;font-style:normal}.category-ranking>div>i{background:#f0ece7;border-radius:6px;height:7px;margin:6px 0;display:block;overflow:hidden}.category-ranking>div>i b{background:linear-gradient(90deg,#d88d96,#9cb09d);border-radius:6px;height:100%;display:block}.category-ranking small{color:#aaa;font-size:7px}.search-ranking{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.search-ranking>div{border:1px solid var(--admin-line);border-radius:10px;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;padding:10px;display:grid}.search-ranking i{color:#b3727a;background:#f4e6e8;border-radius:8px;grid-row:1/3;place-items:center;width:24px;height:24px;font-size:8px;font-style:normal;display:grid}.search-ranking b{font-size:10px}.search-ranking span,.search-ranking small{color:#999;font-size:7px}.search-ranking small{text-align:right}.panel-head>svg{color:#aaa;width:16px}@media (width<=1000px){.analytics-top-grid,.analytics-content-grid{grid-template-columns:1fr}.search-ranking{grid-template-columns:1fr 1fr}}@media (width<=720px){.analytics-stats{grid-template-columns:1fr 1fr}.trend-chart{height:180px}.search-ranking{grid-template-columns:1fr}.analytics-range{width:100%}}.challenge-admin-row>div:first-child{align-items:center;gap:12px;display:flex}.challenge-admin-row img{object-fit:cover;border-radius:12px;width:54px;height:54px}.challenge-admin-row small{color:#9d938b;display:block}.challenge-workspace .admin-editor-top{z-index:5;position:sticky;top:0}.challenge-admin-tabs{background:#eeeae6;border-radius:16px;gap:6px;margin-bottom:22px;padding:5px;display:flex;overflow:auto}.challenge-admin-tabs button{white-space:nowrap;color:#726a64;background:0 0;border:0;border-radius:12px;padding:11px 16px}.challenge-admin-tabs button.active{color:#c57382;background:#fff;box-shadow:0 3px 10px #46372d14}.admin-form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.admin-form-card{background:#fff;border:1px solid #ebe5df;border-radius:22px;padding:24px}.admin-form-card.full{grid-column:1/-1}.admin-form-card h2{margin:0 0 18px}.admin-form-card label{color:#605952;flex-direction:column;gap:7px;margin:12px 0;font-size:13px;display:flex}.admin-form-card label small{color:#9c9289}.admin-form-card input,.admin-form-card textarea,.admin-form-card select,.creator-admin-grid select{box-sizing:border-box;width:100%;font:inherit;color:#3e3935;background:#fcfbfa;border:1px solid #e5ded8;border-radius:12px;padding:11px}.admin-form-card fieldset{border:1px solid #ede7e1;border-radius:14px;margin:15px 0;padding:14px}.admin-form-card legend{padding:0 6px;font-weight:700}.two-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.slug-input{background:#f5f2ef;border:1px solid #e5ded8;border-radius:12px;align-items:center;display:flex;overflow:hidden}.slug-input span{color:#9b9189;padding-left:12px}.slug-input input{background:#fff;border:0}.admin-card-title{justify-content:space-between;align-items:center;display:flex}.admin-card-title button,.candidate-editor-foot button,.review-actions button,.vote-table button{background:#fff;border:1px solid #e5ddd7;border-radius:10px;align-items:center;gap:5px;padding:9px 12px;display:flex}.admin-card-title svg,.candidate-editor-foot svg,.review-actions svg{width:16px}.admin-image-upload{border-radius:14px;place-items:center;position:relative;overflow:hidden;color:#b96f7b!important;background:#fff8f7!important;border:1px dashed #d6aaaf!important;min-height:130px!important;margin:0!important;display:grid!important}.admin-image-upload img{object-fit:cover;width:100%;height:180px}.admin-image-upload span{background:#ffffffe6;border-radius:10px;padding:7px 12px;font-weight:700;position:absolute;bottom:8px}.admin-image-upload input{display:none}.candidate-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.candidate-editor-grid>article{border:1px solid #ece5df;border-radius:18px;padding:14px}.candidate-editor-foot{align-items:center;gap:6px;display:flex}.candidate-editor-foot b{color:#c2707f;margin-right:auto}.candidate-editor-foot button.selected{color:#658a70;background:#edf5ef}.candidate-editor-foot .danger-icon{color:#bd6269;padding:9px}.submission-review-grid{gap:16px;display:grid}.submission-review-grid>article{background:#fff;border:1px solid #e9e2dc;border-radius:20px;grid-template-columns:minmax(240px,36%) 1fr;display:grid;overflow:hidden}.review-images{background:#ede9e4;display:flex;overflow:auto}.review-images img{object-fit:contain;width:100%;min-width:100%;height:320px}.review-copy{padding:22px}.review-copy h2{margin:12px 0 5px}.review-copy p{color:#736b65;line-height:1.7}.review-copy small{background:#fff2dc;border-radius:9px;padding:9px;display:block}.review-actions{gap:8px;margin-top:18px;display:flex}.review-actions .danger{color:#b95e66}.vote-table{margin-top:24px}.vote-table>div{border-top:1px solid #eee8e3;grid-template-columns:80px 1fr 1fr auto;align-items:center;padding:10px;font-size:13px;display:grid}.vote-table>div.suspicious{background:#fff4e3}.vote-table svg{color:#c37a37;width:15px}.award-admin-list,.creator-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.award-admin-list article{border:1px solid #e9e2dc;border-radius:16px;gap:12px;padding:12px;display:flex}.award-admin-list img{object-fit:cover;border-radius:12px;width:100px;height:120px}.award-admin-list article>div{flex-direction:column;flex:1;gap:5px;display:flex}.award-admin-list article>div>div{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.award-admin-list button{background:#fff;border:1px solid #e5ddd7;border-radius:999px;padding:6px 9px;font-size:11px}.award-admin-list button.selected{color:#fff;background:#d07a89}.creator-admin-grid>article{background:#fff;border:1px solid #e9e2dc;border-radius:18px;padding:20px}.creator-head{gap:12px;display:flex}.creator-head>svg{color:#699076;background:#edf5ef;border-radius:12px;padding:9px}.creator-head h2,.creator-head p{margin:0 0 4px}.creator-admin-grid dl{grid-template-columns:70px 1fr;gap:10px;margin-bottom:0;display:grid}.creator-admin-grid dt{color:#938a82}.creator-admin-grid dd{margin:0}.admin-empty{text-align:center;color:#9b928a;grid-column:1/-1;padding:50px}.admin-alert{color:#b85760;background:#fff0f0;border-radius:12px;margin-bottom:16px;padding:12px}@media (width<=1000px){.admin-form-grid,.award-admin-list,.creator-admin-grid{grid-template-columns:1fr}.candidate-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.candidate-editor-grid,.two-fields,.submission-review-grid>article{grid-template-columns:1fr}.review-images img{height:240px}.vote-table>div{grid-template-columns:55px 1fr auto}.vote-table>div span:nth-child(3){grid-column:1/-1}.challenge-admin-tabs{margin-left:-10px;margin-right:-10px}}
