:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#172b45;background:#ffffff;font-synthesis:none;font-size:17px;--ink:#172b45;--muted:#52606d;--blue:#5b4fe8;--blue-hover:#493aca;--teal:#0f766e;--line:#e0e4e8;--sky:#fff;--soft:#fff;--surface:#fff}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:#ffffff}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid var(--blue);outline-offset:2px}a{color:var(--blue);text-underline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:32px;line-height:1.35;font-weight:600;letter-spacing:0}h2{font-size:26px;font-weight:600}h3{font-size:20px}p{line-height:1.8}small{color:var(--muted);font-size:14px;line-height:1.8}.muted{color:var(--muted);font-size:17px;line-height:1.8}strong,b{font-weight:600}.skip{position:absolute;left:15px;top:-80px;z-index:200;background:white;padding:12px}.skip:focus{top:8px}.header{position:sticky;top:0;z-index:20;min-height:77px;background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1280px;padding:0 36px;margin:auto;display:flex;align-items:center;gap:28px;min-height:77px}.brand{text-decoration:none;font-size:26px;color:#123b5d;font-weight:700;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;width:35px;height:35px;color:#fff;background:var(--blue);border-radius:10px;margin-right:8px;font-size:22px}.header nav{display:flex;gap:4px;flex:1}.header nav a{color:#425b72;text-decoration:none;padding:28px 10px 24px;font-size:16px;border-bottom:3px solid transparent}.header nav a.active{color:var(--blue);border-color:var(--blue)}.header-account{display:flex;gap:8px;align-items:center}.account-name{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}main{max-width:1280px;margin:auto;padding:32px 36px 64px;min-height:calc(100dvh - 155px)}footer{max-width:1208px;margin:auto;padding:20px 0 28px;border-top:1px solid var(--line);font-size:14px;color:var(--muted);line-height:1.8}.loading{padding:60px;text-align:center}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.actions>.btn{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;background:#fff;border:1px solid #bdcddd;border-radius:8px;color:#28445d;font-weight:600;font-size:16px;text-decoration:none;line-height:1.4}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-hover)}.btn.soft{background:#fff;border-color:#d6dce2;color:#28445d}.btn.danger{color:#a62e38;background:#fff7f7;border-color:#e8c7cb}.btn.small{min-height:40px;padding:7px 11px;font-size:14px}.btn.link{background:transparent;border-color:transparent;color:var(--blue)}.badge{display:inline-block;border-radius:6px;background:#f2f4f6;border:1px solid #dce1e6;color:#435364;font-size:14px;padding:4px 8px;line-height:1.5}.badge.green{background:#ecf6f0;color:#276746;border-color:#cce5d7}.badge.warn{background:#fff6e5;color:#825c20;border-color:#eddcb8}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid>*{min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}.card p:last-child{margin-bottom:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:30px 0 17px}.section-head h2{margin:0}.notice{background:#fff;border:1px solid #dce1e6;border-radius:10px;padding:14px 17px;color:#345a70;font-size:16px;line-height:1.8;margin:16px 0}.notice.warn{background:#fff8e9;border-color:#efdfbe;color:#7b551d}.notice.error{background:#fff1ef;border-color:#edc4bf;color:#943b35}.notice.success{background:#eef8f2;border-color:#cce5d5;color:#2b6544}.empty{padding:28px;color:var(--muted);text-align:center}.field{display:block;margin-bottom:18px}.field>span,.field>label{display:block;font-size:16px;font-weight:600;margin-bottom:8px}.field>small{display:block;margin:6px 0 0}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{display:block;width:100%;max-width:100%;border:1px solid #7b91a5;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);font-size:17px;line-height:1.7}textarea{min-height:96px;resize:vertical}textarea.tall{min-height:245px}input::placeholder,textarea::placeholder{color:#60758a}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.check{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.8;margin:12px 0}.check input{flex:none;margin-top:5px;width:17px;height:17px;accent-color:var(--blue)}.project-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:16px 0}.project-row:first-child{border:0}.project-row a{text-decoration:none;color:inherit}.project-row strong{display:block;margin-bottom:5px}.project-row small{display:block}.editor-head{margin-bottom:22px}.editor-head h1{margin:12px 0 16px;font-size:32px;overflow-wrap:anywhere}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}.editor-side{position:sticky;top:100px}.editor-side .card{padding:20px;margin-bottom:16px}.step-nav{display:flex;gap:5px;padding:8px;background:#fff;border-radius:12px;margin:24px 0;overflow-x:auto}.step-nav button{flex:1;min-width:120px;padding:14px 12px;background:transparent;border:1px solid transparent;border-radius:8px;font-size:16px;color:#3d607a;white-space:nowrap}.step-nav button.active{background:#fff;border-color:var(--blue);color:var(--blue);font-weight:600}.step-nav b{font-size:14px;margin-right:5px}.prompt{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #dce1e6;border-radius:10px;padding:16px;font-size:17px;line-height:1.85;max-height:360px;overflow-y:auto}.output{padding:24px;border:1px solid var(--line);border-radius:12px;margin:20px 0;background:#fff}.output.selected{border-color:var(--blue);background:#fff}.output pre,.result-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:17px;line-height:1.85}.output img,.showcase-img{display:block;max-width:100%;max-height:440px;border-radius:9px;object-fit:contain;background:#fff;margin:12px 0}.output-meta{font-size:14px;line-height:1.7;color:var(--muted);word-break:break-word}.job-status{padding:14px 16px;background:#fff;border:1px solid #cfe3f6;border-radius:9px;margin:14px 0;line-height:1.8;font-size:16px}.job-status.failed{background:#fff4ef;border-color:#ecd7c9}.asset-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:16px;overflow-wrap:anywhere}.asset-row b{display:block}.asset-row small{display:block}.asset-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.file-drop{display:block;border:1px dashed #3c9bb0;background:#fff;padding:18px;border-radius:10px;margin:15px 0}.file-drop input{display:block;max-width:100%;font-size:14px;margin-top:12px}details{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:16px 0}summary{cursor:pointer;font-size:16px;font-weight:600;line-height:1.8}details[open]>summary{margin-bottom:15px}.steps-list{padding-left:20px;font-size:16px;line-height:1.9}.steps-list li{margin:10px 0}.money{font-size:36px;color:#123b5d;line-height:1.3;margin:14px 0}.ledger-row{padding:14px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.8}.ledger-row strong{display:block}dialog{border:1px solid #c6dbea;border-radius:15px;padding:28px;width:min(500px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 25px 85px #102e4b33;color:var(--ink)}dialog::backdrop{background:#0d233b66}dialog h2{font-size:26px}.dialog-close{float:right;background:none;border:0;font-size:22px;color:#526a80;padding:0 5px;min-height:44px;min-width:44px}.tab-row{display:flex;gap:5px;flex-wrap:wrap;padding:5px;background:#fff;border-radius:10px;margin:20px 0}.tab-row button{background:transparent;border:0;border-radius:7px;padding:10px 15px;color:#3e6178}.tab-row button.active{color:var(--blue);background:#fff}.admin-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px}.admin-nav{display:flex;flex-direction:column;gap:5px;align-self:start;background:#fff;border:1px solid var(--line);padding:10px;border-radius:12px;position:sticky;top:100px}.admin-nav button{text-align:left;border:0;border-radius:7px;padding:13px;color:#425f75;background:transparent}.admin-nav button.active{background:#eaf3ff;color:var(--blue)}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat{padding:17px;background:#fff;border:1px solid #d6e7f1;border-radius:10px;min-width:0}.stat strong{display:block;font-size:26px;margin-top:7px;overflow-wrap:anywhere}.stat small{display:block}.table-wrap{overflow:auto;max-width:100%;margin-top:15px}table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.7;text-align:left}td,th{padding:10px 9px;border-bottom:1px solid var(--line);vertical-align:top;max-width:280px;overflow-wrap:anywhere}th{color:#405e76;background:#fff;font-weight:600}.key-value{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;font-size:16px;gap:10px;line-height:1.8}.key-value dt{color:var(--muted)}.key-value dd{margin:0;overflow-wrap:anywhere}.qr{width:160px;height:160px;object-fit:contain;border:1px solid var(--line);padding:8px;background:#fff;margin:12px 0}.inline-error{color:#943b35;font-size:16px;line-height:1.8;white-space:pre-wrap}.inline-error:empty{display:none}#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);padding:13px 20px;background:#102f4a;color:#fff;border-radius:9px;box-shadow:0 6px 25px #0c315022;z-index:100;max-width:calc(100vw - 34px);font-size:16px;line-height:1.6;display:none}#toast.show{display:block}.plain-list{padding:0;list-style:none;line-height:1.9;font-size:16px}.plain-list li{margin:8px 0}.page-head{margin-bottom:25px}.page-head h1{margin-bottom:12px}.page-head p{font-size:16px;color:var(--muted)}.muted-link{font-size:14px}.hint{font-size:14px;color:#3e6178;line-height:1.8}.final-badge{color:var(--blue);font-size:14px;font-weight:600}.auth-switch{text-align:center;margin:20px 0 0}.auth-switch .btn{font-size:16px}.spacer{margin-top:25px}.no-margin{margin:0}.full{width:100%}.rights{font-size:14px;line-height:1.8;color:#526a80;margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.checklist{padding:0;list-style:none;font-size:16px;line-height:1.9}.checklist li{padding:9px 0;border-bottom:1px solid var(--line)}.wrap{overflow-wrap:anywhere}.small-pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;font-size:14px;line-height:1.8;background:#fff;border-radius:8px;padding:12px}.user-id{font-size:14px;word-break:break-all}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#647c91;margin-right:6px}.status-dot.ready{background:#0f766e}@media(max-width:1000px){.header-inner{gap:15px;padding:0 22px}.header nav a{padding-left:7px;padding-right:7px;font-size:16px}.brand{font-size:26px}.account-name{display:none}.editor-layout{grid-template-columns:minmax(0,1fr) 235px}.card{padding:22px}}@media(max-width:1000px){.header-inner{flex-wrap:wrap;gap:0 15px;justify-content:space-between;padding-top:14px;min-height:70px}.header nav{flex-basis:100%;order:3;overflow:auto;white-space:nowrap}.header nav a{padding:17px 12px 12px;font-size:16px}.header-account .btn{min-height:36px;padding:8px 12px;font-size:15px}.brand-mark{width:29px;height:29px;font-size:18px}.brand{font-size:26px}main{padding:25px 20px 50px}.editor-layout{display:flex;flex-direction:column}.editor-layout>section{width:100%}.editor-side{position:static;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:15px}.editor-side .card{margin:0}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.admin-nav{position:static;flex-direction:row;overflow:auto}.admin-nav button{white-space:nowrap}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{padding:20px;margin:0 20px}.editor-head h1{font-size:32px}.page-head h1{font-size:32px}}@media(max-width:520px){.grid,.grid.three,.field-grid{grid-template-columns:1fr}.card{padding:20px}.section-head{align-items:flex-start}.section-head h2{font-size:24px}.row .btn{flex:0 1 auto}.idea-box .actions>.btn{flex:1}.editor-side{display:block}.editor-side .card{margin:0 0 15px}.step-nav button{min-width:120px}.editor-head h1{font-size:32px}.actions .btn{flex:1 1 auto}.output{padding:15px}.project-row{align-items:flex-start}.project-row .btn{flex:none}.header nav a{padding-left:9px;padding-right:9px}.header-account{gap:3px}.key-value{grid-template-columns:1fr}.key-value dd{margin-bottom:8px}.notice{padding:12px 14px}.stat strong{font-size:20px}.money{font-size:36px}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{font-size:17px}.btn{font-size:16px}h1{font-size:32px}h2{font-size:20px}.user-id{font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.admin-nav{max-height:calc(100dvh - 118px);overflow:auto}
@media(max-width:1000px){.admin-nav{max-height:none}}

