/* Homepage journal layout. Scope every rule to the home screen. */
#home.home{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:minmax(0,1fr) auto auto;gap:12px 28px;padding:94px max(5vw,24px) 14px;align-content:stretch}
#home .home-copy{width:100%;max-width:650px;justify-self:center;align-self:center;padding:24px 28px;min-height:0;background:linear-gradient(125deg,#fffbedf5,#fff8e9e8);border:1px solid #dbc798;border-radius:18px;box-shadow:0 8px 28px #5d542512;display:block;text-align:left}
#home .eyebrow{font-size:11px;letter-spacing:2px;color:#8c713d;margin:0 0 10px;gap:8px}
#home .eyebrow>span{width:21px;height:21px;font-size:12px}
#home h1,#home.has-checkpoint h1{position:static;inset:auto;transform:none;display:block;font-size:clamp(32px,3.4vw,54px);line-height:1.15;letter-spacing:2px;margin:0 0 10px;white-space:nowrap;text-align:left;text-shadow:0 2px #fff9df}
#home h1>span{display:inline;margin:0 0 0 5px;color:#bc8b32}
#home h1 b{position:relative;display:inline-block;vertical-align:middle;font-size:12px;padding:4px;margin:0 0 0 8px;border-radius:8px;box-shadow:none;letter-spacing:0;transform:rotate(8deg)}
#home .home-copy .intro,#home.has-checkpoint .intro{font-size:13px!important;line-height:1.7;margin:0 0 16px!important;letter-spacing:0;color:#76694e;text-align:left}
#home .home-checkpoint{position:relative;width:100%;margin:0 0 12px;padding:15px 17px 5px;background:linear-gradient(115deg,#eef1e3,#f7f5e9);border:1px solid #b9c4a0;border-radius:12px;color:#375b49;box-shadow:none}
#home .checkpoint-heading{display:flex;align-items:center;gap:9px}
#home .checkpoint-heading>img{width:30px;height:30px;object-fit:contain}
#home .home-checkpoint strong{font-size:17px;letter-spacing:1px}
#home .checkpoint-status{margin-left:auto;border:1px solid #abbc96;background:#e4edda;padding:2px 8px;border-radius:12px;font-size:10px;line-height:1.5;white-space:nowrap}
#home #checkpointSummary{font-size:14px;font-weight:600;line-height:1.6;margin:7px 0 9px;letter-spacing:0}
#home .checkpoint-progress{display:flex;align-items:center;gap:5px;margin:0 0 11px;max-width:100%}
#home .checkpoint-progress>span{height:5px;flex:1;min-width:0;border-radius:3px;background:#d9dfcd}
#home .checkpoint-progress .is-complete{background:#67886c}
#home .checkpoint-progress .is-current{background:#c6953d;box-shadow:0 0 0 2px #c6953d25}
#home #continueCamp,#home .home-actions #start{display:block;position:relative;width:100%;min-width:0;min-height:48px;height:auto;line-height:1.5;letter-spacing:1px;padding:11px 14px;border:1px solid #315a46;border-image:none;border-radius:8px;background:linear-gradient(110deg,#416a51,#345742);color:#fff9e8;font-size:16px;font-weight:700;box-shadow:0 2px 3px #34574216;outline-offset:3px;transition:background .15s,transform .15s}
#home #continueCamp{margin:0}
#home #continueCamp::before,#home #continueCamp::after,#home #start::before,#home #start::after{display:none}
#home .checkpoint-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:35px}
#home .checkpoint-foot small{font-size:10px;line-height:1.5;color:#6d745f}
#home #checkpointExportSlot{flex:none}
#home #exportCheckpoint{min-height:32px;min-width:0;padding:5px 0 5px 8px;letter-spacing:0;background:none;border:0;border-image:none;border-radius:3px;color:#766445;font-size:11px;box-shadow:none;text-decoration:underline;text-underline-offset:3px}
#home .home-actions{display:block;width:100%;margin:0 0 5px}
#home .home-actions #start{background:linear-gradient(110deg,#f6d890,#edc364)!important;border-color:#bb9348;color:#5a421c}
#home.has-checkpoint .home-actions #start{background:#fffaf0!important;border-color:#ccb889;color:#775d2d;font-size:14px;font-weight:600;min-height:42px;padding:9px 12px}
#home .home-action-hint{width:100%;margin:6px 0 14px;font-size:11px;line-height:1.6;color:#817459;text-align:center}
#home .home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%;margin:0 0 14px}
#home .home-shortcuts>button,#home .home-shortcuts>a,#home #homeGallery{position:relative;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:7px;width:auto;min-width:0;min-height:66px;height:auto;padding:9px 8px;border:1px solid #d4c39b;border-image:none;border-radius:9px;background:#fffbf2;color:#425841;box-shadow:0 2px 3px #806b3010;line-height:1.5;text-align:left;letter-spacing:0;text-shadow:none}
#home .home-shortcuts>button::before,#home .home-shortcuts>button::after,#home #homeGallery::before,#home #homeGallery::after{display:none}
#home .home-shortcuts img,#home #homeGallery img{width:34px;height:34px;object-fit:contain;flex:none;margin:0}
#home .home-shortcuts strong{font-size:14px;font-weight:700;white-space:nowrap}
#home .home-shortcuts small{font-size:10px;line-height:1.5;color:#8a795a}
#home .home-account{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #ddcea9;padding-top:8px;width:100%}
#home .home-account .rank-account{display:block;max-width:52%;min-width:0;min-height:36px;padding:5px 1px;border:0;border-image:none;border-radius:3px;box-shadow:none;background:none;color:#6c7054;font-size:11px;line-height:1.6;letter-spacing:0;text-decoration:none}
#home .home-account .rank-account::after{content:' ›';color:#9c803f}
#home .home-account .best{display:block;max-width:48%;margin:0;padding:0;border:0;background:none;box-shadow:none;color:#8d7a54;font-size:10px;line-height:1.6;letter-spacing:0;text-align:right}
#home .run-meta{display:flex;gap:6px 14px;justify-content:flex-start;flex-wrap:wrap;margin:6px 0 0;font-size:10px;letter-spacing:0;color:#958469}
#home .run-meta i{font-size:12px;margin-right:3px}
#home .home-side{align-self:center;gap:12px;min-height:0;width:100%;max-width:580px;justify-self:center}
#home .home-side .hero-art{height:clamp(200px,35vh,350px);min-height:0;max-height:350px;width:100%;flex:none}
#home .home-side .hero-art img{width:100%;max-height:100%;object-fit:contain;mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none}
#home .home-side .hero-sticker{top:0;left:4%;font-size:10px}
#home .home-side .hero-bubble{right:0;top:26%;font-size:11px}
#home .home-announcement{width:min(100%,420px);border:1px solid #cab889;border-image:none;border-radius:11px;background:#fff9e9ed;padding:13px 16px;box-shadow:0 4px 14px #6b5a2420}
#home .home-announcement h2{font-size:16px}
#home .home-announcement .announcement-content{font-size:12px;line-height:1.7;max-height:80px}
#home .home-bottom{display:flex;justify-content:center;gap:20px;align-items:center;margin:0;padding:7px 14px;border:0;background:#fff9e9dd;border-radius:8px;width:max-content;max-width:100%;justify-self:center}
#home .home-bottom>span:nth-of-type(n){display:flex;align-items:center;gap:7px;padding:0;min-height:0;height:auto;border:0;border-radius:0;background:none;box-shadow:none;white-space:nowrap}
#home .home-bottom em{width:22px;height:22px;font-size:10px;display:grid;place-items:center;border:1px solid #d7c9a3;color:#8c784b;background:#fff9e7;border-radius:50%;font-style:normal}
#home .home-bottom b{font-size:11px;letter-spacing:0;margin:0}
#home .home-bottom small{display:none}
#home .home-bottom>i{display:block;width:auto;height:auto;background:none;font-size:12px;color:#9e8c64;font-style:normal}
#home>footer{margin:0;line-height:1.5;font-size:10px;background:none;padding:0;color:#736c53}
#home>footer .art-credit{padding:0;background:none}
#home>footer br{display:none}
#home>footer .art-credit::after{content:' · ';padding:0 5px}
#home button:hover,#home a:hover{filter:none}
#home .home-shortcuts>button:hover,#home .home-shortcuts>a:hover{background:#f6efdc;border-color:#b69c66}
#home #continueCamp:hover{background:#2f533e}
#home #start:hover{background:#f8e5b6}
#home button:focus-visible,#home a:focus-visible{outline:3px solid #377866;outline-offset:3px}
@media(min-width:901px) and (max-height:800px){
 #home.home{padding-top:82px;gap:8px 24px}
 #home .home-copy{padding:17px 22px}
 #home h1,#home.has-checkpoint h1{font-size:38px;margin-bottom:6px}
 #home .eyebrow{margin-bottom:6px}
 #home .home-copy .intro,#home.has-checkpoint .intro{margin-bottom:10px!important;font-size:12px!important}
 #home .home-checkpoint{padding:10px 13px 3px;margin-bottom:9px}
 #home .home-checkpoint strong{font-size:15px}
 #home #checkpointSummary{font-size:13px;margin:5px 0 8px}
 #home .checkpoint-progress{margin-bottom:9px}
 #home #continueCamp{min-height:42px;padding:8px 12px;font-size:15px}
 #home .home-action-hint{margin:4px 0 10px;font-size:10px}
 #home .home-shortcuts{margin-bottom:9px}
 #home .home-shortcuts>button,#home .home-shortcuts>a,#home #homeGallery{min-height:58px;padding:7px}
 #home .home-side .hero-art{height:260px}
 #home .home-bottom{padding:5px 12px}
}
@media(max-width:1100px) and (min-width:901px){#home.home{padding-left:28px;padding-right:28px;gap:10px 20px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}#home .home-copy{padding:18px}#home h1,#home.has-checkpoint h1{font-size:36px}#home .home-shortcuts img,#home #homeGallery img{width:28px;height:28px}#home .home-shortcuts strong{font-size:13px}}
@media(max-width:900px){
 #home.home{display:flex;flex-direction:column;padding:78px 18px 20px;gap:14px;overflow:auto}
 #home .home-copy{order:1;align-self:center;max-width:580px;padding:20px;width:100%;flex:none}
 #home h1,#home.has-checkpoint h1{font-size:clamp(28px,6.7vw,42px);letter-spacing:0;text-align:left}
 #home h1 b{font-size:10px;margin-left:5px}
 #home .home-side{order:2;align-self:center;max-width:580px;gap:10px;flex:none}
 #home .home-side .hero-art{display:none}
 #home .home-announcement{order:1;width:100%;padding:12px 16px}
 #home .home-bottom{order:3;flex:none;gap:8px;padding:7px 10px;align-self:center;width:max-content}
 #home .home-bottom>span{gap:5px}
 #home .home-bottom>i{display:none}
 #home>footer{order:4;flex:none}
 #home .run-meta{gap:4px 10px;font-size:10px}
}
@media(max-width:420px){
 #home.home{padding:76px 10px 16px;gap:10px}
 #home .home-copy{padding:16px 13px;border-radius:13px}
 #home .eyebrow{font-size:10px;letter-spacing:1px}
 #home .home-checkpoint{padding:10px 11px 3px}
 #home .home-checkpoint strong{font-size:15px}
 #home #checkpointSummary{font-size:12px}
 #home .checkpoint-foot{align-items:center;gap:4px}
 #home .checkpoint-foot small{font-size:9px;max-width:65%}
 #home #exportCheckpoint{font-size:10px}
 #home .home-shortcuts{gap:6px}
 #home .home-shortcuts>button,#home .home-shortcuts>a,#home #homeGallery{flex-direction:column;gap:3px;padding:8px 3px;text-align:center;min-height:77px}
 #home .home-shortcuts img,#home #homeGallery img{width:28px;height:28px}
 #home .home-shortcuts strong{font-size:12px}
 #home .home-shortcuts small{display:none}
 #home .home-account .best{font-size:9px}
 #home .home-bottom b{font-size:10px}
 #home .home-bottom em{width:19px;height:19px}
}
@media(prefers-reduced-motion:reduce){#home button,#home a{transition:none}}
