/* finesse · register=h5/product · design-language=apple · apple-mode=app */
html body:has(.paper){background:#fff}
html body #stage.paper:is([data-screen],:not([data-screen])){--paper:#fff;--paper-2:#f7f8fa;--paper-3:#eef0f3;--ink:#171a20;--ink-2:#36414c;--ink-3:#586573;--seal:#26394b;--line:#dce1e7;--font-serif:system-ui,-apple-system,"Microsoft YaHei",sans-serif;--font-card:var(--font-serif);background:#fff;animation:none;font-family:var(--font-serif)}
html body #stage.paper[data-night="1"]{--paper:#14181c;--paper-2:#1d252e;--paper-3:#252e38;--ink:#eef3f6;--ink-2:#d0dce6;--ink-3:#a6b6c4;--seal:#9dcbe9;--line:#364451;background:#14181c}
.paper::before,.paper::after,.paper .binding,.paper .paper-grid{display:none!important}
.paper .masthead .mini-seal{border-radius:9px;transform:none}
.paper .masthead .name,.paper .masthead .date{letter-spacing:.06em}
.paper .sq-bar,.paper .loc-chip{background:var(--paper-2);border-color:var(--line);box-shadow:none}
.paper .sheet,html[data-look=play] .paper:is([data-screen=idle],[data-screen=drawn]) .sheet,.paper:is([data-screen=idle],[data-screen=drawn]) .sheet{left:max(14px,calc((100% - 740px)/2));right:max(14px,calc((100% - 740px)/2))!important}
.paper .field-home,html[data-look=play] .paper .field-home{justify-content:flex-start;gap:10px}
.paper .field-feature,html[data-look=play] .paper .field-feature{background:#f3f5f7;color:#1b232b;border:1px solid #e9ecf1;box-shadow:none;border-radius:27px;grid-template-columns:1.15fr 1fr}
.paper .field-feature-art{mask-image:none;filter:saturate(.82);height:100%;object-fit:cover}
.paper .field-kicker{font-size:10px;letter-spacing:.13em;color:#4b5c6b}
.paper .field-editorial h1{font-size:clamp(22px,5.3vw,42px);line-height:1.14}
.paper .field-channels,html[data-look=play] .paper .field-channels{margin-top:0;gap:9px}
.paper .field-channels::before,.paper .field-channels::after{display:none}
.paper .field-channel,html[data-look=play] .paper .field-channel{background:#f4f5f7;color:#222b34;border:1px solid #e8ebef;border-radius:22px;box-shadow:none}
.paper .field-side,html[data-look=play] .paper .field-side{background:#1e2b37;color:#f3f6f9;border-color:#1e2b37}
.paper .field-side .field-kicker{color:#c5d7e4}
.paper .field-channel button,html[data-look=play] .paper .field-channel button{background:#e3e8ed;color:#223344}
.paper .field-side button,html[data-look=play] .paper .field-side button{background:#e7f2f8;color:#1d3345}
.paper .field-reflect,html[data-look=play] .paper .field-reflect{background:#f2f4f7;color:#263543}
.paper .page.drawn,html[data-look=play] .paper .page.drawn{height:100%;box-sizing:border-box;border:1px solid #e2e8ed;border-radius:27px;box-shadow:none;background:linear-gradient(155deg,#fbfcfc 14%,var(--field-wash) 83%);color:#202d35;display:grid;grid-template-rows:minmax(0,1fr) auto}
.paper .page.drawn::before,html[data-look=play] .paper .page.drawn::before{opacity:.48;mask-image:linear-gradient(160deg,transparent 22%,#000 73%);mix-blend-mode:multiply}
.paper .drawn-text,html[data-look=play] .paper .drawn-text{align-items:flex-start;text-align:left;justify-content:flex-start;padding:clamp(8px,4vw,28px) 0}
.paper .drawn-text h2{max-width:16em;font-size:clamp(22px,6vw,46px)}
html body .paper .seal:not([disabled]),html body .paper .later-go{background:#213344;color:#fff;border-radius:19px;box-shadow:none}
html body .paper .seal:not([disabled])::after{border-color:#ffffff40}
html[data-look=play] body #stage.paper[data-screen=drawn] .masthead :is(.name,.date),html[data-look=play] body #stage.paper[data-screen=drawn] .footline{color:var(--ink-3)}
.paper .active-head{flex-direction:row;justify-content:space-between;align-items:center;margin:0 0 12px}
.paper .active-head h2,.paper .active-head span,.paper .step .txt{writing-mode:horizontal-tb;letter-spacing:normal}
.paper .active-head h2{font-size:26px;font-weight:800;margin:0}
.paper .steps{flex:0 1 auto;grid-auto-flow:row;grid-auto-columns:initial;gap:8px}
.paper .step{flex-direction:row;gap:11px;border:1px solid var(--line);background:var(--paper-2);border-radius:17px;padding:8px 12px;min-height:46px;text-align:left}
.paper .step:last-child{border-left:1px solid var(--line)}
.paper .step .txt-wrap{min-width:0;flex:1;width:auto}.paper .step .txt{font:600 14px/1.38 system-ui;color:var(--ink);white-space:normal}
.paper .step.done .txt{text-decoration:line-through;color:var(--ink-3)}.paper .step.done .txt::after{content:none}
.paper .active-dock{margin-top:auto}
.paper .card,.paper .later-card,.paper .me-card,.paper .fan-pane,.paper .cut-box,.paper .sq-sheet{border-radius:21px;box-shadow:none;border-color:var(--line)}
.paper .card-line{font-family:var(--font-card)}
.paper .compose-line,.paper .pick,.paper .rec-btn,.paper .sw-blank{border-radius:13px}
.paper .compose-line{background:var(--paper-2);box-shadow:none}
.paper .compose-head h2,.paper .later-head h2{font-size:22px;font-weight:800;letter-spacing:0}
.paper .viewer,.paper .done,.paper .archive,.paper .later,.paper .about,.paper .compose,.paper .active{font-family:var(--font-serif)}
.paper-intro,.paper-account{background:#fff;color:#26394b}
.intro-letter{background:#e8eff6;box-shadow:0 10px 26px #20344824}.intro-letter::before{background:#f6f8fb}
@media(max-height:680px){.paper .field-feature,html[data-look=play] .paper .field-feature{min-height:126px}.paper .field-editorial p{font-size:12px}.paper .step{min-height:39px}.paper .drawn-text{padding-top:0}}

/* Stitch-approved portrait-led homepage. */
html body .paper[data-screen=idle] .sheet{top:calc(var(--sq-top,26px) + 62px);bottom:calc(28px + var(--sq-safe-bottom,0px));left:max(14px,calc((100% - 500px)/2));right:max(14px,calc((100% - 500px)/2))!important}
html body .paper[data-screen=idle] #sqBar{top:calc(var(--sq-top,26px) - 3px);left:auto;right:13px;transform:none}
html body .paper[data-screen=idle] #sqBar[data-open="0"]{left:auto;right:13px;border-radius:999px}
.paper[data-screen=idle] .masthead .date{visibility:hidden}
html body .paper .stitch-home{display:grid;grid-template-rows:34px minmax(145px,1fr) auto auto auto;gap:10px;align-content:start}
.stitch-issue,.stitch-section{display:flex;align-items:center;justify-content:space-between;gap:5px;font:700 10px/1.2 system-ui;color:#4c5549;letter-spacing:.08em}
.paper .stitch-issue .loc-chip{min-height:30px;padding:3px 8px;font:600 10px/1.2 system-ui;letter-spacing:0;align-self:center}
.stitch-issue .loc-chip span{max-width:min(43vw,190px)}
html body .paper .stitch-hero{position:relative;display:block;min-height:0;border-radius:27px;background:linear-gradient(115deg,#e6eae6,#dce0df);border:0;box-shadow:none;color:#171c19}
.stitch-portrait{position:absolute;inset:0 0 0 auto;width:45%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 16%)}
.stitch-hero-copy{position:relative;z-index:1;width:64%;height:100%;box-sizing:border-box;padding:17px 0 19px 17px;display:flex;flex-direction:column;justify-content:space-between}
.stitch-badge{display:inline-block;background:#fdfefc;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:750}
.stitch-hero-copy small{display:block;margin-top:7px;font-size:9px;letter-spacing:.12em}
.stitch-hero-copy h1{font:850 clamp(25px,7vw,43px)/1.06 system-ui;margin:0 0 10px;letter-spacing:-.06em}
.stitch-hero-copy p{font-size:12px;line-height:1.44;margin:0;color:#465448}
.stitch-section{margin-top:3px}.stitch-section span{font-weight:550;letter-spacing:0}
html body .paper .stitch-actions{grid-template-columns:1.35fr 1fr;gap:8px;margin:0}
.stitch-tile{border-radius:23px;text-align:left;min-width:0;min-height:106px;padding:11px 12px;display:grid;align-content:start;gap:5px;background:#eef0ee;color:#1e241d}
.stitch-draw{background:#ddf737;box-shadow:0 6px 18px #a9b72f2c}
.stitch-tile span{display:flex;justify-content:space-between;align-items:center;font:750 9px/1.3 system-ui;letter-spacing:.075em}
.stitch-tile i{font-style:normal;background:#dce1d9;width:24px;height:24px;border-radius:50%;display:grid;place-items:center}
.stitch-draw i{background:#253111;color:#f5ffd2}
.stitch-tile strong{font-size:clamp(14px,4.2vw,21px);line-height:1.14;overflow-wrap:anywhere}.stitch-tile small{font-size:10px;line-height:1.2}
.stitch-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stitch-links button{min-height:44px;border-radius:15px;background:#eef0ee;color:#253025;text-align:left;padding:6px 10px;display:flex;align-items:center;gap:8px;font:750 12px system-ui}
.stitch-links i{font-style:normal;margin-left:auto}
@media(max-height:690px){html body .paper .stitch-home{gap:6px}.stitch-tile{min-height:84px;padding:7px 9px}.stitch-hero-copy{padding-block:9px}.stitch-hero-copy h1{margin-bottom:5px}.stitch-hero-copy p{font-size:11px}}

/* Full-width ticket and quiet, quest-matched waterlight. */
.paper .paper-home{display:grid;place-items:center;min-width:42px;min-height:42px;padding:0;border-radius:50%;background:#eaf0f5;color:#293d4f}
.paper-home svg{width:21px;height:21px}
.paper-home:focus-visible{outline:2px solid #256081;outline-offset:3px}
html body .paper[data-screen=idle] .sheet{top:calc(var(--sq-top,26px) + 56px);bottom:calc(24px + var(--sq-safe-bottom,0px))}
html body .paper .stitch-home{grid-template-rows:minmax(160px,1fr) auto auto auto;gap:9px}
.stitch-issue{display:none}
html body .paper .stitch-hero{border-radius:28px;background:linear-gradient(120deg,#f8f9f7,#e6e9e6)}
.stitch-portrait{width:61%;mask-image:linear-gradient(90deg,transparent,#000 24%)}
.stitch-hero-copy{width:63%;padding:16px}
.stitch-hero-copy h1{font-size:clamp(26px,7vw,43px);margin:8px 0}
.stitch-section strong::after{content:"DAILY QUEST";display:inline-block;margin-left:7px;padding:4px 6px;border-radius:99px;background:#e9f4b8;color:#445811;font-size:8px;letter-spacing:0}
html body .paper .stitch-actions{display:grid;grid-template-columns:1fr;gap:8px}
.stitch-draw{position:relative;isolation:isolate;min-height:112px;overflow:hidden;border-radius:21px;background:#dcf833;padding:10px 14px}
.stitch-draw::before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-radial-gradient(circle at 84% 65%,transparent 0 16px,#29341124 17px 18px,transparent 19px 29px);mask-image:linear-gradient(90deg,transparent 40%,#000)}
.stitch-draw span b{background:#202b13;color:#f5ffd0;padding:5px 8px;border-radius:20px;font-size:9px}
.stitch-draw i{width:30px;height:30px}
.stitch-draw em{font:700 8px/1.2 system-ui;letter-spacing:.13em;margin-top:3px}
.stitch-track{display:flex;align-items:center;gap:9px;min-height:53px;border-radius:17px;padding:7px 11px;background:#f1f2fa}
.stitch-track div{flex:1;min-width:0;display:grid;gap:3px}
.stitch-track strong{font-size:13px}.stitch-track strong b{font-size:9px;background:#1c241a;color:#fff;padding:3px 4px;border-radius:5px}
.stitch-track i{width:31px;height:31px;flex:none;background:#e8f5ae}
.stitch-links button{min-height:68px;display:grid;gap:4px;background:#f1f2fa;border:1px solid #e6e8ef}
.stitch-links button:nth-child(2){background:#f2f6df;border-color:#e5ebcf}
.stitch-links button span,.stitch-links button i{font-size:9px;color:#54634e}.stitch-links button strong{font-size:11px}
html body #stage.paper[data-screen=drawn]:not([data-night="1"]){background:linear-gradient(145deg,#fafcfd,var(--field-wash) 75%,#fafcfd)}
html body #stage.paper[data-screen=drawn]:not([data-night="1"])::before{display:block!important;inset:-20%;z-index:0;background:radial-gradient(ellipse at 24% 65%,color-mix(in srgb,var(--field-accent) 39%,transparent),transparent 53%),repeating-radial-gradient(ellipse at 70% 33%,transparent 0 24px,#fff6 25px 27px,transparent 29px 41px);mix-blend-mode:normal;opacity:.46;transform:translate3d(-3%,0,0)}
html body .paper[data-screen=drawn] .page.drawn{background:linear-gradient(145deg,#fffffff0,color-mix(in srgb,var(--field-wash) 78%,transparent));backdrop-filter:blur(9px);border-color:#fff;box-shadow:0 12px 34px #26425715}
@media(prefers-reduced-motion:no-preference){html body #stage.paper[data-screen=drawn]:not([data-night="1"])::before{animation:paper-waterlight 22s ease-in-out infinite alternate}@keyframes paper-waterlight{to{transform:translate3d(5%,3%,0) scale(1.08)}}}
@media(max-height:690px){html body .paper .stitch-home{gap:5px;grid-template-rows:minmax(120px,1fr) auto auto auto}.stitch-draw{min-height:90px}.stitch-links button{min-height:57px}.stitch-track{min-height:45px}.stitch-hero-copy{padding:9px 13px}}

/* Explicit tracks prevent the cover's flex alignment from shrinking grid items. */
html body .paper .stitch-home{grid-template-columns:minmax(0,1fr);justify-content:stretch}
.stitch-home>.stitch-hero,.stitch-home>.stitch-actions,.stitch-home>.stitch-links{min-width:0;width:100%;box-sizing:border-box}
@media(min-width:620px){
 html body .paper[data-screen=idle] .sheet{left:max(22px,calc((100% - 1050px)/2));right:max(22px,calc((100% - 1050px)/2))!important}
 html body .paper .stitch-home{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);column-gap:20px;row-gap:12px;align-content:start}
 .stitch-home>.stitch-hero{grid-column:1;grid-row:1 / 4}
 .stitch-home>.stitch-section,.stitch-home>.stitch-actions,.stitch-home>.stitch-links{grid-column:2}
 .stitch-home>.stitch-links{align-self:start}
 .stitch-hero-copy h1{font-size:clamp(30px,5vw,46px)}
}

/* Adapted from Uiverse by alexmaracinaru and augustin_4687. */
.paper .quest-cta,.paper .quest-pop{position:relative;isolation:isolate;flex:none;min-height:44px;border:0;border-radius:999px;cursor:pointer;color:#1d333b;font:750 13px/1.2 system-ui;white-space:nowrap}
.paper .quest-cta{display:inline-flex;align-items:center;gap:7px;padding:0 10px;background:transparent}
.quest-cta::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:44px;border-radius:999px;background:color-mix(in srgb,var(--field-accent) 70%,white);transition:width .3s ease}
.quest-cta svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:translateX(-3px);transition:transform .3s ease}
.quest-cta:is(:hover,:focus-visible)::before{width:100%}.quest-cta:is(:hover,:focus-visible) svg{transform:none}.quest-cta:active{transform:scale(.95)}
.paper .quest-pop{padding:0 10px;background:color-mix(in srgb,var(--field-wash) 73%,white);box-shadow:2px 3px 0 #253844,0 0 0 1px #253844;transition:box-shadow .15s,transform .15s}
.quest-pop::before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background-image:radial-gradient(#fff9 18%,transparent 20%);background-size:7px 7px;opacity:.55}
.paper .quest-pop.is-on{background:color-mix(in srgb,var(--field-accent) 75%,white)}
.paper .quest-pop:is(:hover,:active){transform:translate(2px,2px);box-shadow:0 0 0 1px #253844}
.paper .drawn-dock :is(.quest-pop,.quest-cta):focus-visible{outline:2px dashed #263c4a;outline-offset:3px}
@media(max-width:440px){.paper .drawn-dock{gap:6px;flex-wrap:wrap;justify-content:flex-end}.paper .drawn-dock .meta-row{flex:1 0 100%}}
@media(prefers-reduced-motion:no-preference){.quest-pop::before{animation:quest-dots 1.5s linear infinite}@keyframes quest-dots{to{background-position:7px 0}}}
@media(prefers-reduced-motion:reduce){.quest-pop,.quest-cta::before,.quest-cta svg{transition:none!important}}
.paper .card-main{container-type:size;overflow:hidden}
.paper .card-figure,.paper .card-line{transform-origin:center}
.card-layout-tools{border:1px solid var(--line);border-radius:14px;padding:8px 10px;background:var(--paper-2);font:13px/1.4 system-ui}
.card-layout-tools summary{cursor:pointer;font-weight:750}
.card-layout-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.card-layout-grid fieldset{min-width:0;border:1px solid var(--line);border-radius:10px;padding:4px 7px}
.card-layout-grid label{display:grid;gap:2px;font-size:11px}.card-layout-grid input{width:100%;min-width:0;accent-color:var(--seal)}
.card-layout-tools [data-layout-reset]{padding:7px 0;color:var(--seal);font-weight:750}
.paper .compose-preview{flex:0 0 auto;min-height:0;padding:4px 0}.paper .compose-preview .card{width:min(100%,285px)}

/* Mission cards and source postcard editor. */
.paper .page.active{gap:9px;padding:12px;border-radius:24px;box-sizing:border-box;background:linear-gradient(155deg,#f7f8f5,var(--field-wash))}
.paper .page.active::after{opacity:.12}
.paper .active-head{margin:0}.paper .active-head span{font-size:11px}
.mission-brief,.mission-journal{background:#ffffffba;border:1px solid #e0e6df;border-radius:15px;padding:8px 10px;color:#273c3d}
.mission-brief{display:grid;gap:3px}.mission-brief span{font-size:10px;color:#536c67}.mission-brief strong{font-size:15px}.mission-brief p{margin:0;font-size:11px}
.paper .steps{gap:6px}.paper .step{background:#fffffff0;border-color:#dce6e2}.paper .step:has(+ .step:not(.done)).done{background:#f6faf7}
.paper .step:not(.done):not(.done ~ .step:not(.done)){border-color:#83aaa7}
.paper .step .txt-wrap{display:grid;gap:2px}.step-state{font-size:9px;color:#566f6d}
.mission-journal{display:flex;justify-content:space-between;align-items:center;gap:7px}.mission-journal div{display:grid;gap:2px}.mission-journal strong{font-size:12px}.mission-journal small{font-size:10px}
.mission-journal button,.studio-actions button{min-height:38px;background:#e6efee;border-radius:14px;padding:5px 9px;color:#2a4b4d;font:700 11px system-ui;white-space:nowrap}
.studio-actions button:disabled{opacity:.45}
#missionProgress{display:block;accent-color:#447477;width:96px;height:6px;margin:3px 0}
#ticketStudio{width:min(780px,100%);height:100dvh;max-height:none;max-width:none;box-sizing:border-box;padding:0;border:0;border-radius:22px;background:#fff;overflow:hidden}
#ticketStudio[open]{display:grid;grid-template-rows:44px minmax(0,1fr)}
#ticketStudio::backdrop{background:#17232699}
#studioClose{justify-self:start;padding:8px 13px;color:#263a43}
#ticketStudio iframe{width:100%;height:100%;border:0}
@media(max-height:680px){.paper .page.active{padding:7px;gap:5px}.paper .active-head h2{font-size:21px}.mission-brief,.mission-journal{padding:5px 7px}.paper .active-dock{height:50px}}

/* 进行中：路线摘要、步骤状态与封存印章。 */
.paper .page.active{gap:10px;padding:clamp(10px,3vw,18px);overflow-y:auto;background:linear-gradient(165deg,#f6f2e8,#ebe5d6)}
.paper.night .page.active{background:#272822}
.paper .active-head{align-items:baseline;padding-bottom:3px}
.paper .active-head h2{font-family:var(--font-serif,serif);font-size:clamp(25px,6vw,36px);font-weight:700}
.mission-brief,.mission-journal{flex:none;background:var(--paper-2);color:var(--ink);border-color:var(--line)}
.mission-brief{padding:9px 12px}
.mission-brief span,.mission-note{font-size:11px;color:var(--ink-3)}
.mission-brief strong{font-size:15px}
.mission-brief p{font-size:12px}
.mission-note{border-top:1px solid var(--line);margin-top:3px;padding-top:5px}
.paper .page.active .steps{flex:none;direction:ltr;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px}
.paper .page.active .step{display:grid;grid-template-rows:auto 1fr auto auto;justify-items:center;align-items:center;gap:7px;min-height:172px;padding:10px 6px;border:1px solid var(--line);background:var(--paper-2)}
/* From Uiverse.io by TISEPSE */
.page.active .checkbox-label {
  grid-row:4;
  font-size:22px;
  color:#fefefe;
  padding:10px 50px 10px 5px;
  font-family:Arial, Helvetica, sans-serif;
  user-select:none;
  display:flex;
  position:relative;
  align-items:center;
  transition:all .3s;
}
.page.active .checkbox {
  width:35px;height:35px;flex:none;cursor:pointer;
  margin:0 -22px 0 0;appearance:none;border-radius:5px;
  background-color:#64ccc5;z-index:2;transition:all .3s;
}
.page.active .checkbox-label .container {
  width:35px;height:35px;flex:none;position:relative;top:4px;left:-8%;
  border-radius:5px;background-color:#dafffb;transition:all .3s;
}
.page.active .checkbox::before {
  content:"";background-color:#ffc8c8;position:relative;display:flex;
  top:45%;left:50%;width:55px;height:3px;border-radius:25px;
  transform:translate(100px,0) scale(0);transition:ease-out .15s;
}
.page.active .checkbox:checked::before {
  transform:translateX(2em);top:12px;transition:ease-out .15s;
}
.page.active .checkbox:hover,.page.active .checkbox:checked {
  transform:translate(4px,4px);transition:ease-out .15s;background-color:#ffc8c8;
}
.page.active .svg-icon {
  position:absolute;width:25px;height:25px;display:flex;z-index:3;
  top:35%;left:11%;color:#fefefe;pointer-events:none;
  transform:rotate(0deg) scale(0);transition:ease-in .2s;
}
.page.active .checkbox:checked ~ .svg-icon {
  transform:rotate(360deg) scale(1);transition:ease-in .2s;
}
.page.active .step {overflow:hidden;cursor:pointer}
.paper .page.active .step .txt-wrap{display:contents}
.paper .page.active .step .no{grid-row:1;letter-spacing:.14em}
.paper .page.active .step .txt{grid-row:2;align-self:start;writing-mode:vertical-rl;text-orientation:mixed;text-align:start;font:650 14px/1.5 system-ui;max-height:224px;overflow-wrap:anywhere}
.paper .page.active .step.done .txt{text-decoration:none;color:var(--ink)}
.paper .page.active .step[aria-current=step]{border-color:#658f8c;box-shadow:inset 0 3px #4b7775}
.paper .page.active .step[aria-current=step] .step-state{font-weight:750;color:var(--ink)}
.paper .page.active .step-state{grid-row:3;color:var(--ink-3);font-size:10px;white-space:nowrap}
.mission-journal{border-style:dashed;padding:7px 10px}
.mission-journal button{min-height:44px}
.paper .page.active .active-dock{height:auto;margin-top:auto;border-top:1px solid var(--line);padding-top:8px}
.paper .page.active .progress{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 8px}
#missionProgress,#progHint{grid-column:1/-1}
#missionProgress{width:100%;max-width:160px}
/* From Uiverse.io by barisdogansutcu */
.paper .mission-seal {
  display:flex;align-items:center;justify-content:center;height:50px;
  position:relative;padding:0 20px;margin-bottom:7px;font-size:18px;
  text-transform:uppercase;border:0;box-shadow:hsl(210deg 87% 36%) 0 7px 0;
  background-color:hsl(210deg 100% 44%);border-radius:12px;overflow:hidden;
  transition:31ms cubic-bezier(.5,.7,.4,1);
}
.paper .mission-seal::before {
  content:attr(data-label);display:flex;align-items:center;justify-content:center;
  position:absolute;inset:0;font-size:15px;font-weight:bold;color:white;letter-spacing:4px;opacity:1;
}
.paper .mission-seal:not(:disabled):active {
  box-shadow:none;transform:translateY(7px);transition:35ms cubic-bezier(.5,.7,.4,1);
}
.paper .mission-seal:not(:disabled):hover::before {transition:all 0s;transform:translateY(100%);opacity:0}
.paper .mission-seal i {
  color:white;font-size:15px;font-weight:bold;letter-spacing:4px;font-style:normal;
  transition:all 2s ease;transform:translateY(-20px);opacity:0;
}
.paper .mission-seal:not(:disabled):hover i {transition:all .2s ease;transform:translateY(0);opacity:1}
.paper .mission-seal:hover i:nth-child(1){transition-delay:.045s}
.paper .mission-seal:hover i:nth-child(2){transition-delay:calc(.045s * 3)}
.paper .mission-seal:disabled{opacity:.5}
@media(prefers-reduced-motion:reduce){
  .page.active .checkbox,.page.active .checkbox::before,.page.active .svg-icon,.paper .mission-seal,.paper .mission-seal i{transition:none!important}
}




/* Personal center: identity, local counts and grouped actions. */
.paper .profile-page{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:8px clamp(10px,3vw,24px) 16px;background:var(--paper);font-family:system-ui,sans-serif}
.profile-page>*{flex:none;width:100%;max-width:480px;margin-inline:auto}
.profile-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center}
.profile-head h1{margin:0;font-size:17px;font-weight:700}
.profile-head button,.profile-avatar{display:grid;place-items:center;border-radius:50%;background:var(--paper-2);border:1px solid var(--line)}
.profile-head button{width:44px;height:44px}
.profile-page svg{display:block;width:20px;height:20px}
.profile-card,.profile-group{box-sizing:border-box;border-radius:22px;border:1px solid var(--line);background:var(--paper-2);box-shadow:0 3px 12px #27334008}
.profile-card{padding:18px}
.profile-identity{display:flex;align-items:center;gap:13px}
.profile-identity>div{min-width:0;display:grid;gap:4px}
.profile-identity strong{font-size:19px;overflow-wrap:anywhere}
.profile-avatar{width:58px;height:58px;flex:none;background:var(--paper)}
.profile-avatar svg{width:29px;height:29px}
.profile-page small{font-size:11px;color:var(--ink-3)}
.profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px;margin-top:15px;border-top:1px solid var(--line);text-align:center}
.profile-stats div{display:grid;gap:2px}
.profile-stats div+div{border-left:1px solid var(--line)}
.profile-stats b{font-size:19px;font-variant-numeric:tabular-nums}
.profile-group{padding:3px 12px}
.profile-row,.profile-about summary{display:grid;grid-template-columns:20px minmax(0,1fr) auto 15px;gap:11px;align-items:center;width:100%;min-height:47px;text-align:left;padding:6px 3px;font:500 14px/1.4 system-ui,sans-serif;color:var(--ink);cursor:pointer}
.profile-row+.profile-row,.profile-about{border-top:1px solid var(--line)}
.profile-row span{overflow-wrap:anywhere}
.profile-row svg:last-child,.profile-about summary svg:last-child{width:15px;color:var(--ink-3);grid-column:4}
.profile-row:active,.profile-about summary:active{background:var(--paper)}
.profile-recent h2{margin:9px 3px 0;font-size:12px;color:var(--ink-3)}
.profile-about p{padding:0 3px 10px;font-size:12px;line-height:1.65;color:var(--ink-3)}
.profile-about[open] summary svg:last-child{transform:rotate(90deg)}

/* Mainline · week, focus and daily check-ins. */
.paper .mainline-page{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:12px clamp(10px,3vw,24px) 18px;background:var(--paper);font-family:system-ui,sans-serif}
.mainline-page>*{flex:none;width:100%;max-width:490px;margin-inline:auto}
.mainline-head{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:10px}
.mainline-head button{min-height:44px;text-align:left;color:var(--ink-2)}
.mainline-head h1{margin:0;font-size:25px}
.mainline-head small,.mainline-head>span,.mainline-meta,.mainline-week,.mainline-focus p,.mainline-list small,.mainline-status{font-size:11px;color:var(--ink-3)}
.mainline-head small{letter-spacing:.1em}
.mainline-panel,.mainline-list article{border:1px solid var(--line);background:var(--paper-2);border-radius:18px}
.mainline-panel{padding:14px}
.mainline-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}
.mainline-meta strong{color:var(--ink);font-size:12px}
.mainline-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;list-style:none;padding:0;margin:12px 0 0;text-align:center}
.mainline-week li{display:grid;justify-items:center;gap:5px}
.mainline-week time{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--paper);font-variant-numeric:tabular-nums}
.mainline-week [aria-current=date] time{outline:1px solid var(--ink-2);color:var(--ink);font-weight:700}
.mainline-week i{width:4px;height:4px;border-radius:50%;background:transparent}
.mainline-week .is-marked i{background:var(--ink-2)}
.mainline-focus h2{margin:9px 0;font-size:19px;overflow-wrap:anywhere}
.mainline-focus progress{display:block;width:100%;height:7px;accent-color:#658c75}
.mainline-focus p{margin:7px 0 0}
.mainline-list{display:grid;gap:7px}
.mainline-list article{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 10px}
.mainline-list article div{display:grid;gap:3px}
.mainline-list strong{font-size:14px;overflow-wrap:anywhere}
.mainline-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--paper)}
.mainline-list button{min-height:44px;padding:0 10px;border-radius:10px;background:var(--paper);color:var(--ink);font-size:12px}
.mainline-list button:disabled{color:var(--ink-3)}
.mainline-page .mainline-add{min-height:44px;border-radius:13px;background:#273630;color:#faf8ee;font-weight:650}
.mainline-status{margin-top:0;margin-bottom:0}

.mainline-calendar-tools,.mainline-switch{display:flex;align-items:center;gap:4px}
.mainline-calendar-tools button{min-height:32px;padding:0 8px;color:var(--ink-2);white-space:nowrap}
.mainline-switch{position:relative;isolation:isolate;border-radius:99px;background:var(--paper);gap:0;padding:2px}
.mainline-switch::before{content:"";position:absolute;z-index:-1;inset:2px auto 2px 2px;width:calc(50% - 2px);border-radius:99px;background:var(--paper-2);box-shadow:0 1px 5px #26332c1c}
.mainline-switch[data-mode=month]::before{transform:translateX(100%)}
.mainline-switching .mainline-switch[data-mode=month]::before{animation:mainline-slide-month .24s ease-out}
.mainline-switching .mainline-switch[data-mode=week]::before{animation:mainline-slide-week .24s ease-out}
@keyframes mainline-slide-month{from{transform:translateX(0)}}
@keyframes mainline-slide-week{from{transform:translateX(100%)}}
.mainline-week button{display:grid;justify-items:center;align-content:center;gap:3px;width:100%;min-height:44px;border-radius:8px;color:var(--ink);transition:transform .18s ease-out}
.mainline-week button:active{transform:scale(.9)}
.mainline-week button[aria-pressed=true]{outline:1px solid var(--ink-2);outline-offset:-1px}
.mainline-week .is-marked i{background:#a33e2d}
.mainline-month .is-marked button{background:color-mix(in srgb,#a33e2d 12%,var(--paper-2))}
.mainline-month time{background:transparent;height:auto}
.mainline-month i{background:transparent!important;width:auto;height:11px;color:var(--ink);font-size:9px}
.mainline-calendar-foot{margin-top:9px;font-size:10px;flex-wrap:wrap}
.mainline-day-summary{padding:3px 7px;border-radius:99px;background:var(--paper)}
.mainline-meter{height:6px;border-radius:99px;overflow:hidden;background:var(--paper)}
.mainline-meter span{display:block;height:100%;border-radius:inherit;background:#658c75;transform:scaleX(var(--fill));transform-origin:left}
.mainline-list .is-completed strong{text-decoration:line-through;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent)}
.mainline-list .is-completed .mainline-mark{color:#913321;background:#f4d9cf}
.mainline-enter>header,.mainline-enter>section,.mainline-enter>.mainline-add{animation:mainline-in .44s cubic-bezier(.16,1,.3,1) both}
.mainline-enter>section:nth-child(2){animation-delay:.06s}
.mainline-enter>section:nth-child(3){animation-delay:.12s}
.mainline-enter>section:nth-child(4){animation-delay:.18s}
.mainline-enter>.mainline-add{animation-delay:.22s}
.mainline-enter .mainline-meter span{animation:mainline-fill .65s .18s ease-out both}
.mainline-switching .mainline-month li{animation:mainline-in .32s var(--cell-delay) both}
.mainline-stamped{animation:mainline-rustle .38s ease-out}
.mainline-stamped .mainline-mark{animation:mainline-stamp .36s ease-out}
@keyframes mainline-in{from{opacity:0;transform:translateY(10px)}}
@keyframes mainline-fill{from{transform:scaleX(0)}}
@keyframes mainline-rustle{28%{transform:rotate(.35deg)}64%{transform:rotate(-.25deg)}}
@keyframes mainline-stamp{30%{transform:scale(.84)}65%{transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){
 .mainline-page *,.mainline-page *::before{animation:none!important;transition:none!important}
}


.paper .drawn-location{min-height:32px}
.paper .drawn-location{display:inline-flex;width:max-content;max-width:100%;margin-top:10px;font:600 11px/1.35 system-ui}
.paper .drawn-location span{white-space:normal;text-align:left}


#mainlineDialog{max-height:calc(100dvh - 32px);overflow:auto}
#mainlineDialog .track-rules{padding:10px;border-radius:10px;background:var(--paper-2,#edf2ec);color:var(--ink,#26342d);line-height:1.55}
#mainlineDialog form,#mainlineDialog form label{display:grid;gap:6px}
#mainlineDialog form .track-confirm{display:flex;align-items:center;gap:8px;min-height:38px}
#mainlineDialog .track-confirm input{width:18px;height:18px;min-height:0}