.output figure,dialog figure{margin:16px 0}figcaption{font-size:14px;color:var(--muted);line-height:1.7}

.result-video{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;max-height:440px;background:#0b1929;border-radius:9px;margin:14px 0}.result-video:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* Long private filenames and export paths wrap within their existing cards. */
.notice.success,#export-checks .plain-list li{overflow-wrap:anywhere;word-break:normal}

/* Creation workspace: one idea, three explicit paths, then the author's own projects. */
::selection{background:#cce9f2;color:#123b5d}
input,textarea{caret-color:var(--blue)}
html{scrollbar-color:#aeb6bf #ffffff;scrollbar-width:thin}
.btn,summary,.header nav a{transition:background-color 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out}
.btn:hover:not(:disabled){border-color:#718da5;background:#f0f5fa}
.btn.primary:hover:not(:disabled){background:var(--blue-hover);border-color:var(--blue-hover)}
.btn:active:not(:disabled){transform:translateY(1px)}
button:disabled,.btn:disabled,.btn.primary:disabled,.btn.soft:disabled{opacity:1;color:#53687d;background:#e9eff5;border-color:#bdcddd}
a,button{font-variant-numeric:tabular-nums}
.home-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 28px}
.home-heading h1{font-size:32px;margin:0 0 8px}
.home-heading p{font-size:16px;color:var(--muted);margin:0}
.home-heading>small{white-space:nowrap}
.home-start{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}
.idea-box{grid-column:span 8;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;min-width:0}
.idea-box h2{font-size:26px;line-height:1.45;margin:0 0 24px}
.idea-box label{display:block;font-size:16px;font-weight:600;margin-bottom:8px}
.idea-box textarea{min-height:144px;line-height:1.8;transition:border-color 180ms ease-out}
.idea-box:focus-within{border-color:#8caac1}
.creation-actions{gap:10px;margin-top:20px}
.creation-actions .btn{white-space:nowrap}
.idea-foot{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px}
.idea-foot .muted-link{font-size:14px}
.idea-guide{grid-column:9 / span 4;grid-row:1;padding:22px 8px 0 24px;min-width:0}
.idea-guide h2{font-size:20px;line-height:1.5;margin:0 0 24px}
.idea-guide dl{margin:0}
.idea-guide dl>div{margin:0 0 20px}
.idea-guide dt{font-size:16px;font-weight:600;margin-bottom:6px;color:#23455b}
.idea-guide dd{font-size:16px;color:var(--muted);line-height:1.8;margin:0}
.idea-guide>p{font-size:16px;color:var(--muted);line-height:1.8;margin:24px 0 0}
.home-recent{grid-column:1 / -1;margin-top:20px}
.home-recent .section-head{margin:0 0 12px}
.home-workspace .section-head h2{font-size:24px;line-height:1.5}
.recent-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:4px 24px}
.recent-list .project-row{padding:20px 0}
.project-row>div{min-width:0}
.project-row strong{overflow-wrap:anywhere;line-height:1.6}
.home-learning{margin-top:40px}
.home-learning .section-head{align-items:flex-start;margin:0 0 24px}
.home-learning .section-head p{font-size:16px;color:var(--muted);margin:8px 0 0}
.learning-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.learning-paths>div{min-width:0;padding-top:20px;border-top:1px solid var(--line)}
.learning-paths h3{font-size:20px;margin:0 0 10px;line-height:1.5}
.learning-paths p{font-size:16px;color:var(--muted);margin:0 0 12px;max-width:60ch}
.learning-paths .badge{float:right;margin-left:10px}
.home-scope{margin:32px 0 0;background:transparent;border-width:1px 0 0;border-radius:0;padding:18px 0 0}
.home-scope summary{font-size:14px;color:var(--muted);font-weight:400;min-height:28px}
.home-scope p{font-size:16px;color:var(--muted);max-width:75ch}
.editor-head .badge{background:transparent;border:0;color:var(--muted);padding-right:0;font-size:14px}
.method-guidance{background:transparent;border:0;padding:0;margin:0 0 24px;color:var(--muted)}
.method-guidance strong{color:#23455b}
.method-guidance small{font-size:14px}
#editor-stage>h2{font-size:28px;line-height:1.45;margin-top:12px;margin-bottom:14px}
#editor-stage>.badge:first-child{background:transparent;border:0;border-radius:0;padding:0;font-size:14px;color:var(--muted)}
#editor-stage>.muted{max-width:72ch;margin-bottom:28px;font-size:16px}
#editor-stage .field{margin-bottom:24px}
#editor-stage h3{line-height:1.6;margin-top:28px;margin-bottom:12px}
.editor-side .card{background:transparent;border:0;border-radius:0;padding:4px 0 20px;margin:0 0 20px;border-bottom:1px solid var(--line)}
.editor-side h3{font-size:20px;line-height:1.6}
.editor-side p{font-size:16px;line-height:1.9}
.step-nav button{transition:background-color 160ms ease-out,border-color 160ms ease-out;min-height:44px}
.step-nav button:hover:not(.active){background:#fff}
.step-nav button:focus-visible{outline-offset:-3px}
#save-state{font-variant-numeric:tabular-nums}
@media(max-width:1000px){.home-heading{align-items:flex-start}.home-heading>small{white-space:normal;text-align:right}.idea-box{grid-column:span 8;padding:24px}.idea-guide{padding:20px 0 0 12px}.creation-actions .btn{font-size:16px;padding:10px 12px}}
@media(max-width:1000px){.home-start{grid-template-columns:1fr;gap:24px}.idea-box,.idea-guide,.home-recent{grid-column:auto;grid-row:auto}.idea-guide{padding:0 4px}.idea-guide h2{margin-bottom:16px}.idea-guide dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.idea-guide dl>div{margin:0}.idea-guide>p{margin-top:16px}.editor-side{gap:24px}.editor-side .card{padding-top:0}.btn.small{min-height:44px}.header-account .btn{min-height:44px}.step-nav{scrollbar-width:thin}.home-recent{margin-top:8px}}
@media(max-width:520px){main{padding:24px 18px 48px}.home-heading{display:block;margin-bottom:24px}.home-heading h1{font-size:32px}.home-heading p{font-size:16px}.home-heading>small{display:block;text-align:left;margin-top:10px;font-size:14px}.idea-box{padding:20px}.idea-box h2{font-size:20px;margin-bottom:20px}.idea-box textarea{min-height:160px}.creation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.creation-actions .btn{width:100%;min-height:48px;justify-content:space-between;font-size:16px;padding:12px 10px}.idea-foot{gap:12px}.idea-guide dl{display:block}.idea-guide dl>div{margin-bottom:16px}.idea-guide h2{font-size:20px}.home-workspace .section-head h2{font-size:24px}.home-learning .section-head{display:block}.home-learning .section-head>.btn{margin-top:8px;padding-left:0}.learning-paths{grid-template-columns:1fr;gap:24px}.recent-list{padding:0 16px}.recent-list .project-row{flex-wrap:wrap;gap:12px}.recent-list .project-row>div{flex:1 1 170px}.recent-list .project-row .btn{margin-left:auto}.home-learning{margin-top:32px}.home-scope summary{min-height:44px}#editor-stage>h2{font-size:28px}.editor-head h1{font-size:32px}.editor-head>.row:last-child{gap:12px}.editor-head .row .row{gap:4px}.editor-head .btn.small{padding:9px 8px}.method-guidance{font-size:16px;line-height:1.9}.editor-side{margin-top:12px}.editor-side .card{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.btn:active:not(:disabled){transform:none}}

/* Keep focused controls clear of the sticky navigation. */
input,textarea,select,summary,.step-nav button,[id]{scroll-margin-top:100px}
.btn{transition:background-color 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out,transform 120ms ease-out}
@media(max-width:1000px){input,textarea,select,summary,.step-nav button,[id]{scroll-margin-top:140px}}

/* Registration and competition reuse the existing task controls and reading scale. */
.competition-root,.identity-root{max-width:1120px;margin-inline:auto}
.competition-root .page-head,.identity-root .page-head{margin-bottom:28px}
.competition-root .page-head>h1,.identity-root .page-head>h1{margin-bottom:10px}
.competition-sections{display:grid;gap:24px}
.competition-root .card,.identity-root>.card{margin-bottom:24px}
.competition-row{padding:22px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.competition-row:first-of-type{margin-top:20px}
.competition-row h3{margin:0 0 8px}
.competition-row p{max-width:72ch}
.competition-row details{margin-bottom:0}
.competition-row form{margin-top:16px}
.competition-history,.competition-files{padding-left:22px;line-height:1.9}
.competition-files li{overflow-wrap:anywhere;margin:8px 0}
.competition-code{letter-spacing:.08em;overflow-wrap:anywhere}
.competition-team-head p{margin-bottom:10px}
.competition-root .tab-row button[aria-pressed=true]{outline:1px solid var(--blue);outline-offset:-1px}
.competition-root fieldset,.identity-root fieldset{border:0;padding:0;margin:0;min-width:0}
.identity-root form+form{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.identity-root [role=status]{line-height:1.8;max-width:70ch}
.identity-root .field>small{font-weight:400}
.identity-root #identity-sms-policy{max-width:70ch}
.competition-root select,.identity-root select{min-height:48px}
.competition-root input[type=file]{display:block;width:100%;max-width:100%;min-width:0}
.auth-root{min-width:0}.auth-root fieldset{margin:0;padding:0;border:0;min-width:0}.auth-root .inline-error{overflow-wrap:anywhere}.auth-root .field-grid>*{min-width:0}.auth-root [role=status]{line-height:1.8}.auth-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 24px}.auth-methods .btn{min-width:0;white-space:normal;padding:10px 6px;font-size:14px}.auth-methods [aria-pressed=true]{outline:1px solid var(--blue);outline-offset:2px}.auth-root form+form{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.auth-root .btn{white-space:normal;text-align:center}
.competition-root .btn,.identity-root .btn{white-space:normal;text-align:center}
.competition-root .row>div{min-width:0}
.competition-snapshot{white-space:pre-wrap;overflow-wrap:anywhere;max-height:60dvh;overflow:auto;font:14px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:520px){.competition-root .page-head>h1,.identity-root .page-head>h1{font-size:28px}.competition-root .row.spread{align-items:flex-start}.competition-root .card,.identity-root>.card{padding:20px}.competition-row{padding:20px 0}.competition-root .tab-row{display:grid;grid-template-columns:1fr 1fr}.competition-root .tab-row button{min-width:0;padding:12px 8px;font-size:15px}.competition-root .field-grid{gap:24px}.competition-root .field-grid form+form{border-top:1px solid var(--line);padding-top:24px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

.service-state.compact{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px}
.service-state.compact .actions{margin:0}
@media(max-width:520px){.service-state.compact{gap:12px;padding:10px 12px}.service-state.compact strong{font-size:16px}.service-state.compact .btn{padding-left:8px;padding-right:8px}}

/* Neutral surfaces keep the larger reading scale and focus on the author’s work. */
h1,h2,h3{text-wrap:balance}
p,dd{text-wrap:pretty}
.editor-side small,.editor-side p{overflow-wrap:anywhere}
.editor-side h3{margin-bottom:16px}
#editor-stage{padding:32px}
#editor-stage>.muted{max-width:68ch}
#editor-stage .field>span{font-size:16px}
.idea-box textarea{min-height:168px}
.service-state.compact strong{font-size:16px}
::selection{background:#dbe7ff;color:#172b45}
@media(max-width:1000px){.header nav a{font-size:16px;padding:16px 12px 12px}.editor-side{gap:28px}.idea-guide{padding-top:4px}.home-heading>small{max-width:230px}.editor-head h1,.home-heading h1{font-size:32px}}
@media(max-width:520px){#editor-stage{padding:24px 20px}.header-inner{padding-right:18px;padding-left:18px}.header nav a{padding-right:8px;padding-left:8px;font-size:15px}.header-account .btn{font-size:14px}.editor-head h1,.home-heading h1{font-size:30px}.home-heading>small{max-width:none}.editor-head .btn.small{font-size:15px}.step-nav button{min-width:120px}.method-guidance{font-size:16px}.method-guidance small{font-size:14px}.idea-box h2{font-size:26px}.home-workspace .section-head h2{font-size:24px}.idea-guide h2{font-size:20px}}
@media(max-width:380px){.creation-actions{grid-template-columns:1fr}.header nav a{padding-right:7px;padding-left:7px}.home-recent .section-head{gap:8px}.home-recent .section-head h2{font-size:22px}}

/* Personal materials reuse the app's white surfaces and existing controls. */
.library-controls{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:20px;margin-top:24px}
.library-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.library-thumb{width:96px;height:96px;object-fit:contain;border-radius:8px;background:#fff}
.library-file{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--muted);font-size:16px}
.library-info{min-width:0}.library-info h3,.library-info p{overflow-wrap:anywhere}.library-info h3{margin:0 0 8px}.library-info p{margin:8px 0}.library-info .rights{white-space:pre-wrap}
.library-upload,.library-panel{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}.library-upload{max-width:720px}.library-panel .library-upload{border:0;padding:0;margin-top:16px}
.project-materials{margin:32px 0}.project-materials>h3{margin-bottom:12px}.project-materials>details{margin-top:20px}
@media(max-width:620px){.library-controls{grid-template-columns:1fr;gap:0}.library-row{grid-template-columns:64px minmax(0,1fr);gap:16px}.library-thumb{width:64px;height:64px}.library-panel,.library-upload{padding:16px}.library-panel .library-row{grid-template-columns:1fr}.library-info .actions{align-items:stretch}.library-info .btn{white-space:normal}}

/* Six goals share one idea and stay in the requested order. */
.creation-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.creation-actions .btn{justify-content:space-between;min-height:48px;width:100%;white-space:normal}
.creation-actions .planned-goal{gap:12px}
.creation-actions .planned-goal small{font-size:14px;font-weight:400;white-space:nowrap}
.goal-note{margin:12px 0 0;max-width:65ch}
@media(max-width:520px){.creation-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.creation-actions{grid-template-columns:1fr}}
@media(max-width:520px){.creation-actions .planned-goal{flex-direction:column;align-items:flex-start;gap:4px}.creation-actions .planned-goal span{white-space:nowrap}}

.slide-previews details{margin:16px 0}.slide-preview{aspect-ratio:16/9;padding:28px 32px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:auto}.slide-preview h4{font-size:24px;line-height:1.4;margin:0 0 24px}.slide-preview p{font-size:18px;line-height:1.6;margin:14px 0}.webapp-preview{display:block;width:100%;min-height:480px;background:#fff;border:1px solid var(--line);border-radius:8px;margin:16px 0}.creation-actions .btn{overflow-wrap:anywhere}
@media(max-width:520px){.slide-preview{padding:16px;aspect-ratio:auto;min-height:200px}.slide-preview h4{font-size:21px}.slide-preview p{font-size:17px}.webapp-preview{min-height:420px}}

.ark-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.ark-model{min-width:0;padding:18px;border:1px solid var(--a-line,var(--line));border-radius:12px;background:var(--a-surface,var(--surface))}.ark-model h3{font-size:18px;margin:0}.ark-model p{font-size:13px;line-height:1.8}.ark-model small{display:block;font-size:11px;line-height:1.8;color:var(--a-muted,var(--muted));overflow-wrap:anywhere}.ark-catalog>p{font-size:14px;line-height:1.8}.ark-calc-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.ark-calc-fields label{font-size:12px;min-width:0}.ark-calc-fields input,.ark-calc-fields select{display:block;width:100%;margin-top:7px;font-size:13px}.ark-calc-fields .check{display:flex;align-items:center;gap:8px}.ark-calc-fields .check input{width:auto;margin:0}.ark-calculator output{display:block;margin:18px 0 8px;font-weight:650;font-size:17px;line-height:1.8}.ark-calculator>small{font-size:12px;color:var(--a-muted,var(--muted))}@media(max-width:700px){.ark-model-grid{grid-template-columns:1fr}.ark-calc-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ark-calc-fields label:first-child{grid-column:1/-1}}

/* Keep model selection actions at the bottom-right of each catalogue item. */
.ark-model{display:flex;flex-direction:column}.ark-model>[data-action="select-model"]{align-self:flex-end;margin-top:auto}

.account-data-table{min-width:640px;font-variant-numeric:tabular-nums}.account-data-table th,.account-data-table td:first-child{white-space:nowrap}

.account-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:24px;align-items:start;margin-bottom:24px}.account-overview>.page-head,.account-overview>.card{margin:0}.account-overview .user-id{overflow-wrap:anywhere}@media(max-width:760px){.account-overview{grid-template-columns:1fr}}
