/* Mobile page layout at every host width. */
.app-shell{display:block}.sidebar{display:none}.mobile-top{display:flex;align-items:center;justify-content:space-between;padding:18px 21px;border-bottom:1px solid var(--line)}.mobile-top .brand>span{font-size:20px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#f8f6eff5;border-top:1px solid #d9ddcf;padding:9px 10px calc(8px + env(safe-area-inset-bottom));z-index:5;justify-content:space-around;backdrop-filter:blur(8px)}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;min-width:52px;padding:2px;color:#959e88}.mobile-nav button.active{color:var(--ink)}main{padding:25px 20px 100px}.page-heading{margin-bottom:23px;gap:10px;align-items:start}.page-heading h1{font-size:25px;line-height:1.55;letter-spacing:0}.subtitle{font-size:11px;margin-top:8px}.eyebrow{font-size:8px;letter-spacing:1.7px}.date-stamp{font-size:8px}.page-heading>.button{flex-shrink:0;font-size:10px;max-width:112px;padding:8px 10px}.hero{grid-template-columns:1fr;min-height:0;padding:25px 23px 20px}.hero h2{font-size:29px;line-height:1.65;margin:19px 0 10px}.hero-copy>p{font-size:11px}.hero-copy>.button{min-height:43px;font-size:12px}.hero-copy>small{font-size:9px}.hero-art{height:205px;padding-bottom:26px;margin:15px 0 0 0}.hero-people .doodle{height:125px;width:95px}.hero-people .doodle:nth-child(2){width:112px;height:155px}.speech{font-size:10px}.s1{top:6px;left:5%}.s2{top:2px;right:7%}.s3{right:0;top:68px}.sketch-note{font-size:10px}.ground{bottom:11px}.overview-strip{grid-template-columns:repeat(3,1fr);gap:10px;padding:22px 0;margin-bottom:26px}.overview-strip>div{padding-left:5px}.overview-strip>div:nth-child(3){border:0}.overview-strip>div>span{font-size:9px}.overview-strip strong{font-size:25px}.overview-strip strong small{font-size:9px}.overview-strip>button{grid-column:1/-1;border-top:1px dashed var(--line);padding:13px 4px 0;display:flex;justify-content:space-between;gap:10px;font-size:10px}.overview-strip>button br{display:none}.overview-strip>button b{font-size:11px}.section-heading{margin:22px 0 15px;align-items:baseline}.section-heading h2{font-size:19px}.section-heading .text-button,.section-heading>.small{font-size:10px}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.character-art{height:150px}.character-art .doodle{height:125px;width:95px}.character-copy{padding:13px}.character-copy h3{font-size:18px}.character-copy>p{font-size:10px}.mini-stats{gap:7px}.tiny-langs{font-size:9px}.quiet-note{align-items:start;font-size:9px;line-height:1.8}.proto-grid{gap:10px}.proto-art{height:115px}.proto-card h3{font-size:17px}.proto-card p{font-size:9px}.mentor-grid{gap:9px}.mentor-card{padding:8px;gap:6px}.mentor-card b{font-size:11px}.mentor-card small{font-size:8px}.mentor-face{width:28px}.mentor-face .doodle{width:34px}.setup-layout{gap:22px}.setup-summary{padding:20px}.phase-pill{padding:5px 7px;font-size:8px;white-space:normal;max-width:100px;text-align:center}.journal-progress{gap:3px;margin-bottom:23px}.journal-progress .milestone{margin-right:2px}.journal-layout{gap:20px}.profile-panel{grid-template-columns:85px minmax(0,1fr);gap:8px 15px;padding:15px}.profile-figure{height:140px;grid-row:1/4;grid-column:1}.profile-figure .doodle{width:95px}.profile-panel>h2{grid-column:2;margin:0 0 8px}.profile-panel>.mini-stats{grid-column:2}.profile-panel>.language-bars{grid-column:1/-1;grid-row:auto;padding-top:12px;border-top:1px dashed var(--line);margin-top:4px}.profile-panel>.tags{grid-column:1/-1}.profile-panel>.tags>.muted{display:none}.profile-panel .handwritten{font-size:9px;right:-1px;bottom:0}.profile-panel>h2 small{font-size:9px}.language-bars>div{font-size:10px}.resource-row{gap:13px;padding:12px;margin-bottom:18px}.resource-row .track{max-width:65px}.resource-row strong{font-size:15px}.resource-row .energy-resource>span{font-size:10px}.resource-row>div:not(.energy-resource){gap:5px}.action-top{gap:8px}.segmented{gap:13px}.segmented button{font-size:12px;padding:8px 5px}.action-top label{font-size:9px}.action-top select{font-size:10px;padding:6px 4px;max-width:92px}.training-grid{gap:10px}.training-card{padding:13px 11px 10px}.training-card-head{gap:6px}.training-card h3{font-size:12px}.training-mark{height:25px;width:25px;font-size:12px}.training-gain b{font-size:25px}.training-gain>span{font-size:9px;line-height:1.7;min-height:29px}.training-foot{font-size:8px;gap:5px}.bonus{font-size:8px}.journal-tools{gap:8px}.journal-tools .button{font-size:11px;padding:9px 10px}.journal-tools>.text-button{font-size:10px;margin-left:0}.explore-card{padding:18px 14px;gap:12px;flex-wrap:wrap}.explore-card>span{flex:1}.explore-card>small{margin-left:42px}.explore-card h3{font-size:13px}.explore-card p{font-size:10px}.pending-banner{padding:11px;font-size:10px}.pending-banner .button{font-size:10px;padding:7px}.action-receipt{padding:10px}.action-receipt>b{font-size:10px}.action-receipt>div{font-size:9px;gap:7px}.roster-group .character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-group>.section-heading{flex-wrap:wrap;gap:4px}.roster-group>.section-heading>.small{font-size:9px}.formation{padding:16px 12px}.formation-heading .stamp{font-size:8px}.formation-heading .small{font-size:9px}.formation-slots{gap:5px}.formation-slot>button{padding:9px 2px}.formation-slot .doodle{height:80px;width:54px}.slot-no{font-size:8px;margin-left:4px}.formation-slot h3{font-size:12px}.formation-slot small{font-size:8px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.slot-arrows .icon-button{font-size:15px;width:24px;height:27px}.slot-empty{height:85px;font-size:20px}.formation-footer{gap:10px;align-items:center}.formation-footer strong{font-size:21px}.formation-footer .button{font-size:10px;padding:9px;max-width:133px}.formation-footer>span{font-size:9px}.candidate-grid{grid-template-columns:1fr;gap:10px}.candidate{padding:11px 14px}.candidate>.doodle{height:70px}.candidate>span>span{font-size:9px}.trial-board{padding:19px 16px}.floor-grid{grid-template-columns:repeat(6,1fr);gap:8px}.floor{height:40px;font-size:12px}.floor-legend{font-size:8px;gap:10px}.challenge-panel{padding:22px;gap:0 12px}.challenge-panel>.button{font-size:10px;padding:10px 8px}.challenge-panel h2{font-size:22px}.challenge-panel>p{font-size:11px}.challenge-panel .challenge-metric{display:grid;gap:6px}.challenge-metric strong{font-size:25px}.report-list>button{padding:14px;gap:12px}.report-list b{font-size:11px}.report-list small{font-size:9px}.result-badge{font-size:9px;padding:5px 6px}.ranking-head{padding:18px;font-size:9px}.ranking-row{padding:18px;gap:13px}.ranking-row.me{padding-left:15px}.ranking-row b{font-size:12px}.ranking-row>strong{font-size:23px}.sketch-dialog,.sketch-dialog.wide-dialog{padding:29px 20px 22px;width:calc(100vw - 26px);max-height:88dvh;box-shadow:4px 5px 0 #292b2a10}.sketch-dialog h2{font-size:22px}.dialog-close{top:8px;right:7px}.event-heading{gap:10px;margin-top:10px}.event-heading>.doodle{height:100px;width:68px}.event-heading h2{font-size:21px}.event-heading p{font-size:11px}.event-options>button{padding:15px 12px;gap:12px}.event-options b{font-size:12px}.event-options small{font-size:10px}.option-letter{font-size:18px;width:19px}.shop-focus{gap:12px;flex-wrap:wrap;font-size:10px}.shop-focus select{font-size:10px}.shop-grid{gap:11px}.shop-card{padding:15px 12px}.shop-card h3{font-size:14px}.shop-card p{font-size:10px}.shop-card .button{font-size:10px;padding:8px}.shop-card>small{font-size:8px}.modal-footer{gap:10px;flex-wrap:wrap}.modal-footer .button{font-size:11px;flex:1;min-width:110px}.skill-row{gap:10px}.skill-row b{font-size:11px}.skill-row small{font-size:9px}.skill-row .button{font-size:10px;padding:7px 9px;min-width:79px}.learned-list b{font-size:11px}.learned-list .button{font-size:10px;padding:6px 9px}.learned-list small{font-size:9px}.finish-hero,.detail-hero{gap:15px}.finish-hero>.doodle,.detail-hero>.doodle{height:120px;width:85px}.finish-hero h2,.detail-hero h2{font-size:21px}.finish-hero p,.detail-hero p{font-size:11px}.battle-result{gap:13px}.battle-result>div{width:48px;height:48px}.battle-result>div svg{width:29px}.battle-result h2{font-size:21px}.battle-result p{font-size:10px}.result-numbers{gap:8px}.result-numbers strong{font-size:23px}.result-numbers span{font-size:9px}.result-numbers small{font-size:8px}.war-notes{padding:12px;margin:18px 0}.war-notes p{font-size:10px}.contribution-list>div{gap:10px}.contribution-list>div>span{width:75px;font-size:11px}.contribution-list small{font-size:8px}.contribution-list strong{font-size:13px}.round-details p,.round-details small{font-size:9px}.guide-steps p{font-size:11px}.guide-steps h3{font-size:13px}#notice{bottom:82px;font-size:11px;padding:11px 15px}.button.danger{margin-left:0;margin-top:10px}.rest-panel{padding:24px 15px}.rest-panel h2{font-size:23px}

/* Phone-first canvas, including desktop previews. */
:root{--paper:var(--ht-background);--white:var(--ht-white);--ink:var(--ht-text);--muted:var(--ht-secondary);--line:var(--ht-border);--blue:var(--ht-violet);--bluewash:var(--ht-violet-soft);--yellow:var(--ht-pink);--green:var(--ht-violet);background:#eeeef3;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
body{background:#eeeef3}#app{width:100%;min-height:100dvh}.app-shell{display:block;width:min(100%,430px);max-width:430px;min-height:100dvh;margin:0 auto;background:var(--paper);box-shadow:0 0 0 1px #15151505}.sidebar{display:none}main{width:100%;max-width:none;padding:23px 20px 100px;margin:0;min-height:calc(100dvh - 75px)}.mobile-top{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 20px;background:var(--white);border-bottom:1px solid #f1f1f1}.mobile-top .brand>svg{color:var(--blue)}.mobile-top .brand>span{font-size:20px}.mobile-top .icon-button{color:var(--blue)}.mobile-nav{display:flex;position:fixed;left:50%;right:auto;bottom:0;transform:translateX(-50%);width:min(100%,430px);background:rgba(255,255,255,.97);border-top:1px solid #eee;padding:10px 8px calc(9px + env(safe-area-inset-bottom));z-index:5;box-shadow:0 -2px 12px #15151503}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;min-width:0;flex:1;padding:2px;color:#999}.mobile-nav button.active{color:var(--blue);font-weight:600}.mobile-demo-tools{display:flex;justify-content:space-between;gap:14px;margin-top:30px;border-top:1px solid #ececf0;padding-top:18px;font-size:10px;color:var(--muted)}.mobile-demo-tools button{font-size:10px;color:var(--muted);padding:0}
h1,h2{font-family:inherit;font-weight:650}h1{font-size:25px;letter-spacing:0}.page-heading{margin-bottom:23px;gap:10px}.page-heading h1{font-size:25px}.eyebrow{color:#aaa;font-size:9px;letter-spacing:1.5px}.date-stamp{display:none}.subtitle{font-size:12px}.paper{border:1px solid #eeeeF2;border-radius:16px;background:var(--white)}.button{border-radius:22px;min-height:44px;font-size:13px}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 5px 12px #7a54ff16}.button.secondary{border-color:#e6e2f2;background:white}.text-button{color:var(--blue)}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--blue)}select,input{border-color:#e8e8ef;background:#fff;border-radius:10px;min-height:40px;font-size:12px}.counter{color:var(--blue)}.hero{padding:25px 23px 20px;background:linear-gradient(160deg,#fff 25%,var(--ht-violet-soft));grid-template-columns:1fr;border:0}.hero h2{font-size:29px;line-height:1.6;margin-top:18px}.stamp{border-color:#ded5ff;color:var(--blue);background:#ffffffa0;border-radius:5px}.underlined:after{background:#d9ccff}.hero-art{height:190px;margin-top:15px;padding-bottom:28px}.hero-copy>.button{border-radius:25px}.speech{border-color:#d6cbf5;color:#665484}.speech:after{border-color:#d6cbf5}.ground{color:#c6bce1}.sketch-note{color:#a390bb}.overview-strip{border-bottom:1px solid #e9e9f0}.overview-strip strong{color:var(--blue)}.section-heading h2{font-family:inherit;font-size:18px}.character-art{background:linear-gradient(160deg,#fff,var(--wash));height:150px}.character-card{border:1px solid #ececf2;border-radius:14px}.character-copy h3{font-family:inherit}.mini-stats i b,.track b{background:var(--blue)}.mini-stats span,.mini-stats em{color:#8b8798}.track,.mini-stats i{background:#f0edf8}.tags>span{background:var(--ht-violet-soft);border-color:transparent;color:#79639f}.formation-slot.selected,.candidate.selected{border-color:var(--blue);background:#f8f5ff}.phase-pill{border-color:#e2d9ff;background:#f3eeff;color:#8464cb;border-radius:10px}.journal-progress .done{background:var(--blue)}.journal-progress i{background:#e8e3f3}.profile-panel{border-radius:16px;background:#fff}.profile-figure{background:radial-gradient(ellipse,var(--wash),transparent 70%)}.resource-row{background:white;border:1px solid #efedf6;border-radius:12px}.action-receipt{background:#f0eaff;border-color:var(--blue);border-radius:0 9px 9px 0}.action-receipt>div{color:#9571c1}.segmented button.active{color:var(--blue)}.segmented button.active:after{background:var(--blue)}.training-card{border-color:#eeebf6;border-radius:13px;background:#fff}.training-card.opportunity{background:#f8f4ff}.training-mark{color:var(--blue);border-color:#e3d9ff;background:#f3edff}.bonus{color:var(--blue)}.trainer-dots>span{background:#ede4ff;border-color:#ded0ff;color:#8e6dc1}.trainer-dots>span i{background:var(--blue)}.training-foot{border-color:#e9e2f3}.explore-card{border-radius:13px;border-color:#e9e4f2}.explore-card>svg{color:var(--blue)}.rest-panel{background:linear-gradient(#fff,#f6f2ff)}.pending-banner{background:#f0eaff;border-color:#b99bef;border-radius:12px}.floor.cleared{background:#f1eaff;border-color:#e1d0ff;color:#9c7cce}.floor.selected{background:#eee6ff;border-color:var(--blue);color:var(--blue)}.floor{background:#fff;border-color:#ece8f3;border-radius:8px}.legend-cleared{background:#dfd0fa}.result-badge.win{color:#956bbd;background:#f3eafe;border-color:#e4d5f4}.ranking-row.me{background:#f3ecff;border-color:var(--blue)}.ranking-row i{background:#e4d5ff;color:var(--blue)}.ranking-board{border-radius:15px}.war-notes{background:#f4effb;border-color:#b89bdc}.war-notes p{color:#9b80b9}.learned-list>div:not(.empty-state){background:#f5efff;border-color:#e2d5fb}.skill-row i{color:var(--blue)}.event-options>button{border-radius:12px;border-color:#e5dcf4;background:#faf7ff}.event-options>button:hover:not(:disabled){background:#f1e9ff;border-color:#cbb6ed}.option-letter,.event-options>button>svg:last-child{color:#b099d2}.shop-card{border-radius:12px;border-color:#e8e1f2}.shop-card>svg{color:var(--blue)}.sketch-dialog,.sketch-dialog.wide-dialog{width:min(calc(100vw - 24px),398px);max-height:88dvh;border:1px solid #e9e3f3;border-radius:19px;padding:30px 20px 24px;box-shadow:0 12px 45px #17102624;background:#fff}.sketch-dialog::backdrop{background:#21143755}.modal-footer{border-color:#e9e3f0}.detail-hero>.doodle,.finish-hero>.doodle{background:radial-gradient(ellipse,#f2eaff,transparent 75%)}.battle-result.passed{color:var(--blue)}.battle-result>div{border-color:#e0d2f8;background:#f8f4ff}.quiet-note{color:#aaa}.brand>span{font-family:inherit;font-weight:650}#notice{bottom:85px;max-width:390px;width:max-content;background:#30273f;font-size:12px}
.creation-card{padding:20px;text-align:center;background:linear-gradient(150deg,#fff 35%,#f8f3ff);overflow:hidden}.creation-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#98919f}.creation-trait{border-radius:12px;background:#eee6ff;padding:4px 9px;color:#9978be;font-size:10px}.creation-avatar{height:148px;display:flex;align-items:center;justify-content:center;position:relative;margin:10px auto 3px;width:170px}.creation-avatar:before{content:'';position:absolute;inset:8px 18px;border-radius:50%;background:var(--wash);opacity:.28}.creation-avatar .doodle{width:112px;height:150px;z-index:1}.avatar-orbit{position:absolute;width:8px;height:8px;border:1px solid #d7c2fc;border-radius:50%}.orbit-one{top:35px;left:10px}.orbit-two{right:7px;bottom:36px;width:5px;height:5px;background:#f0d7f5;border:0}.creation-card>h2{font-size:23px;margin-top:7px}.creation-motto{font-size:11px;color:#a09aaa;margin-top:6px}.random-button{border-color:#d9c9f4;color:var(--blue);background:#fff;min-height:38px;font-size:12px;margin:17px 0 20px;padding:8px 19px}.random-button>svg{color:#b59ad8}.initial-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;text-align:center}.initial-stat-grid>div{display:flex;flex-direction:column;gap:7px;border-radius:10px;padding:12px 2px;background:#f4f3f8}.initial-stat-grid span{font-size:11px;color:#a09aaa}.initial-stat-grid b{font-size:21px;line-height:1.1;color:#6f687b;font-family:inherit;font-weight:600}.initial-stat-grid .strong-stat{background:#ebe2fc}.initial-stat-grid .strong-stat b{color:var(--blue)}.creation-total{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#a59aaf;margin-top:12px}.creation-total span{font-size:9px;color:#b5a6c3}.creation-section{margin-top:25px}.creation-section .section-heading{margin:0 0 14px}.creation-section .section-heading h2{font-size:17px}.creation-section .section-heading>.small{font-size:10px}.prototype-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.prototype-tabs button{font-size:11px;border:1px solid #e6e3ee;border-radius:10px;padding:11px 3px;background:#fff}.prototype-tabs button.selected{color:var(--blue);border-color:#cbb6f5;background:#f4edff}.innate-note{display:flex;justify-content:space-between;padding:13px 1px;font-size:11px;color:#a398af}.innate-note b{font-weight:500;color:#a087bd}.creation-section>select{width:100%;min-height:43px}.creation-language-values{display:flex;gap:14px;justify-content:space-between;font-size:10px;margin-top:11px;color:#9d95a6}.creation-language-values b{font-weight:500;color:#7d6a92}.creation-start{margin-top:24px;padding-top:19px;border-top:1px solid #e9e3f1}.creation-start .button{font-size:14px;min-height:48px}.creation-start>small{display:block;text-align:center;color:#b0a5bc;font-size:9px;margin-top:10px}.creation-helper{margin-top:14px;font-size:10px!important}.mentor-grid{grid-template-columns:1fr 1fr}.mentor-card{border-color:#e5e1ed;border-radius:11px;background:#fff;min-height:67px}.mentor-card.selected{border-color:#c4acf0;box-shadow:0 0 0 1px #c4acf0;background:#faf7ff}.mentor-card b{font-size:11px}.mentor-card small{font-size:8px}.mentor-card>i{color:var(--blue)}
@media(max-width:430px){body{background:var(--paper)}.app-shell{box-shadow:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep phone structure independent of the host browser's viewport. */
main{padding:25px 20px 100px;min-width:0}
.setup-layout,.journal-layout,.trial-layout,.ranking-layout{grid-template-columns:minmax(0,1fr)}
.profile-panel{display:grid;grid-template-columns:85px minmax(0,1fr)}
.profile-panel>.small-heading{display:none}
.profile-figure .doodle{height:135px}
.challenge-panel{display:grid;grid-template-columns:1fr 1fr}
.challenge-panel>.eyebrow,.challenge-panel>.challenge-flag,.challenge-panel>h2,.challenge-panel>p,.challenge-panel>.tags{grid-column:1/-1}
.challenge-flag,.rank-art{display:none}
.challenge-panel>.button{width:100%}
