/* Compact floating workspace and reading accessibility */
.jp-accessibility{display:flex;align-items:center;gap:6px;margin-left:auto;padding:5px 7px;border:1px solid var(--line);border-radius:12px;background:#fff}.jp-accessibility>span{padding:0 4px;color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.jp-accessibility button{width:34px;height:32px;border:0;border-radius:8px;background:#f2f5f2;color:var(--green);font-size:13px;cursor:pointer}.jp-accessibility button[aria-pressed="true"]{background:var(--green);color:#fff}.jp-account{margin-left:0}.jp-workspace{grid-template-columns:230px minmax(500px,1fr) minmax(320px,360px)}.jp-reader{padding:16px 24px 70px}.jp-control-dock{position:sticky;top:12px;z-index:12;width:min(920px,100%);margin:0 auto 22px;padding:12px;border:1px solid rgba(203,216,210,.9);border-radius:18px;background:rgba(255,255,252,.94);box-shadow:0 15px 45px rgba(35,52,48,.12);backdrop-filter:blur(18px)}.jp-control-dock .jp-document-bar input{width:min(440px,48vw);font-size:18px}.jp-app .jp-control-dock .jp-page-nav{max-width:none;margin:9px 0 0;justify-content:flex-start;gap:6px}.jp-control-dock .jp-page-nav button{padding:7px 9px}.jp-control-dock .jp-page-nav span{min-width:72px}.jp-control-dock .jp-page-jump input{width:50px;padding:6px}.jp-control-dock .jp-bookmark-compose{margin-left:auto}.jp-control-dock .jp-document-search{max-width:none;margin:8px 0}.jp-control-dock .jp-document-search>input{padding:9px 11px}.jp-control-dock .jp-editor-tools{max-width:none;margin:8px 0 0;border:1px solid var(--line);border-radius:10px}.jp-paper{max-width:920px;min-height:720px;padding:58px clamp(38px,7vw,88px)}.jp-inspector{position:sticky;top:86px;align-self:start;height:calc(100dvh - 102px);max-height:calc(100dvh - 102px);margin:16px 16px 16px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,252,.96);box-shadow:0 18px 50px rgba(35,52,48,.12);backdrop-filter:blur(16px);overflow-y:auto}.jp-inspector__empty{margin-top:20vh}.jp-bookmark-open span,.jp-bookmark-open small{white-space:normal!important;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.jp-bookmark-open small{max-height:2.8em;line-height:1.4}.jp-app.is-reader-large{font-size:18px}.jp-app.is-reader-large .jp-paper{font-size:24px;line-height:2.15}.jp-app.is-reader-large :is(button,input,select,.jp-google,.jp-document,.jp-analysis section>p,.jp-inspector__empty p,.jp-memory-card p){font-size:15px}.jp-app.is-reader-large :is(small,.jp-analysis label,.jp-ai-note,.jp-tool-hint){font-size:12px}.jp-app.is-reader-large .jp-ruby-line{font-size:21px}.jp-app.is-reader-large .jp-hiragana{font-size:19px}.jp-app.is-reader-bold,.jp-app.is-reader-bold button,.jp-app.is-reader-bold input,.jp-app.is-reader-bold select,.jp-app.is-reader-bold .jp-paper,.jp-app.is-reader-bold .jp-analysis,.jp-app.is-reader-bold .jp-memory{font-weight:600}.jp-app.is-reader-bold .jp-paper{font-weight:600!important}.jp-app.is-reader-bold small{font-weight:600}
@media(max-width:1100px){.jp-workspace{grid-template-columns:210px 1fr}.jp-inspector{position:fixed;top:78px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));width:min(410px,calc(100vw - 24px));height:auto;max-height:calc(100dvh - 86px);margin:0;z-index:24;border-radius:18px;box-shadow:-18px 18px 55px #0003;overflow-y:auto}.jp-inspector:has(.jp-inspector__empty:not([hidden])){display:none}.jp-control-dock{top:10px}}
@media(max-width:720px){.jp-topbar{gap:10px}.jp-brand strong{display:none}.jp-accessibility{margin-left:auto}.jp-accessibility>span{display:none}.jp-account{margin-left:0}.jp-account .jp-user span,.jp-account .jp-user strong{display:none}.jp-reader{padding:10px 8px 48px}.jp-control-dock{top:7px;padding:9px;border-radius:14px}.jp-control-dock .jp-document-bar{display:grid;grid-template-columns:1fr auto;gap:8px}.jp-control-dock .jp-document-bar input{width:100%;font-size:16px}.jp-app .jp-control-dock .jp-page-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;justify-content:flex-start}.jp-control-dock .jp-page-nav>*{flex:0 0 auto}.jp-control-dock .jp-bookmark-compose{margin-left:0}.jp-control-dock .jp-bookmark-compose input{width:180px}.jp-control-dock .jp-editor-tools{overflow-x:auto}.jp-paper{padding:38px 24px;min-height:75vh}.jp-inspector{top:76px;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;height:auto;max-height:calc(100dvh - 84px);border-radius:20px 20px 14px 14px;overflow-y:auto}.jp-app.is-reader-large .jp-paper{font-size:22px}.jp-app.is-reader-large :is(button,input,select,.jp-google){font-size:14px}}
.jp-token{min-width:118px}.jp-token em{display:block;margin-top:4px;color:#315f55;font-size:10px;font-style:normal;line-height:1.35}.jp-token em:empty{display:none}.jp-study-note{display:block;margin-top:18px;padding:14px;border:1px solid #ccdcd6;border-radius:12px;background:#f5f7f4}.jp-study-note>span{display:block;margin-bottom:8px;color:#315f55;font-size:11px;font-weight:700}.jp-study-note textarea{width:100%;resize:vertical;min-height:76px;padding:10px 11px;border:1px solid #d9e2de;border-radius:9px;background:#fff;color:var(--ink);font:13px/1.55 "IBM Plex Sans",sans-serif;outline:none}.jp-study-note textarea:focus{border-color:#6d9b8f;box-shadow:0 0 0 3px rgba(49,95,85,.1)}.jp-study-note small{display:block;margin-top:6px;letter-spacing:0}.jp-memory-note{margin:10px 0!important;padding:9px 10px;border-left:3px solid #6d9b8f;border-radius:0 7px 7px 0;background:#f2f7f5;color:#315f55!important}.jp-app.is-reader-large .jp-study-note textarea{font-size:15px}
.jp-listen-whole{width:100%;display:grid;grid-template-columns:38px 1fr;gap:1px 10px;align-items:center;margin:10px 0 12px;padding:9px 12px;border:1px solid #aac9c0;border-radius:10px;background:linear-gradient(135deg,#e1eee9,#f5faf8);color:#315f55;text-align:left;cursor:pointer}.jp-listen-whole>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#315f55;color:#fff}.jp-listen-whole strong{font-size:12px}.jp-listen-whole small{font-size:10px;letter-spacing:0}.jp-listen-whole:hover{border-color:#315f55;background:#d5e8e1}.jp-analysis__actions .primary{width:100%}.jp-app.is-reader-large .jp-listen-whole strong{font-size:15px}.jp-app.is-reader-large .jp-listen-whole small{font-size:12px}
.jp-library-toggle,.jp-library-close,.jp-library-backdrop{display:none}.jp-library__head-actions{display:flex;gap:6px}.jp-library__head-actions button{flex:0 0 auto}
@media(max-width:1100px){.jp-library-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#315f55;font-weight:700}.jp-library-close{display:grid!important;place-items:center}.jp-library{position:fixed;z-index:35;left:10px;top:80px;bottom:10px;width:min(340px,calc(100vw - 20px));padding:20px 16px!important;border:1px solid var(--line)!important;border-radius:18px;background:#fbfbf7;box-shadow:18px 22px 65px rgba(20,36,32,.28);overflow:auto;transform:translateX(calc(-100% - 24px));visibility:hidden;transition:transform .3s ease,visibility .3s}.jp-app.is-library-open .jp-library{transform:none;visibility:visible}.jp-app .jp-library .jp-library__head,.jp-app .jp-library .jp-documents,.jp-app .jp-library .jp-extract-auth{display:flex}.jp-app .jp-library .jp-library__head{align-items:center}.jp-app .jp-library .jp-documents{display:grid}.jp-app .jp-library .jp-extract-auth{display:block}.jp-library-backdrop{position:fixed;z-index:34;inset:0;width:100%;height:100%;border:0;background:rgba(22,34,31,.42);backdrop-filter:blur(3px)}.jp-app.is-library-open .jp-library-backdrop{display:block}.jp-library-backdrop[hidden]{display:none!important}}
@media(max-width:720px){.jp-app{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.jp-app .jp-topbar nav{position:fixed;z-index:50;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));height:56px;display:grid!important;grid-template-columns:1fr 1fr;align-items:stretch;padding:5px;border:1px solid rgba(203,216,210,.95);border-radius:16px;background:rgba(255,255,252,.96);box-shadow:0 12px 35px rgba(20,36,32,.2);backdrop-filter:blur(18px)}.jp-app .jp-topbar nav .jp-nav{border:0;border-radius:11px;padding:0 10px;font-size:13px}.jp-app .jp-topbar nav .jp-nav.is-active{background:var(--green);color:#fff}.jp-app .jp-topbar nav .jp-nav.is-active b{background:rgba(255,255,255,.2);color:#fff}.jp-app .jp-inspector{bottom:calc(72px + env(safe-area-inset-bottom));max-height:calc(100dvh - 148px)}.jp-memory{padding-bottom:90px!important}}
@media(max-width:720px){.jp-library-toggle{font-size:11px;padding:7px 8px}.jp-library{top:76px}.jp-topbar .jp-accessibility{margin-left:auto}}
.jp-accessibility output{min-width:42px;color:var(--green);font-size:11px;font-weight:800;text-align:center}.jp-accessibility button{font-weight:800}.jp-accessibility button:hover{background:#e1eee9}.jp-accessibility button:disabled{opacity:.35;cursor:not-allowed}.jp-app.is-reader-larger{font-size:19px}.jp-app.is-reader-largest{font-size:20px}.jp-app:is(.is-reader-larger,.is-reader-largest) :is(button,input,select,.jp-google,.jp-document,.jp-analysis section>p,.jp-inspector__empty p,.jp-memory-card p){font-size:16px}.jp-app:is(.is-reader-larger,.is-reader-largest) :is(small,.jp-analysis label,.jp-ai-note,.jp-tool-hint){font-size:13px}.jp-app.is-reader-larger .jp-paper{font-size:27px;line-height:2.2}.jp-app.is-reader-largest .jp-paper{font-size:30px;line-height:2.25}.jp-app.is-reader-larger .jp-ruby-line{font-size:23px}.jp-app.is-reader-largest .jp-ruby-line{font-size:25px}.jp-app.is-reader-larger .jp-hiragana{font-size:21px}.jp-app.is-reader-largest .jp-hiragana{font-size:23px}.jp-app:is(.is-reader-larger,.is-reader-largest) .jp-study-note textarea{font-size:16px}.jp-app:is(.is-reader-larger,.is-reader-largest) .jp-listen-whole strong{font-size:16px}.jp-app:is(.is-reader-larger,.is-reader-largest) .jp-listen-whole small{font-size:13px}@media(max-width:720px){.jp-accessibility{gap:3px;padding:4px}.jp-accessibility output{min-width:36px;font-size:10px}.jp-accessibility button{width:31px;height:31px}.jp-app.is-reader-larger .jp-paper{font-size:25px}.jp-app.is-reader-largest .jp-paper{font-size:28px}}
@media(max-width:1100px){.jp-workspace{grid-template-columns:1fr}}
