:root{--ink:#203b49;--navy:#203b49;--green:#356650;--muted:#607169;--line:#dfe7e1;--soft:#fbfaf6;font-family:'Yu Gothic','Meiryo',system-ui,sans-serif}body{background:#fff;line-height:1.7}html{scroll-padding-top:24px}a:focus-visible,button:focus-visible{outline:3px solid #986c14;outline-offset:4px}.skip{position:absolute;left:16px;top:-100px;padding:10px;background:#fff;z-index:50}.skip:focus{top:8px}.site-header{position:relative;background:#fff;backdrop-filter:none;min-height:78px;padding:12px max(24px,calc((100vw - 1160px)/2));border-color:var(--line)}.brand{font-size:22px;letter-spacing:.02em}.brand small{display:block;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:.1em}.brand-icon{width:36px;height:36px;border-radius:10px}.nav{gap:25px;font-size:12px}.nav a{min-height:44px;display:inline-flex;align-items:center}.language-button{font-size:11px;min-height:36px;border-color:var(--line);color:var(--ink);background:var(--soft)}.portal-hero,.portal-guides,.portal-how{max-width:1160px;margin:auto;padding-inline:24px}.portal-hero{padding-top:46px;padding-bottom:30px;position:relative;overflow:hidden}.portal-kicker{font-size:12px;letter-spacing:.13em;color:var(--green);font-weight:bold;margin:0 0 12px}.portal-hero h1{font-size:48px;line-height:1.35;letter-spacing:.06em;margin:0 0 18px;font-weight:700}.portal-lead{font-size:14px;color:var(--muted);line-height:1.9;margin:0}.portal-jump{display:inline-flex;align-items:center;gap:30px;font-size:12px;color:var(--green);padding:12px 0;min-height:44px;text-decoration:none}.portal-orbit{position:absolute;right:90px;top:50px;width:245px;height:210px;background:#f4f5ec;border-radius:47% 53% 58% 42%;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:35px;transform:rotate(-7deg);color:#647c62}.portal-orbit span{display:flex;justify-content:center}.portal-orbit svg{width:40px;height:40px;transform:rotate(7deg)}.portal-orbit p{position:absolute;inset:84px 0 auto;margin:0;text-align:center;font-size:9px;letter-spacing:.15em;line-height:1.5;transform:rotate(7deg);color:var(--green)}.portal-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}.portal-heading h2{font-size:19px;letter-spacing:.04em;margin:0}.portal-heading p{font-size:11px;color:var(--muted);margin:0}.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.portal-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px 18px 15px;transition:background .15s,border-color .15s}.portal-card:hover{background:#f6f9f5;border-color:#9ab19f;text-decoration:none}.portal-card-top{display:flex;align-items:center;gap:7px;margin-bottom:15px}.portal-icon{background:#eef4ec;border-radius:9px;padding:7px;display:flex;color:var(--green)}.portal-icon svg{width:24px;height:24px}.portal-badge{font-size:9px;color:var(--muted)}.portal-arrow{margin-left:auto;color:#758e7d}.portal-audience{font-size:10px;color:var(--green);margin:0 0 3px}.portal-card h3{font-size:22px;letter-spacing:.03em;margin:0 0 10px;line-height:1.5}.portal-description{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 16px;min-height:64px}.portal-tool{border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:start;gap:5px;font-size:10px;min-height:50px}.portal-open{font-size:11px;font-weight:bold;display:flex;justify-content:space-between;color:var(--green);margin-top:10px}.portal-note{text-align:center;font-size:11px;color:var(--muted);margin:19px 0 0}.portal-how{text-align:center;padding-block:45px 52px}.portal-how h2{font-size:21px;font-weight:500;margin:0 0 12px}.portal-how p{font-size:12px;line-height:2;color:var(--muted);margin:0}.mobile-break{display:none}.app-divider{background:var(--soft);border-top:1px solid var(--line);padding:35px 24px 0;text-align:center}.app-divider span{font-size:10px;letter-spacing:.2em;color:var(--green)}.app-divider p{font-size:18px;margin:5px 0 0}.existing-app-content{background:var(--soft)}.app-overview{max-width:1160px;margin:auto;padding:28px 24px 10px}.app-overview .hero-content{position:static;max-width:none;color:var(--ink);padding:0}.app-overview h2{font-size:24px;line-height:1.6;max-width:750px;margin:0 0 14px}.app-overview .eyebrow{display:none}.app-overview .hero-copy{max-width:800px;font-size:13px;color:var(--muted)}.app-overview .hero-actions{margin-top:18px}.app-overview .button-primary{background:var(--green);border-color:var(--green)}.app-overview .button-secondary{background:#fff;border-color:var(--line);color:var(--ink)}.existing-app-content .stats{position:static;margin:20px auto 0;max-width:1112px;box-shadow:none;background:#fff;border-color:var(--line)}.existing-app-content .section{max-width:1160px;padding:38px 24px;margin:auto}.existing-app-content .section-heading h2{font-size:25px;line-height:1.5}.existing-app-content .section-heading p{font-size:12px}.app-card{box-shadow:none;border-color:var(--line);border-radius:10px;background:#fff}.approach-grid article{border-radius:10px;background:#fff}.app-card h3{font-size:16px}.app-card p{font-size:12px}.app-card .text-link{min-height:44px;display:inline-flex;align-items:center}.footer{max-width:1160px;padding:24px;font-size:11px;color:var(--muted);margin:auto}.footer a{display:inline-flex;min-height:44px;align-items:center}.link-list a{min-height:44px}.contact-section{border-top:1px solid var(--line)}
@media(max-width:1000px){.portal-grid{grid-template-columns:repeat(2,1fr)}.portal-card{padding:17px 20px}.portal-description{min-height:0}.portal-tool{min-height:0}.portal-orbit{right:50px}.existing-app-content .stats{margin-inline:24px}}
@media(max-width:620px){.site-header{position:relative;padding:12px 18px;gap:7px;align-items:stretch}.brand{font-size:20px;gap:9px}.brand-icon{width:32px;height:32px}.brand small{font-size:9px}.nav{width:100%;justify-content:space-between;gap:8px;font-size:11px}.nav a{min-height:36px}.language-button{font-size:10px;min-height:32px;padding:6px 9px}.portal-hero,.portal-guides,.portal-how{padding-inline:18px}.portal-hero{padding-top:28px;padding-bottom:23px}.portal-kicker{font-size:10px;letter-spacing:.06em;margin-bottom:10px}.portal-hero h1{font-size:32px;line-height:1.4;margin-bottom:12px}.portal-lead{font-size:12px}.portal-jump{font-size:11px}.portal-orbit{width:94px;height:106px;right:20px;top:47px;padding:16px;gap:12px;opacity:.8}.portal-orbit svg{width:23px;height:23px}.portal-orbit p{display:none}.mobile-break{display:inline}.portal-heading{display:block;margin-bottom:11px}.portal-heading h2{font-size:17px;margin-bottom:3px}.portal-heading p{font-size:10px}.portal-grid{gap:9px}.portal-card{padding:12px 11px}.portal-card-top{gap:4px;margin-bottom:11px}.portal-icon{padding:5px;border-radius:6px}.portal-icon svg{width:20px;height:20px}.portal-badge{font-size:8px}.portal-arrow{font-size:11px}.portal-audience{font-size:9px;min-height:16px;letter-spacing:-.02em}.portal-card h3{font-size:18px;margin-bottom:7px}.portal-description{font-size:11px;line-height:1.7;min-height:57px;margin-bottom:10px}.portal-tool{font-size:9px;line-height:1.7;min-height:43px;padding-top:9px}.portal-open{font-size:10px;margin-top:6px}.portal-note{font-size:10px;margin-top:15px}.portal-how{padding-block:32px}.portal-how h2{font-size:18px}.portal-how p{font-size:11px}.portal-how br{display:none}.app-divider{padding-top:28px}.app-overview{padding:24px 18px 10px}.app-overview h2{font-size:20px}.app-overview .hero-copy{font-size:12px}.app-overview .hero-actions{gap:8px}.app-overview .button{font-size:11px;padding:10px 12px}.existing-app-content .stats{margin:12px 18px 0;padding:16px}.existing-app-content .stats strong{font-size:20px}.existing-app-content .stats span{font-size:11px}.existing-app-content .section{padding:30px 18px}.existing-app-content .section-heading h2{font-size:21px}.existing-app-content .app-grid{gap:12px}.app-card{padding:15px}.contact-section .section-heading{margin-bottom:12px}.footer{padding:20px 18px}.portal-how,.app-divider,#apps,#contact{scroll-margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* WorldScene depth layer. Geometry, content, routes and ticker timing stay unchanged. */
:root{--ws-depth-line:#d5e1d8;--ws-depth-shadow:0 1px 2px #243e3110,0 7px 18px #243e310c,0 20px 40px #243e3106;--ws-depth-raised:0 2px 4px #243e3112,0 10px 24px #243e3112,0 24px 42px #243e3109}
.portal-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}.portal-coming{cursor:default}.portal-coming .portal-icon svg{display:none}.portal-coming .portal-icon:before{content:'＋';display:block;width:24px;height:24px;text-align:center}.portal-coming .portal-open{color:#607169}.portal-grid-five .portal-card{padding-inline:14px}.portal-grid-five .portal-card h3{font-size:21px}
body{background:radial-gradient(ellipse at 8% 6%,#eef4ea8c,transparent 42%),radial-gradient(ellipse at 94% 14%,#f3ecd866,transparent 38%),linear-gradient(180deg,#fff 0%,#fcfdf9 55%,#f8faf5 100%);background-attachment:scroll}
header,.site-header{background:linear-gradient(180deg,#fff,#fcfdfb);box-shadow:0 1px 0 #ffffff inset,0 3px 15px #243e3108;border-bottom-color:var(--ws-depth-line)}
.brand-icon,.brand-symbol{text-shadow:0 2px 0 #ffffff,0 4px 8px #35665018}
.portal-card,.category-card,.home-category,.card,.app-card,.approach-grid article,.shortcut,.quick-card{background:linear-gradient(155deg,#fff 0%,#fff 62%,#f6faf5 100%);border-color:var(--ws-depth-line);box-shadow:0 1px 0 #fff inset,var(--ws-depth-shadow);position:relative;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}
.portal-card .portal-icon,.home-symbol,.number,.home-category-icon,.portal-orbit span{background:linear-gradient(150deg,#f8fbf5,#e8f0e5);box-shadow:0 1px 0 #fff inset,0 2px 5px #35665010}
.portal-orbit{background:linear-gradient(145deg,#f7f8ef,#eaf1e3);box-shadow:0 1px 1px #fff inset,0 14px 28px #5263490d;outline:1px solid #e5ebdf}
.portal-orbit span{background:none;box-shadow:none;filter:drop-shadow(0 2px 1px #ffffff)}
.shop-art,.illustration,.home-art,.home-illustration{background:linear-gradient(145deg,#faf9f1,#ecf2e8);box-shadow:0 1px 0 #fff inset,0 12px 25px #5263490b;outline:1px solid #e6ecdf}
.shop,.car-body,.paper,.sheet,.house-art{box-shadow:0 3px 4px #334c3913,0 8px 13px #334c3910}
.search{background:linear-gradient(180deg,#fff,#fcfdfb);box-shadow:0 2px 3px #243e3105 inset,0 3px 10px #243e3107;border-color:#aebfb2}
.search input{background:transparent}
button,.button,.button-primary{box-shadow:0 1px 0 #ffffff2b inset,0 2px 3px #243e3112,0 5px 12px #243e310c}
.language-button{box-shadow:0 1px 0 #fff inset,0 2px 5px #243e3108}
.news-ticker{background:linear-gradient(125deg,#203b49,#294b50);box-shadow:0 1px 0 #ffffff18 inset,0 2px 4px #203b4914,0 5px 12px #203b490c}
.ticker-pause{box-shadow:0 1px 0 #ffffff2b inset,0 2px 4px #091e251c}
.home-shortcuts a,.home-chips span,.chips a,.chips button,.chips span,.portal-tool{background:linear-gradient(145deg,#f8fbf6,#edf4e9);box-shadow:0 1px 0 #fff inset,0 2px 5px #243e3106;border-color:var(--ws-depth-line)}
.portal-tool{background:none;box-shadow:none}
.home-more,details,fieldset,.tool-banner,.tool-panel,.conclusion,.result-panel,.promotion,.note,.calculator-panel{background:linear-gradient(135deg,#f8fbf5,#f1f6ec);box-shadow:0 1px 0 #fff inset,0 3px 8px #243e3107;border-color:var(--ws-depth-line)}
.home-more>summary{background:linear-gradient(160deg,#fff,#f5f9f1);box-shadow:0 1px 0 #fff inset;border-radius:inherit}
.home-more[open]>.section,.home-more-content{background:#ffffffc9}
.reading pre,pre.template,.template,.template-box{background:linear-gradient(140deg,#fffdf7,#f5f2e8);box-shadow:0 1px 0 #fff inset,0 3px 7px #4e422207;border-color:#e3dfd1}
input[type=number],input[type=text],input[type=date],select,textarea{box-shadow:0 1px 3px #203b4908 inset;background-color:#fff}
table{background:#ffffffb8}thead{background:linear-gradient(150deg,#f4f8f0,#e9f1e4)}
.difference,.metric,.result,.stat-card{box-shadow:0 1px 0 #fff inset,0 3px 7px #243e3107}
footer,.app-divider,.existing-app-content{background:linear-gradient(150deg,#f9fbf6,#f1f5eb);border-top-color:var(--ws-depth-line)}
footer{box-shadow:0 -1px 0 #fff inset,0 -4px 16px #243e3104}
.existing-app-content .stats{background:linear-gradient(140deg,#fff,#f8faf4);box-shadow:0 1px 0 #fff inset,var(--ws-depth-shadow);border-color:var(--ws-depth-line)}
.existing-app-content .showcase img{box-shadow:0 2px 3px #243e3112,0 12px 24px #243e3110}
@media(hover:hover) and (pointer:fine){.portal-card:hover,.category-card:hover,.home-category:hover,.card:hover,.app-card:hover{box-shadow:0 1px 0 #fff inset,var(--ws-depth-raised);border-color:#9cb39f;transform:translateY(-2px)}}
@media(max-width:640px){.portal-card,.category-card,.home-category,.card,.app-card,.approach-grid article{box-shadow:0 1px 0 #fff inset,0 2px 4px #243e310b,0 7px 15px #243e3109}.shop-art,.illustration,.home-art,.home-illustration{box-shadow:0 1px 0 #fff inset,0 6px 15px #5263490a}}
@media(max-width:1000px){.portal-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-coming{grid-column:1/-1}.portal-grid-five .portal-card{padding-inline:20px}}
@media(max-width:640px){.portal-grid-five .portal-card{padding-inline:11px}.portal-grid-five .portal-card h3{font-size:18px}.portal-coming .portal-description,.portal-coming .portal-tool{min-height:0}}
@media(prefers-reduced-motion:reduce){.portal-card,.category-card,.home-category,.card,.app-card,.approach-grid article{transition:none;transform:none!important}}
@media(forced-colors:active){*{box-shadow:none!important;text-shadow:none!important}body,header,.site-header{background:Canvas}.news-ticker{background:Canvas;border:1px solid CanvasText}}
@media print{*{box-shadow:none!important;text-shadow:none!important;filter:none!important}body,header,footer,.portal-card,.card,fieldset,.home-category,.category-card,.home-more,.note,.conclusion{background:#fff!important}a{transform:none!important}.news-ticker{background:#fff;color:#000}}

/* Keep all five portal boxes in the initial desktop viewport. */
@media(min-width:1001px){
 .portal-hero{padding-top:18px;padding-bottom:14px}
 .portal-kicker{margin-bottom:9px}
 .portal-hero h1{font-size:44px;margin-bottom:10px}
 .portal-hero h1 br{display:none}
 .portal-jump{min-height:32px;padding-block:4px}
 .portal-orbit{width:180px;height:155px;top:12px;right:40px;padding:25px;gap:20px}
 .portal-orbit svg{width:30px;height:30px}
 .portal-orbit p{inset:63px 0 auto}
 .portal-heading{margin-bottom:12px}
 .portal-grid-five .portal-tool{min-height:40px}
}
