/*
Theme Name: YU Fieldnotes
Author: YU MEETS THE WORLD
Description: 語学の学習記録とレビューを読みやすく整理するオリジナルテーマ。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: yu-fieldnotes
*/
:root{--ink:#243a36;--muted:#66726e;--green:#24594c;--paper:#f8f7f2;--line:#dce2da;--accent:#dfbd73;--soft:#eef2e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.85;font-size:16px}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b07c29;outline-offset:5px}img{max-width:100%;height:auto}button,input{font:inherit}button,a{touch-action:manipulation}.wrap{max-width:1160px;margin:auto;padding:0 32px}.skip{position:absolute;left:15px;top:-100px;background:white;padding:10px;z-index:99}.skip:focus{top:10px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.head-row{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;gap:13px;align-items:center}.brand-mark{width:41px;height:46px;border:1px solid var(--green);border-radius:22px 22px 4px 4px;display:grid;place-items:center;font-family:Georgia,serif;font-size:28px;background:var(--soft)}.brand strong{font-size:17px;letter-spacing:.12em;display:block}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.13em}.nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.nav a{font-size:13px;text-decoration:none;font-weight:600}.eyebrow{font-size:11px;letter-spacing:.17em;color:var(--green);font-weight:700;margin:0 0 17px}.hero{padding:72px 0 60px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.hero h1{font-size:clamp(32px,4vw,49px);line-height:1.5;letter-spacing:.04em;margin:0 0 23px;font-weight:650}.lead{font-size:15px;color:var(--muted);max-width:540px;line-height:2.15}.actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:27px}.button{display:inline-block;background:var(--green);color:white;border:1px solid var(--green);border-radius:5px;padding:12px 22px;text-decoration:none;font-size:13px;font-weight:600}.button:hover{background:#173d34;color:white}.text-link{font-size:13px;font-weight:600}.notebook{background:#fff;border:1px solid var(--line);border-radius:8px;padding:30px;box-shadow:10px 10px 0 #e7ecdf;position:relative}.notebook-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;font-size:11px;letter-spacing:.1em;color:var(--muted)}.notebook h2{font-size:26px;line-height:1.5;margin:23px 0 9px}.notebook p{font-size:13px;color:var(--muted)}.day-number{font-size:68px;font-family:Georgia,serif;line-height:1.2;letter-spacing:-.04em;color:var(--green)}.day-number span{font-size:13px;letter-spacing:.06em;font-family:inherit;margin-left:12px}.goal{padding:15px 0;border-top:1px solid var(--line);font-size:13px}.goal b{display:block;font-size:10px;color:var(--green);letter-spacing:.1em;margin-bottom:4px}.intro-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:12px}.section{padding:56px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:23px}.section h2,.section-head h2{margin:0;font-size:25px;letter-spacing:.025em}.section-head .eyebrow{margin-bottom:6px}.section-head p{font-size:13px;color:var(--muted);margin:7px 0 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.path-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:6px;padding:25px;transition:transform .2s,border-color .2s}.path-card:hover{transform:translateY(-3px);border-color:var(--green)}.path-top{display:flex;justify-content:space-between;font-size:11px;color:var(--green);letter-spacing:.1em}.path-card h3{font-size:19px;margin:20px 0 8px}.path-card p{font-size:13px;color:var(--muted);margin:0}.path-card .go{display:block;margin-top:22px;font-size:12px;font-weight:600}.feature{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.feature h2{font-size:27px;line-height:1.6;margin:0 0 15px}.feature p{font-size:14px}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:13px 0;border-bottom:1px solid #d3dccc;display:flex;gap:19px;font-size:13px}.timeline b{color:var(--green);min-width:61px;font-size:12px}.timeline li:last-child{border-bottom:0}.note{font-size:12px;color:var(--muted)}.post-card{border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden}.post-image{width:100%;height:165px;object-fit:cover}.post-fallback{height:130px;background:#e9eee3;display:flex;align-items:center;justify-content:center;color:var(--green);font-family:Georgia,serif;font-size:36px;letter-spacing:.08em}.post-body{padding:22px}.meta{font-size:11px;color:var(--muted)}.post-card h3{font-size:17px;line-height:1.75;margin:12px 0}.post-card h3 a{text-decoration:none}.post-card p{font-size:13px;color:var(--muted)}.empty{background:#fff;border:1px dashed #bdc9bc;border-radius:6px;padding:26px;color:var(--muted);font-size:14px}.search-panel{background:#fff;border:1px solid var(--line);padding:24px;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:30px}.search-panel h2{font-size:19px;margin:0}.search-form{display:flex;gap:8px;max-width:440px;width:100%}.search-form input{width:100%;min-width:0;border:1px solid #b7c4bb;background:#fff;border-radius:4px;padding:10px 12px;font-size:14px}.search-form button{border:0;background:var(--green);color:#fff;border-radius:4px;padding:8px 18px;white-space:nowrap;font-size:13px}.about{display:grid;grid-template-columns:90px 1fr auto;gap:25px;align-items:center;border-top:1px solid var(--line);padding:40px 0 55px}.avatar{width:80px;height:80px;border-radius:50%;background:#e0e7d7;display:grid;place-items:center;font-size:27px;font-family:Georgia,serif}.about h2{font-size:18px;margin:0}.about p{font-size:13px;color:var(--muted);margin:7px 0 0}.site-footer{background:#213f36;color:#edf2e9;padding:38px 0}.footer-row{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.site-footer a{font-size:12px}.site-footer p{font-size:11px;color:#c1d0c6;margin:12px 0}.footer-nav{display:flex;gap:22px;flex-wrap:wrap}.breadcrumb{padding-top:25px;font-size:12px;color:var(--muted)}.page-head{padding:35px 0}.page-head h1{font-size:clamp(26px,4vw,39px);line-height:1.6;margin:10px 0}.reading-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:50px;padding-bottom:65px;align-items:start}.article{background:#fff;border:1px solid var(--line);border-radius:7px;padding:38px;min-width:0}.entry-content{overflow-wrap:anywhere;line-height:2.05}.entry-content h2{font-size:23px;margin:2.3em 0 1em;border-left:3px solid var(--green);padding-left:16px}.entry-content h3{font-size:19px;margin-top:1.8em}.entry-content a{color:var(--green)}.entry-content p{margin:1.3em 0}.entry-content table{border-collapse:collapse;width:100%;display:block;overflow:auto}.entry-content td,.entry-content th{border:1px solid var(--line);padding:12px}.entry-content blockquote{background:var(--soft);border-left:3px solid var(--green);padding:15px 22px;margin:22px 0}.entry-content iframe{max-width:100%}.entry-content pre{overflow:auto}.entry-content figure{margin:20px 0}.toc{background:var(--soft);padding:18px 24px;border-radius:5px;font-size:13px}.toc summary{font-weight:600;cursor:pointer}.toc ol{padding-left:19px}.toc li{margin:6px 0}.aside-box{background:#fff;border:1px solid var(--line);padding:23px;margin-bottom:20px;border-radius:6px;font-size:13px}.aside-box h2{font-size:15px;margin:0 0 12px}.aside-box a{display:block;margin:10px 0}.disclosure{font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:15px}.pagination{padding:30px 0;display:flex;gap:12px}.page-numbers{padding:5px 13px;border:1px solid var(--line)}.current{background:var(--green);color:white}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wp-block-image img{height:auto}.alignwide{max-width:100%}.wp-caption{max-width:100%}.wp-caption-text{font-size:12px;color:var(--muted)}
@media(max-width:850px){.hero{gap:32px;padding-top:40px}.head-row{flex-wrap:wrap;justify-content:center;padding:19px 0;gap:15px}.nav{gap:21px}.reading-layout{grid-template-columns:1fr}.aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid{gap:12px}.path-card{padding:19px}.wrap{padding:0 24px}}
@media(max-width:600px){body{font-size:15px}.wrap{padding:0 20px}.brand strong{font-size:14px}.hero{grid-template-columns:1fr;gap:30px;padding:36px 0}.hero h1{font-size:33px}.notebook{padding:23px;box-shadow:6px 6px 0 #e7ecdf}.notebook h2{font-size:23px}.day-number{font-size:48px}.intro-line{flex-direction:column;gap:4px}.grid,.feature{grid-template-columns:1fr}.section{padding:36px 0}.feature{padding:25px;gap:17px}.section-head{align-items:start}.section h2{font-size:23px}.search-panel{flex-direction:column;align-items:stretch;gap:15px}.about{grid-template-columns:64px 1fr;gap:16px}.avatar{width:60px;height:60px}.about>.text-link{grid-column:2}.article{padding:23px 19px}.aside{grid-template-columns:1fr}.nav{justify-content:center;gap:17px}.nav a{font-size:12px}.reading-layout{gap:25px}.footer-row{flex-direction:column}.entry-content h2{font-size:21px}.page-head{padding:22px 0}.hero .lead{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Homepage photography */
.hero-photo{margin:28px 0 0;padding:48px 36px;gap:42px;border-radius:12px;background:linear-gradient(90deg,rgba(255,249,236,.94) 0%,rgba(255,249,236,.8) 42%,rgba(255,249,236,.18) 100%),url("https://yu-meets-world.com/wp-content/uploads/2026/09/yu-meets-world-hero-character-v1.png") center center/cover no-repeat}.hero-photo .notebook{background:rgba(255,255,255,.78);box-shadow:8px 8px 0 rgba(231,236,223,.45)}.hero-photo .lead{color:#41524a}.avatar-photo{position:relative;overflow:hidden;border-radius:50%;flex-shrink:0}.avatar-photo img{position:absolute;width:100%;max-width:none;height:auto;left:0;top:-42%}@media(max-width:600px){.hero-photo{padding:30px 22px;gap:24px;background-position:62% center;background-image:linear-gradient(180deg,rgba(255,249,236,.92),rgba(255,249,236,.45)),url("https://yu-meets-world.com/wp-content/uploads/2026/09/yu-meets-world-hero-character-v1.png")}.hero-photo .notebook{background:rgba(255,255,255,.8)}}

/* Interactive controls */
.search-form button{cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease}.search-form button:hover,.search-form button:focus-visible{background:#173d34;box-shadow:0 3px 8px rgba(23,61,52,.22);color:#fff}.site-footer a{transition:color .18s ease}.site-footer a:hover,.site-footer a:focus-visible{color:#f5d58c;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}@media(prefers-reduced-motion:reduce){.search-form button,.site-footer a{transition:none}}

/* Contact form */
.wpcf7{max-width:640px;margin:0 auto}.wpcf7 form>p{margin:0 0 24px}.wpcf7 label{display:block;font-size:14px;font-weight:600;line-height:1.7}.wpcf7-form-control-wrap{display:block;margin-top:9px}.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;border:1px solid #c7d2c8;border-radius:8px;background:#fafbf8;color:#243a36;padding:13px 15px;font:inherit;font-size:16px;font-weight:400;line-height:1.6;transition:border-color .18s,box-shadow .18s,background-color .18s}.wpcf7 textarea{min-height:190px;height:210px;resize:vertical}.wpcf7 input[type="text"]:focus,.wpcf7 input[type="email"]:focus,.wpcf7 textarea:focus{outline:none;border-color:#24594c;box-shadow:0 0 0 3px rgba(36,89,76,.13);background:#fff}.wpcf7 input[type="submit"]{appearance:none;display:inline-block;min-width:200px;min-height:50px;padding:13px 32px;border:1px solid #24594c;border-radius:8px;background:#24594c;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .18s,box-shadow .18s}.wpcf7 input[type="submit"]:hover{background:#173d34;box-shadow:0 4px 12px rgba(23,61,52,.18)}.wpcf7 input[type="submit"]:focus-visible{outline:3px solid #b07c29;outline-offset:4px}.wpcf7 input[type="submit"]:disabled{opacity:.55;cursor:wait;box-shadow:none}.wpcf7 .wpcf7-not-valid{border-color:#a63d32}.wpcf7 .wpcf7-not-valid-tip{font-size:13px;color:#a63d32;margin-top:6px}.wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:14px 18px;border-radius:8px;font-size:14px}.wpcf7 form>p:last-of-type{margin-bottom:0}@media(max-width:600px){.wpcf7 input[type="submit"]{width:100%}.wpcf7 .wpcf7-spinner{display:block;margin:10px auto 0}}@media(prefers-reduced-motion:reduce){.wpcf7 input,.wpcf7 textarea{transition:none}}

/* Center the contact submit button independently of its spinner. */
.wpcf7 form>p:has(.wpcf7-submit){position:relative;text-align:center}.wpcf7 input[type="submit"]{display:block;margin-left:auto;margin-right:auto}.wpcf7 .wpcf7-submit~.wpcf7-spinner{position:absolute;left:calc(50% + 112px);top:13px;margin:0}@media(max-width:600px){.wpcf7 .wpcf7-submit~.wpcf7-spinner{position:static;display:block;margin:10px auto 0}}

/* Responsive navigation */
.mobile-menu{display:none}
.footer-nav{min-width:0;max-width:100%;align-items:flex-start}
.footer-nav a{overflow-wrap:anywhere}
@media(max-width:850px){
.head-row{position:relative;min-height:82px;flex-wrap:nowrap;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:12px}
.head-row>.nav{display:none}
.head-row .brand{min-width:0}
.mobile-menu{display:block;flex-shrink:0}
.mobile-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-content:center;gap:5px;border:1px solid var(--line);border-radius:7px;color:var(--green);background:#fff}
.mobile-menu summary::-webkit-details-marker{display:none}
.menu-line{display:block;width:20px;height:2px;background:currentColor;transition:transform .18s,opacity .18s}
.mobile-menu[open] .menu-line:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu[open] .menu-line:nth-child(2){opacity:0}
.mobile-menu[open] .menu-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu summary:hover{background:var(--soft)}
.mobile-menu-panel{position:absolute;z-index:50;top:100%;left:0;right:0;display:flex;flex-direction:column;padding:12px 20px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 20px rgba(33,63,54,.1)}
.mobile-menu-panel a{display:block;min-height:48px;padding:11px 12px;font-size:14px;font-weight:600;text-decoration:none;border-radius:4px}
.mobile-menu-panel a:hover{background:var(--soft)}
}
@media(max-width:600px){
.head-row .brand{gap:9px}
.head-row .brand strong{font-size:13px;letter-spacing:.06em}
.head-row .brand small{font-size:9px;letter-spacing:0}
.head-row .brand-icon{width:38px!important;height:38px!important}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;width:100%}
.footer-nav a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:13px;line-height:1.7}
}
@media(max-width:380px){.head-row{gap:8px;padding-left:16px;padding-right:16px}.head-row .brand{gap:7px}.head-row .brand strong{font-size:11px;letter-spacing:.035em}.head-row .brand small{font-size:8px}.head-row .brand-icon{width:34px!important;height:34px!important}}

/* Basic blog refresh 2026-10-19 */
:root{--ink:#262626;--muted:#6b7280;--green:#315b50;--paper:#fff;--line:#e5e7eb;--soft:#f6f7f7}body{background:#fff}.wrap{max-width:1040px}.head-row{min-height:88px}.brand strong{letter-spacing:.04em}.brand small{display:none}.hero,.home .about,.eyebrow{display:none}.section{padding:40px 0}.section h2,.section-head h2{font-size:22px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.post-card{border-radius:3px;box-shadow:none}.post-card:hover{transform:none;border-color:#9ca3af}.post-image{height:auto;aspect-ratio:16/9;object-fit:cover}.post-body{padding:20px}.post-card h3{font-size:18px}.empty{border:1px solid var(--line);background:#fafafa;padding:36px;border-radius:3px}.search-panel{border-radius:3px;background:#fafafa;padding:24px}.search-panel .note{display:none}.search-panel h2{font-size:17px}.site-footer{background:#f6f7f7;color:#333;border-top:1px solid var(--line);padding:28px 0}.site-footer p{color:#666}.site-footer a:hover,.site-footer a:focus-visible{color:#24594c}.reading-layout{display:block;max-width:780px;margin:auto}.article{border:0;padding:0;border-radius:0}.aside{margin-top:32px}.page-head h1{font-size:30px}.entry-content h2{background:#f6f7f7;border:0;border-bottom:1px solid #ddd;padding:12px 16px;font-size:22px}.basic-intro{padding:36px 0 24px;border-bottom:1px solid var(--line)}.basic-intro h1{font-size:25px;margin:0 0 8px}.basic-intro p{font-size:14px;color:var(--muted);margin:0}.footer-nav{flex-wrap:wrap;gap:14px 22px}@media(max-width:600px){.wrap{padding:0 20px}.grid{grid-template-columns:1fr}.head-row{min-height:78px}.brand strong{font-size:13px}.basic-intro h1{font-size:22px}.section{padding:28px 0}.empty{padding:24px}.page-head h1{font-size:25px}.footer-nav{display:flex;flex-wrap:wrap}.entry-content{font-size:16px}}
