:root{color-scheme:light;--color-bg: #ffffff;--color-surface: #f3f6fa;--color-ink: #171c24;--color-muted: #616b78;--color-blue: #2457b2;--color-blue-hover: #1b4590;--color-red: #c84036;--color-control-border: #7d8999;--color-border: #dfe5ed;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-display: Georgia, "Times New Roman", serif;--font-han: "Noto Serif CJK SC", "Songti SC", "SimSun", serif;--container-width: 1240px;--radius: 5px;--space-section: clamp(64px, 8vw, 112px)}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--color-bg);color:var(--color-ink);font:400 1.125rem/1.7 var(--font-body);-webkit-font-smoothing:antialiased}body,button,input,select{font-family:var(--font-body)}a{color:var(--color-blue);text-underline-offset:4px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}img,svg{max-width:100%}button,a,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--color-blue);outline-offset:5px}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{text-wrap:balance}::selection{color:#fff;background:var(--color-blue)}.page{min-height:55vh;outline:none}.container{width:min(var(--container-width),100% - 64px);margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:12px;left:12px;transform:translateY(-200%);padding:12px 20px;color:#fff;background:var(--color-blue)}.skip-link:focus{transform:translateY(0)}@media(max-width:600px){.container{width:calc(100% - 40px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;max-width:100%;min-height:56px;padding:14px 24px;border:1px solid var(--color-control-border);border-radius:var(--radius);color:var(--color-ink);background:var(--color-bg);text-align:center;text-decoration:none;font-size:1.125rem;line-height:1.5;font-weight:600;transition:background .18s,border-color .18s}.button:hover{background:var(--color-surface);border-color:var(--color-blue)}.button--primary{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.button--primary:hover{background:var(--color-blue-hover);border-color:var(--color-blue-hover)}.button--small{min-height:48px;padding:11px 18px;font-size:1rem}.button--quiet{border-color:var(--color-blue);background:var(--color-bg);color:var(--color-blue)}.button--section{flex-shrink:0;color:var(--color-blue);border:2px solid var(--color-blue);font-size:1.125rem}.button--section:hover{color:#fff;background:var(--color-blue)}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:.875rem;line-height:1.5;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.eyebrow__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--color-red);flex-shrink:0}.chip{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:10px 16px;min-height:48px;border:1px solid var(--color-control-border);border-radius:30px;background:var(--color-bg);color:var(--color-ink);text-decoration:none;font-size:1rem;line-height:1.5}.chip:hover{border-color:var(--color-blue);color:var(--color-blue)}.chip--selected{background:var(--color-blue);border-color:var(--color-blue);color:#fff}.chip--selected:hover{color:#fff;background:var(--color-blue-hover)}.header{position:sticky;top:0;z-index:20;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.header__inner{display:flex;align-items:center;gap:28px;min-height:88px}.brand{display:inline-flex;align-items:center;flex-shrink:0;gap:12px;text-decoration:none;color:var(--color-ink)}.brand__seal{display:grid;place-items:center;width:39px;height:43px;border:1.5px solid var(--color-red);color:var(--color-red);font:30px/1 var(--font-han)}.brand__text{display:grid;gap:5px}.brand__name{font:700 26px/1 var(--font-display)}.brand__caption{font-size:.875rem;letter-spacing:.04em;color:var(--color-muted)}.header__cta{flex-shrink:0}.header__toggle{display:none}.nav{margin-left:auto}.nav__list{display:flex;gap:10px;list-style:none;margin:0;padding:0}.nav__link{display:inline-flex;align-items:center;min-height:48px;padding-inline:5px;color:var(--color-ink);text-decoration:none;font-size:1rem;font-weight:600;padding-block:10px;white-space:nowrap}.nav__link:hover,.nav__link--active{color:var(--color-blue)}.nav__link--active{box-shadow:inset 0 -2px var(--color-blue)}.hero{overflow:hidden}.hero__inner{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;padding-block:76px 80px}.hero__title{margin:0;font:400 clamp(44px,5.5vw,76px)/1.08 var(--font-display);letter-spacing:-.045em}.hero__accent{color:var(--color-blue)}.hero__lead{max-width:480px;font-size:1.125rem;line-height:1.85;color:var(--color-muted);margin:26px 0 30px}.hero__actions{display:flex;gap:10px;flex-wrap:wrap}.hero__footnote{display:flex;gap:20px;color:var(--color-muted);font-size:.875rem;margin:32px 0 0}.hero__footnote span{color:var(--color-red)}.hero-photo{margin:0;width:100%;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-photo__link{display:block;cursor:zoom-in}.hero-photo__image{display:block;width:100%;height:auto;aspect-ratio:5 / 6;object-fit:cover;object-position:63% 45%;border-radius:var(--radius)}.hero-photo__caption{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:18px;font-size:.875rem;letter-spacing:.03em;color:var(--color-muted)}.hero-photo__seal{border:1px solid var(--color-red);color:var(--color-red);padding:4px;font:21px/1 var(--font-han)}.hero-photo__city{margin-left:auto}.goals{border-block:1px solid var(--color-border)}.goals__inner{display:flex;align-items:center;gap:30px;padding-block:23px}.goals__label{font-size:1rem;font-weight:600;margin:0;white-space:nowrap}.goals__list{display:flex;gap:8px;flex-wrap:wrap}.section{padding-block:var(--space-section)}.section--tinted{background:var(--color-surface)}.section__heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.section__title{font:400 clamp(30px,3.5vw,46px)/1.18 var(--font-display);letter-spacing:-.025em;margin:0}.section__description{color:var(--color-muted);max-width:440px;font-size:1rem;margin:20px 0}.section__heading .section__description{margin:0 0 4px}.section__note{font-size:1rem;color:var(--color-muted);margin:20px 0 0}.direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.direction-card{display:flex;flex-direction:column;padding:28px;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;transition:border-color .2s,transform .2s}.direction-card:hover{border-color:var(--color-blue);transform:translateY(-3px)}.direction-card--recruiting{border-style:dashed}.direction-card__top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.direction-card__index{font-size:.875rem;color:var(--color-muted)}.direction-card__han{color:var(--color-red);font:32px/1.3 var(--font-han);min-height:42px}.direction-card__level{font-size:.875rem;color:var(--color-blue);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px}.direction-card__title{font:400 29px/1.2 var(--font-display);margin:0 0 14px}.direction-card__description{margin:0 0 28px;color:var(--color-muted);font-size:1rem;line-height:1.8;flex:1}.direction-card__time{color:var(--color-muted);font-size:.875rem;margin:0 0 20px}.direction-card__action{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;min-height:56px;font-size:1.125rem;font-weight:600;line-height:1.5;color:var(--color-blue);background:var(--color-bg);border:2px solid var(--color-blue);border-radius:var(--radius)}.direction-card:hover .direction-card__action{background:var(--color-blue);color:#fff}.journey{display:grid;grid-template-columns:1fr 1fr;gap:90px}.journey__list{list-style:none;margin:0;padding:0}.journey__step{display:flex;gap:28px;padding-block:26px;border-bottom:1px solid var(--color-border)}.journey__step:first-child{padding-top:0}.journey__number{color:var(--color-red);font:26px/1.4 var(--font-display)}.journey__title{margin:0 0 6px;font:400 25px/1.3 var(--font-display)}.journey__text{margin:0;color:var(--color-muted);font-size:1rem}.practice-banner{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;padding:60px;background:var(--color-surface);border-radius:var(--radius);overflow:hidden}.practice-banner__mark{display:grid;place-items:center;width:260px;height:260px;margin-inline:auto;border:1px solid var(--color-border);border-radius:50%;font:130px/1 var(--font-han);color:var(--color-blue)}.practice-banner__label{position:static;grid-column:1 / -1;font-size:1rem;letter-spacing:.08em;color:var(--color-muted)}.schedule{overflow-x:auto}.schedule__table{width:100%;border-collapse:collapse;min-width:640px;text-align:left}.schedule__table th{padding:12px 15px 16px 0;color:var(--color-muted);font-size:1rem;text-transform:uppercase;letter-spacing:.06em;font-weight:500;border-bottom:1px solid var(--color-border)}.schedule__table td{padding:24px 20px 24px 0;border-bottom:1px solid var(--color-border);font-size:1rem}.schedule__days{color:var(--color-muted);font-size:1rem}.schedule__table .schedule__time{font-size:1.5rem;color:var(--color-blue);font-variant-numeric:tabular-nums}.schedule__name{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;color:var(--color-blue)}.schedule__name:hover{color:var(--color-blue)}.schedule__level{display:block;font-size:.875rem;color:var(--color-muted);margin-top:5px}.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.coach{display:grid;grid-template-columns:120px 1fr;gap:26px;align-items:start;padding:26px;border:1px solid var(--color-border);border-radius:var(--radius)}.coach__portrait{display:grid;align-content:center;justify-items:center;gap:20px;height:170px;background:var(--color-surface)}.coach__portrait--photo{display:block;overflow:hidden;border-radius:var(--radius)}.coach__image{display:block;width:100%;height:100%;object-fit:cover;object-position:48% 25%}.coach__initials{font:40px/1 var(--font-display);color:var(--color-blue)}.coach__placeholder{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted)}.coach__role{color:var(--color-blue);text-transform:uppercase;font-size:.875rem;letter-spacing:.1em;margin:0 0 10px}.coach__name{font:400 26px/1.2 var(--font-display);margin:0 0 13px}.coach__description{font-size:1rem;color:var(--color-muted);margin:0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq__item{border-bottom:1px solid var(--color-border)}.faq__question{line-height:1.6;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:23px;list-style:none;font-size:1rem;font-weight:600;cursor:pointer}.faq__question::-webkit-details-marker{display:none}.faq__icon{font-size:1.375rem;font-weight:400;color:var(--color-blue);transition:transform .2s}.faq__item[open] .faq__icon{transform:rotate(45deg)}.faq__answer{margin:0 36px 24px 0;font-size:1rem;color:var(--color-muted)}.registration{padding-block:72px;border-top:1px solid var(--color-border)}.registration__inner{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:80px}.registration__title{font:400 clamp(30px,3.5vw,46px)/1.2 var(--font-display);letter-spacing:-.025em;margin:0 0 20px}.registration__description{color:var(--color-muted);font-size:1rem;max-width:480px;margin:0}.registration__action{justify-self:end;max-width:100%}.registration__status{font-size:1rem;color:var(--color-muted);margin:0 0 15px}.registration__note{font-size:.875rem;color:var(--color-muted);margin:14px 0 0}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding-top:64px}.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:50px}.footer__description{font-size:1rem;color:var(--color-muted);margin:20px 0}.footer__city{font-size:.875rem;color:var(--color-muted)}.footer__title{margin:0 0 20px;font-size:1rem;font-weight:600}.footer__list{list-style:none;margin:0;padding:0;display:grid;gap:9px}.footer__link{display:inline-flex;align-items:center;min-height:44px;padding-block:6px;font-size:1rem;color:var(--color-blue);text-decoration:underline}.footer__link:hover,.footer__link--accent{color:var(--color-blue)}.footer__bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--color-border);padding-block:16px}.footer__bottom p{margin:0;color:var(--color-muted);font-size:.875rem}.breadcrumbs{display:flex;flex-wrap:wrap;gap:13px;align-items:center;padding-top:28px;font-size:1rem;color:var(--color-muted)}.breadcrumbs__link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-blue);text-decoration:underline}.breadcrumbs__link:hover{color:var(--color-blue)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-block:52px 64px}.page-head__content{max-width:800px}.page-head__title{margin:0 0 24px;font:400 clamp(36px,4.5vw,60px)/1.12 var(--font-display);letter-spacing:-.035em}.page-head__lead{margin:0;max-width:700px;font-size:1.125rem;color:var(--color-muted)}.page-head__han{font:80px/1.3 var(--font-han);color:var(--color-red);flex-shrink:0}.detail-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:90px;align-items:start}.prose{max-width:760px}.prose h2{font:400 30px/1.25 var(--font-display);margin:40px 0 20px}.prose h2:first-child{margin-top:0}.prose p,.prose li{font-size:1.125rem;color:var(--color-muted)}.prose li{padding-left:5px;margin-bottom:12px}.prose ul{padding-left:20px}.notice{padding:16px 20px;margin-block:26px;border-left:2px solid var(--color-red);background:var(--color-surface);color:var(--color-muted);font-size:1rem}.notice p{margin:0;font-size:inherit}.info-card{padding:30px;border:1px solid var(--color-border);border-radius:var(--radius)}.info-card__han{display:block;font:48px/1.4 var(--font-han);color:var(--color-red);margin:0 0 20px}.info-card__title{font:400 30px/1.2 var(--font-display);margin:0 0 25px}.info-card__facts{margin:0 0 30px}.info-card__facts dt{font-size:.875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted)}.info-card__facts dd{margin:5px 0 20px;font-size:1rem}.info-card p{font-size:1rem;color:var(--color-muted)}.hall-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}.hall{padding:35px;border:1px solid var(--color-border);border-radius:var(--radius)}.hall__title{font:400 30px/1.2 var(--font-display);margin:0 0 18px}.hall__description{color:var(--color-muted);font-size:1rem}.hall__status{font-size:1rem;color:var(--color-muted)}.contact{display:flex;gap:60px;justify-content:space-between;align-items:center;padding-bottom:40px}.contact__city,.contact__status{font-size:1rem;color:var(--color-muted)}.contact__channels{display:grid;gap:15px}.contact__link{font-size:1.125rem}.error-page{padding-block:70px}.error-page__description{color:var(--color-muted);margin-bottom:30px}.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.photo-gallery__item{min-width:0;margin:0}.photo-gallery__link{display:block;overflow:hidden;border-radius:var(--radius)}.photo-gallery__image{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;object-position:center 45%}.photo-gallery__caption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:15px;padding-top:16px;color:var(--color-ink);font-size:1rem}.photo-gallery__hint{color:var(--color-blue);font-size:.875rem;white-space:nowrap}@media(max-width:1280px){.header__toggle{display:flex;align-items:center;gap:20px;margin-left:auto;padding:10px 14px;min-height:48px;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-control-border);border-radius:var(--radius);font-size:1rem}.nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 100px);overflow-y:auto;padding:18px 32px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.nav--open{display:block}.nav__list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 20px}.nav__link{font-size:1rem}.coach{grid-template-columns:90px 1fr;padding:20px;gap:18px}.coach__portrait{height:140px}}@media(max-width:900px){.hero__inner{gap:20px;padding-block:60px}.hero__title{font-size:3.375rem}.goals__inner{align-items:flex-start;flex-direction:column;gap:15px}.direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey,.faq-layout,.detail-layout{gap:40px}.practice-banner{gap:35px;padding:40px}.practice-banner__mark{width:190px;height:190px;font-size:6.25rem}.coach-grid{grid-template-columns:1fr}.coach{grid-template-columns:120px 1fr}.footer__grid{grid-template-columns:repeat(2,1fr)}.registration__inner{gap:35px}.page-head__han{font-size:3.75rem}}@media(max-width:600px){.header__inner{min-height:88px;gap:8px;padding-block:12px}.header__toggle{gap:10px;padding:10px}.header__cta{display:none}.brand{gap:8px}.brand__seal{width:32px;height:38px;font-size:1.5rem}.brand__name{font-size:1.5rem}.brand__caption{font-size:.875rem;line-height:1.35;max-width:118px}.hero__inner{grid-template-columns:1fr;padding-block:46px 35px;gap:28px}.hero__title{font-size:clamp(42px,10vw,58px)}.hero__lead{font-size:1.125rem}.hero-photo__image{aspect-ratio:4 / 3;object-position:center}.hero-photo__caption{padding-top:12px}.photo-gallery{grid-template-columns:1fr;gap:28px}.hero__footnote{font-size:.875rem}.section__heading{display:block;margin-bottom:28px}.section__heading .button--section,.section__heading .section__description{margin-top:20px}.direction-grid{grid-template-columns:1fr;gap:14px}.direction-card{padding:24px}.journey,.practice-banner,.faq-layout,.registration__inner,.detail-layout,.hall-grid{grid-template-columns:1fr}.journey{gap:40px}.practice-banner{padding:32px 25px 52px}.practice-banner__mark{width:140px;height:140px;font-size:4.6875rem}.practice-banner__label{font-size:.875rem}.coach{grid-template-columns:1fr;padding:18px}.coach__portrait{height:240px}.coach__name{font-size:1.4375rem}.coach__initials{font-size:1.875rem}.coach__placeholder{font-size:.875rem}.registration__action{justify-self:start}.footer__grid{gap:35px 20px}.footer__about{grid-column:1 / -1}.footer__bottom{flex-direction:column;gap:8px}.page-head{align-items:flex-start;gap:15px;padding-block:35px 45px}.page-head__han{font-size:1.875rem;writing-mode:vertical-rl}.page-head__title{font-size:2.375rem}.page-head__lead{font-size:1.125rem}.contact{flex-direction:column;align-items:flex-start;gap:20px}.hall{padding:26px}.eyebrow{font-size:.875rem}}.trainer__heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:60px 0 28px}.trainer__heading:first-child{margin-top:0}.trainer__title{margin:0;font:400 clamp(27px,3vw,38px)/1.2 var(--font-display)}.trainer__streak,.trainer__subtitle{color:var(--color-blue);font-size:1rem;margin:0}.trainer__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trainer__caution{border-top:1px solid var(--color-border);padding-top:25px;margin:45px 0 0;color:var(--color-muted);font-size:1rem;max-width:850px}.practice-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:26px;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-ink);background:var(--color-bg);transition:border-color .2s}.practice-card:hover{border-color:var(--color-blue)}.practice-card--season{border-color:var(--color-red)}.practice-card__number{color:var(--color-red);font-size:.875rem}.practice-card__title{font:400 25px/1.25 var(--font-display)}.practice-card__description{color:var(--color-muted);font-size:1rem;flex:1}.practice-card__bottom{display:flex;justify-content:space-between;gap:12px;width:100%;margin-top:8px;padding-top:15px;border-top:1px solid var(--color-border);font-size:1rem;color:var(--color-blue)}.practice-card__han{font:23px/1.4 var(--font-han);color:var(--color-red)}.practice-card--compact .practice-card__title{font-size:1.375rem}.player{max-width:1000px;margin-inline:auto}.player__top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px}.player__session{font-size:1rem;font-weight:600}.player__exit{min-height:48px;border:none;background:transparent;color:var(--color-muted);font-size:1rem;padding:10px}.player__progress{display:block;appearance:none;width:100%;height:4px;border:0;background:var(--color-border);accent-color:var(--color-blue);margin-bottom:40px}.player__progress::-webkit-progress-bar{background:var(--color-border)}.player__progress::-webkit-progress-value{background:var(--color-blue)}.player__progress::-moz-progress-bar{background:var(--color-blue)}.player__body{display:grid;grid-template-columns:120px 1fr;gap:45px}.player__han{font:55px/1.4 var(--font-han);writing-mode:vertical-rl;color:var(--color-red)}.player__title{font:400 clamp(30px,4vw,43px)/1.18 var(--font-display);margin:0 0 20px}.player__description{color:var(--color-muted);font-size:1rem}.player__instructions{padding-left:22px;margin-block:24px}.player__instruction{padding-left:7px;margin-bottom:12px;font-size:1.125rem}.player__rhythm{display:flex;align-items:center;gap:30px;margin-block:35px}.breathing-ring{width:140px;height:140px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--color-blue);border-radius:50%;position:relative;isolation:isolate}.breathing-ring:before{position:absolute;content:"";inset:10px;background:var(--color-surface);border-radius:50%;transform:scale(var(--breath-scale, .5));transition:transform .1s linear;z-index:-1}.breathing-ring--paused:before{transition:none}.breathing-ring__seconds{font-size:2.375rem;line-height:1;color:var(--color-blue);font-variant-numeric:tabular-nums}.breathing-ring__unit{display:block;margin-top:9px;text-align:center;font-size:.875rem;color:var(--color-muted)}.player__phase{margin:0 0 7px;font-size:1rem;font-weight:600}.player__rhythm-note{margin:0;color:var(--color-muted);font-size:1rem}.player__controls{display:flex;gap:10px;flex-wrap:wrap}.player__sound{padding:12px 14px;margin-top:15px;border:0;background:transparent;color:var(--color-muted);text-decoration:underline;text-underline-offset:4px;font-size:1rem;min-height:48px}.player__source{font-size:.875rem;color:var(--color-muted)}.completion{max-width:850px;margin-inline:auto;padding-block:20px}.completion__han{display:block;font:70px/1.3 var(--font-han);margin-bottom:35px;color:var(--color-red)}.completion__title{font:400 clamp(30px,4vw,46px)/1.2 var(--font-display);margin:0 0 22px}.completion__description,.completion__note{font-size:1rem;color:var(--color-muted)}.completion__feelings{display:flex;gap:10px;flex-wrap:wrap;margin-block:28px}.completion__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}@media(max-width:900px){.trainer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player__body{gap:25px;grid-template-columns:80px 1fr}.player__han{font-size:2.5rem}}@media(max-width:600px){.trainer__grid{grid-template-columns:1fr;gap:12px}.trainer__heading{align-items:start;flex-direction:column;gap:15px}.player__body{grid-template-columns:1fr}.player__han{writing-mode:horizontal-tb;font-size:2rem}.player__rhythm{gap:20px}.breathing-ring{width:110px;height:110px}.player__phase{font-size:1rem}.player__controls .button{padding-inline:15px}}.photo-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#111827;color:#fff;overflow:hidden}.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.photo-viewer::backdrop{background:#111827}.photo-viewer__toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:max(16px,env(safe-area-inset-top)) 24px 16px;background:#111827}.photo-viewer__title{margin:0;font:600 1.125rem/1.5 var(--font-body);color:#fff}.photo-viewer__controls{display:flex;gap:12px;flex-shrink:0}.photo-viewer__button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 16px;border:1px solid #a6b3c8;border-radius:var(--radius);background:#111827;color:#fff;font-size:1rem}.photo-viewer__button:hover{background:#29364d}.photo-viewer__button--close{background:#fff;border-color:#fff;color:#111827}.photo-viewer__button--close:hover{background:#d7dfec}.photo-viewer :focus-visible{outline:3px solid #fff;outline-offset:4px}.photo-viewer__stage{position:relative;min-height:0;min-width:0;display:grid;place-items:center;overflow:auto;padding:12px 24px}.photo-viewer__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:zoom-out}.photo-viewer__image{position:relative;display:block;width:auto;height:auto;min-height:0;max-width:100%;max-height:100%;object-fit:contain;pointer-events:auto}.photo-viewer--zoomed .photo-viewer__stage{display:block}.photo-viewer--zoomed .photo-viewer__image{width:max-content;height:auto;max-width:none;max-height:none;margin:auto}.photo-viewer__hint{margin:0;padding:12px 24px max(16px,env(safe-area-inset-bottom));font-size:.875rem;color:#d7dfec;background:#111827}.photo-viewer__error{position:relative;margin:24px;font-size:1rem;color:#fff}@media(max-width:600px){.photo-viewer__toolbar{padding-inline:16px;flex-wrap:wrap;gap:12px}.photo-viewer__title{width:100%}.photo-viewer__controls{width:100%;flex-wrap:wrap}.photo-viewer__stage{padding:0 12px}.photo-viewer__hint{padding-inline:16px}}
