var wm=t=>{throw TypeError(t)};var Nc=(t,r,s)=>r.has(t)||wm("Cannot "+s);var A=(t,r,s)=>(Nc(t,r,"read from private field"),s?s.call(t):r.get(t)),fe=(t,r,s)=>r.has(t)?wm("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(t):r.set(t,s),ae=(t,r,s,n)=>(Nc(t,r,"write to private field"),n?n.call(t,s):r.set(t,s),s),tt=(t,r,s)=>(Nc(t,r,"access private method"),s);var Xa=(t,r,s,n)=>({set _(i){ae(t,r,i,s)},get _(){return A(t,r,n)}});function Rw(t,r){for(var s=0;s<r.length;s++){const n=r[s];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in t)){const a=Object.getOwnPropertyDescriptor(n,i);a&&Object.defineProperty(t,i,a.get?a:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=s(i);fetch(i.href,a)}})();function qg(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var _g={exports:{}},Tl={},Ug={exports:{}},xe={};/**
* @license React
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Ra=Symbol.for("react.element"),Dw=Symbol.for("react.portal"),Iw=Symbol.for("react.fragment"),Fw=Symbol.for("react.strict_mode"),Lw=Symbol.for("react.profiler"),Ow=Symbol.for("react.provider"),zw=Symbol.for("react.context"),Hw=Symbol.for("react.forward_ref"),qw=Symbol.for("react.suspense"),_w=Symbol.for("react.memo"),Uw=Symbol.for("react.lazy"),Nm=Symbol.iterator;function Ww(t){return t===null||typeof t!="object"?null:(t=Nm&&t[Nm]||t["@@iterator"],typeof t=="function"?t:null)}var Wg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$g=Object.assign,Vg={};function vi(t,r,s){this.props=t,this.context=r,this.refs=Vg,this.updater=s||Wg}vi.prototype.isReactComponent={};vi.prototype.setState=function(t,r){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,r,"setState")};vi.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Yg(){}Yg.prototype=vi.prototype;function Du(t,r,s){this.props=t,this.context=r,this.refs=Vg,this.updater=s||Wg}var Iu=Du.prototype=new Yg;Iu.constructor=Du;$g(Iu,vi.prototype);Iu.isPureReactComponent=!0;var km=Array.isArray,Kg=Object.prototype.hasOwnProperty,Fu={current:null},Qg={key:!0,ref:!0,__self:!0,__source:!0};function Xg(t,r,s){var n,i={},a=null,o=null;if(r!=null)for(n in r.ref!==void 0&&(o=r.ref),r.key!==void 0&&(a=""+r.key),r)Kg.call(r,n)&&!Qg.hasOwnProperty(n)&&(i[n]=r[n]);var l=arguments.length-2;if(l===1)i.children=s;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];i.children=c}if(t&&t.defaultProps)for(n in l=t.defaultProps,l)i[n]===void 0&&(i[n]=l[n]);return{$$typeof:Ra,type:t,key:a,ref:o,props:i,_owner:Fu.current}}function $w(t,r){return{$$typeof:Ra,type:t.type,key:r,ref:t.ref,props:t.props,_owner:t._owner}}function Lu(t){return typeof t=="object"&&t!==null&&t.$$typeof===Ra}function Vw(t){var r={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(s){return r[s]})}var Mm=/\/+/g;function kc(t,r){return typeof t=="object"&&t!==null&&t.key!=null?Vw(""+t.key):r.toString(36)}function So(t,r,s,n,i){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var o=!1;if(t===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(t.$$typeof){case Ra:case Dw:o=!0}}if(o)return o=t,i=i(o),t=n===""?"."+kc(o,0):n,km(i)?(s="",t!=null&&(s=t.replace(Mm,"$&/")+"/"),So(i,r,s,"",function(d){return d})):i!=null&&(Lu(i)&&(i=$w(i,s+(!i.key||o&&o.key===i.key?"":(""+i.key).replace(Mm,"$&/")+"/")+t)),r.push(i)),1;if(o=0,n=n===""?".":n+":",km(t))for(var l=0;l<t.length;l++){a=t[l];var c=n+kc(a,l);o+=So(a,r,s,c,i)}else if(c=Ww(t),typeof c=="function")for(t=c.call(t),l=0;!(a=t.next()).done;)a=a.value,c=n+kc(a,l++),o+=So(a,r,s,c,i);else if(a==="object")throw r=String(t),Error("Objects are not valid as a React child (found: "+(r==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.");return o}function Ja(t,r,s){if(t==null)return t;var n=[],i=0;return So(t,n,"","",function(a){return r.call(s,a,i++)}),n}function Yw(t){if(t._status===-1){var r=t._result;r=r(),r.then(function(s){(t._status===0||t._status===-1)&&(t._status=1,t._result=s)},function(s){(t._status===0||t._status===-1)&&(t._status=2,t._result=s)}),t._status===-1&&(t._status=0,t._result=r)}if(t._status===1)return t._result.default;throw t._result}var gt={current:null},To={transition:null},Kw={ReactCurrentDispatcher:gt,ReactCurrentBatchConfig:To,ReactCurrentOwner:Fu};function Jg(){throw Error("act(...) is not supported in production builds of React.")}xe.Children={map:Ja,forEach:function(t,r,s){Ja(t,function(){r.apply(this,arguments)},s)},count:function(t){var r=0;return Ja(t,function(){r++}),r},toArray:function(t){return Ja(t,function(r){return r})||[]},only:function(t){if(!Lu(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};xe.Component=vi;xe.Fragment=Iw;xe.Profiler=Lw;xe.PureComponent=Du;xe.StrictMode=Fw;xe.Suspense=qw;xe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Kw;xe.act=Jg;xe.cloneElement=function(t,r,s){if(t==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var n=$g({},t.props),i=t.key,a=t.ref,o=t._owner;if(r!=null){if(r.ref!==void 0&&(a=r.ref,o=Fu.current),r.key!==void 0&&(i=""+r.key),t.type&&t.type.defaultProps)var l=t.type.defaultProps;for(c in r)Kg.call(r,c)&&!Qg.hasOwnProperty(c)&&(n[c]=r[c]===void 0&&l!==void 0?l[c]:r[c])}var c=arguments.length-2;if(c===1)n.children=s;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];n.children=l}return{$$typeof:Ra,type:t.type,key:i,ref:a,props:n,_owner:o}};xe.createContext=function(t){return t={$$typeof:zw,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},t.Provider={$$typeof:Ow,_context:t},t.Consumer=t};xe.createElement=Xg;xe.createFactory=function(t){var r=Xg.bind(null,t);return r.type=t,r};xe.createRef=function(){return{current:null}};xe.forwardRef=function(t){return{$$typeof:Hw,render:t}};xe.isValidElement=Lu;xe.lazy=function(t){return{$$typeof:Uw,_payload:{_status:-1,_result:t},_init:Yw}};xe.memo=function(t,r){return{$$typeof:_w,type:t,compare:r===void 0?null:r}};xe.startTransition=function(t){var r=To.transition;To.transition={};try{t()}finally{To.transition=r}};xe.unstable_act=Jg;xe.useCallback=function(t,r){return gt.current.useCallback(t,r)};xe.useContext=function(t){return gt.current.useContext(t)};xe.useDebugValue=function(){};xe.useDeferredValue=function(t){return gt.current.useDeferredValue(t)};xe.useEffect=function(t,r){return gt.current.useEffect(t,r)};xe.useId=function(){return gt.current.useId()};xe.useImperativeHandle=function(t,r,s){return gt.current.useImperativeHandle(t,r,s)};xe.useInsertionEffect=function(t,r){return gt.current.useInsertionEffect(t,r)};xe.useLayoutEffect=function(t,r){return gt.current.useLayoutEffect(t,r)};xe.useMemo=function(t,r){return gt.current.useMemo(t,r)};xe.useReducer=function(t,r,s){return gt.current.useReducer(t,r,s)};xe.useRef=function(t){return gt.current.useRef(t)};xe.useState=function(t){return gt.current.useState(t)};xe.useSyncExternalStore=function(t,r,s){return gt.current.useSyncExternalStore(t,r,s)};xe.useTransition=function(){return gt.current.useTransition()};xe.version="18.3.1";Ug.exports=xe;var f=Ug.exports;const D=qg(f),Ou=Rw({__proto__:null,default:D},[f]);/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Qw=f,Xw=Symbol.for("react.element"),Jw=Symbol.for("react.fragment"),Zw=Object.prototype.hasOwnProperty,eN=Qw.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,tN={key:!0,ref:!0,__self:!0,__source:!0};function Zg(t,r,s){var n,i={},a=null,o=null;s!==void 0&&(a=""+s),r.key!==void 0&&(a=""+r.key),r.ref!==void 0&&(o=r.ref);for(n in r)Zw.call(r,n)&&!tN.hasOwnProperty(n)&&(i[n]=r[n]);if(t&&t.defaultProps)for(n in r=t.defaultProps,r)i[n]===void 0&&(i[n]=r[n]);return{$$typeof:Xw,type:t,key:a,ref:o,props:i,_owner:eN.current}}Tl.Fragment=Jw;Tl.jsx=Zg;Tl.jsxs=Zg;_g.exports=Tl;var e=_g.exports,ef={exports:{}},At={},tf={exports:{}},rf={};/**
* @license React
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/(function(t){function r(E,T){var H=E.length;E.push(T);e:for(;0<H;){var J=H-1>>>1,K=E[J];if(0<i(K,T))E[J]=T,E[H]=K,H=J;else break e}}function s(E){return E.length===0?null:E[0]}function n(E){if(E.length===0)return null;var T=E[0],H=E.pop();if(H!==T){E[0]=H;e:for(var J=0,K=E.length,le=K>>>1;J<le;){var ue=2*(J+1)-1,Ge=E[ue],De=ue+1,me=E[De];if(0>i(Ge,H))De<K&&0>i(me,Ge)?(E[J]=me,E[De]=H,J=De):(E[J]=Ge,E[ue]=H,J=ue);else if(De<K&&0>i(me,H))E[J]=me,E[De]=H,J=De;else break e}}return T}function i(E,T){var H=E.sortIndex-T.sortIndex;return H!==0?H:E.id-T.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var c=[],d=[],j=1,m=null,b=3,g=!1,y=!1,h=!1,v=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,u=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(E){for(var T=s(d);T!==null;){if(T.callback===null)n(d);else if(T.startTime<=E)n(d),T.sortIndex=T.expirationTime,r(c,T);else break;T=s(d)}}function N(E){if(h=!1,w(E),!y)if(s(c)!==null)y=!0,Y(k);else{var T=s(d);T!==null&&re(N,T.startTime-E)}}function k(E,T){y=!1,h&&(h=!1,x(P),P=-1),g=!0;var H=b;try{for(w(T),m=s(c);m!==null&&(!(m.expirationTime>T)||E&&!I());){var J=m.callback;if(typeof J=="function"){m.callback=null,b=m.priorityLevel;var K=J(m.expirationTime<=T);T=t.unstable_now(),typeof K=="function"?m.callback=K:m===s(c)&&n(c),w(T)}else n(c);m=s(c)}if(m!==null)var le=!0;else{var ue=s(d);ue!==null&&re(N,ue.startTime-T),le=!1}return le}finally{m=null,b=H,g=!1}}var M=!1,C=null,P=-1,R=5,B=-1;function I(){return!(t.unstable_now()-B<R)}function z(){if(C!==null){var E=t.unstable_now();B=E;var T=!0;try{T=C(!0,E)}finally{T?X():(M=!1,C=null)}}else M=!1}var X;if(typeof u=="function")X=function(){u(z)};else if(typeof MessageChannel<"u"){var q=new MessageChannel,ne=q.port2;q.port1.onmessage=z,X=function(){ne.postMessage(null)}}else X=function(){v(z,0)};function Y(E){C=E,M||(M=!0,X())}function re(E,T){P=v(function(){E(t.unstable_now())},T)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(E){E.callback=null},t.unstable_continueExecution=function(){y||g||(y=!0,Y(k))},t.unstable_forceFrameRate=function(E){0>E||125<E?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):R=0<E?Math.floor(1e3/E):5},t.unstable_getCurrentPriorityLevel=function(){return b},t.unstable_getFirstCallbackNode=function(){return s(c)},t.unstable_next=function(E){switch(b){case 1:case 2:case 3:var T=3;break;default:T=b}var H=b;b=T;try{return E()}finally{b=H}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(E,T){switch(E){case 1:case 2:case 3:case 4:case 5:break;default:E=3}var H=b;b=E;try{return T()}finally{b=H}},t.unstable_scheduleCallback=function(E,T,H){var J=t.unstable_now();switch(typeof H=="object"&&H!==null?(H=H.delay,H=typeof H=="number"&&0<H?J+H:J):H=J,E){case 1:var K=-1;break;case 2:K=250;break;case 5:K=1073741823;break;case 4:K=1e4;break;default:K=5e3}return K=H+K,E={id:j++,callback:T,priorityLevel:E,startTime:H,expirationTime:K,sortIndex:-1},H>J?(E.sortIndex=H,r(d,E),s(c)===null&&E===s(d)&&(h?(x(P),P=-1):h=!0,re(N,H-J))):(E.sortIndex=K,r(c,E),y||g||(y=!0,Y(k))),E},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(E){var T=b;return function(){var H=b;b=T;try{return E.apply(this,arguments)}finally{b=H}}}})(rf);tf.exports=rf;var rN=tf.exports;/**
* @license React
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var sN=f,Gt=rN;function F(t){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+t,s=1;s<arguments.length;s++)r+="&args[]="+encodeURIComponent(arguments[s]);return"Minified React error #"+t+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var sf=new Set,aa={};function hn(t,r){ci(t,r),ci(t+"Capture",r)}function ci(t,r){for(aa[t]=r,t=0;t<r.length;t++)sf.add(r[t])}var _r=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fd=Object.prototype.hasOwnProperty,nN=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Cm={},Sm={};function iN(t){return fd.call(Sm,t)?!0:fd.call(Cm,t)?!1:nN.test(t)?Sm[t]=!0:(Cm[t]=!0,!1)}function aN(t,r,s,n){if(s!==null&&s.type===0)return!1;switch(typeof r){case"function":case"symbol":return!0;case"boolean":return n?!1:s!==null?!s.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function oN(t,r,s,n){if(r===null||typeof r>"u"||aN(t,r,s,n))return!0;if(n)return!1;if(s!==null)switch(s.type){case 3:return!r;case 4:return r===!1;case 5:return isNaN(r);case 6:return isNaN(r)||1>r}return!1}function ft(t,r,s,n,i,a,o){this.acceptsBooleans=r===2||r===3||r===4,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=s,this.propertyName=t,this.type=r,this.sanitizeURL=a,this.removeEmptyString=o}var et={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){et[t]=new ft(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var r=t[0];et[r]=new ft(r,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){et[t]=new ft(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){et[t]=new ft(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){et[t]=new ft(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){et[t]=new ft(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){et[t]=new ft(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){et[t]=new ft(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){et[t]=new ft(t,5,!1,t.toLowerCase(),null,!1,!1)});var zu=/[\-:]([a-z])/g;function Hu(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var r=t.replace(zu,Hu);et[r]=new ft(r,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var r=t.replace(zu,Hu);et[r]=new ft(r,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var r=t.replace(zu,Hu);et[r]=new ft(r,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){et[t]=new ft(t,1,!1,t.toLowerCase(),null,!1,!1)});et.xlinkHref=new ft("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){et[t]=new ft(t,1,!1,t.toLowerCase(),null,!0,!0)});function qu(t,r,s,n){var i=et.hasOwnProperty(r)?et[r]:null;(i!==null?i.type!==0:n||!(2<r.length)||r[0]!=="o"&&r[0]!=="O"||r[1]!=="n"&&r[1]!=="N")&&(oN(r,s,i,n)&&(s=null),n||i===null?iN(r)&&(s===null?t.removeAttribute(r):t.setAttribute(r,""+s)):i.mustUseProperty?t[i.propertyName]=s===null?i.type===3?!1:"":s:(r=i.attributeName,n=i.attributeNamespace,s===null?t.removeAttribute(r):(i=i.type,s=i===3||i===4&&s===!0?"":""+s,n?t.setAttributeNS(n,r,s):t.setAttribute(r,s))))}var Kr=sN.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Za=Symbol.for("react.element"),Bn=Symbol.for("react.portal"),An=Symbol.for("react.fragment"),_u=Symbol.for("react.strict_mode"),pd=Symbol.for("react.profiler"),nf=Symbol.for("react.provider"),af=Symbol.for("react.context"),Uu=Symbol.for("react.forward_ref"),jd=Symbol.for("react.suspense"),bd=Symbol.for("react.suspense_list"),Wu=Symbol.for("react.memo"),cs=Symbol.for("react.lazy"),of=Symbol.for("react.offscreen"),Tm=Symbol.iterator;function Ai(t){return t===null||typeof t!="object"?null:(t=Tm&&t[Tm]||t["@@iterator"],typeof t=="function"?t:null)}var Re=Object.assign,Mc;function Wi(t){if(Mc===void 0)try{throw Error()}catch(s){var r=s.stack.trim().match(/\n( *(at )?)/);Mc=r&&r[1]||""}return`
`+Mc+t}var Cc=!1;function Sc(t,r){if(!t||Cc)return"";Cc=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(r)if(r=function(){throw Error()},Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(r,[])}catch(d){var n=d}Reflect.construct(t,[],r)}else{try{r.call()}catch(d){n=d}t.call(r.prototype)}else{try{throw Error()}catch(d){n=d}t()}}catch(d){if(d&&n&&typeof d.stack=="string"){for(var i=d.stack.split(`
`),a=n.stack.split(`
`),o=i.length-1,l=a.length-1;1<=o&&0<=l&&i[o]!==a[l];)l--;for(;1<=o&&0<=l;o--,l--)if(i[o]!==a[l]){if(o!==1||l!==1)do if(o--,l--,0>l||i[o]!==a[l]){var c=`
`+i[o].replace(" at new "," at ");return t.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",t.displayName)),c}while(1<=o&&0<=l);break}}}finally{Cc=!1,Error.prepareStackTrace=s}return(t=t?t.displayName||t.name:"")?Wi(t):""}function lN(t){switch(t.tag){case 5:return Wi(t.type);case 16:return Wi("Lazy");case 13:return Wi("Suspense");case 19:return Wi("SuspenseList");case 0:case 2:case 15:return t=Sc(t.type,!1),t;case 11:return t=Sc(t.type.render,!1),t;case 1:return t=Sc(t.type,!0),t;default:return""}}function yd(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case An:return"Fragment";case Bn:return"Portal";case pd:return"Profiler";case _u:return"StrictMode";case jd:return"Suspense";case bd:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case af:return(t.displayName||"Context")+".Consumer";case nf:return(t._context.displayName||"Context")+".Provider";case Uu:var r=t.render;return t=t.displayName,t||(t=r.displayName||r.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Wu:return r=t.displayName||null,r!==null?r:yd(t.type)||"Memo";case cs:r=t._payload,t=t._init;try{return yd(t(r))}catch{}}return null}function cN(t){var r=t.type;switch(t.tag){case 24:return"Cache";case 9:return(r.displayName||"Context")+".Consumer";case 10:return(r._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=r.render,t=t.displayName||t.name||"",r.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return r;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return yd(r);case 8:return r===_u?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r}return null}function Bs(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function lf(t){var r=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(r==="checkbox"||r==="radio")}function dN(t){var r=lf(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,r),n=""+t[r];if(!t.hasOwnProperty(r)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var i=s.get,a=s.set;return Object.defineProperty(t,r,{configurable:!0,get:function(){return i.call(this)},set:function(o){n=""+o,a.call(this,o)}}),Object.defineProperty(t,r,{enumerable:s.enumerable}),{getValue:function(){return n},setValue:function(o){n=""+o},stopTracking:function(){t._valueTracker=null,delete t[r]}}}}function eo(t){t._valueTracker||(t._valueTracker=dN(t))}function cf(t){if(!t)return!1;var r=t._valueTracker;if(!r)return!0;var s=r.getValue(),n="";return t&&(n=lf(t)?t.checked?"true":"false":t.value),t=n,t!==s?(r.setValue(t),!0):!1}function Vo(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function vd(t,r){var s=r.checked;return Re({},r,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??t._wrapperState.initialChecked})}function Pm(t,r){var s=r.defaultValue==null?"":r.defaultValue,n=r.checked!=null?r.checked:r.defaultChecked;s=Bs(r.value!=null?r.value:s),t._wrapperState={initialChecked:n,initialValue:s,controlled:r.type==="checkbox"||r.type==="radio"?r.checked!=null:r.value!=null}}function df(t,r){r=r.checked,r!=null&&qu(t,"checked",r,!1)}function wd(t,r){df(t,r);var s=Bs(r.value),n=r.type;if(s!=null)n==="number"?(s===0&&t.value===""||t.value!=s)&&(t.value=""+s):t.value!==""+s&&(t.value=""+s);else if(n==="submit"||n==="reset"){t.removeAttribute("value");return}r.hasOwnProperty("value")?Nd(t,r.type,s):r.hasOwnProperty("defaultValue")&&Nd(t,r.type,Bs(r.defaultValue)),r.checked==null&&r.defaultChecked!=null&&(t.defaultChecked=!!r.defaultChecked)}function Em(t,r,s){if(r.hasOwnProperty("value")||r.hasOwnProperty("defaultValue")){var n=r.type;if(!(n!=="submit"&&n!=="reset"||r.value!==void 0&&r.value!==null))return;r=""+t._wrapperState.initialValue,s||r===t.value||(t.value=r),t.defaultValue=r}s=t.name,s!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,s!==""&&(t.name=s)}function Nd(t,r,s){(r!=="number"||Vo(t.ownerDocument)!==t)&&(s==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+s&&(t.defaultValue=""+s))}var $i=Array.isArray;function Wn(t,r,s,n){if(t=t.options,r){r={};for(var i=0;i<s.length;i++)r["$"+s[i]]=!0;for(s=0;s<t.length;s++)i=r.hasOwnProperty("$"+t[s].value),t[s].selected!==i&&(t[s].selected=i),i&&n&&(t[s].defaultSelected=!0)}else{for(s=""+Bs(s),r=null,i=0;i<t.length;i++){if(t[i].value===s){t[i].selected=!0,n&&(t[i].defaultSelected=!0);return}r!==null||t[i].disabled||(r=t[i])}r!==null&&(r.selected=!0)}}function kd(t,r){if(r.dangerouslySetInnerHTML!=null)throw Error(F(91));return Re({},r,{value:void 0,defaultValue:void 0,children:""+t._wrapperState.initialValue})}function Gm(t,r){var s=r.value;if(s==null){if(s=r.children,r=r.defaultValue,s!=null){if(r!=null)throw Error(F(92));if($i(s)){if(1<s.length)throw Error(F(93));s=s[0]}r=s}r==null&&(r=""),s=r}t._wrapperState={initialValue:Bs(s)}}function uf(t,r){var s=Bs(r.value),n=Bs(r.defaultValue);s!=null&&(s=""+s,s!==t.value&&(t.value=s),r.defaultValue==null&&t.defaultValue!==s&&(t.defaultValue=s)),n!=null&&(t.defaultValue=""+n)}function Bm(t){var r=t.textContent;r===t._wrapperState.initialValue&&r!==""&&r!==null&&(t.value=r)}function hf(t){switch(t){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Md(t,r){return t==null||t==="http://www.w3.org/1999/xhtml"?hf(r):t==="http://www.w3.org/2000/svg"&&r==="foreignObject"?"http://www.w3.org/1999/xhtml":t}var to,mf=function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(r,s,n,i){MSApp.execUnsafeLocalFunction(function(){return t(r,s,n,i)})}:t}(function(t,r){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=r;else{for(to=to||document.createElement("div"),to.innerHTML="<svg>"+r.valueOf().toString()+"</svg>",r=to.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;r.firstChild;)t.appendChild(r.firstChild)}});function oa(t,r){if(r){var s=t.firstChild;if(s&&s===t.lastChild&&s.nodeType===3){s.nodeValue=r;return}}t.textContent=r}var Qi={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},uN=["Webkit","ms","Moz","O"];Object.keys(Qi).forEach(function(t){uN.forEach(function(r){r=r+t.charAt(0).toUpperCase()+t.substring(1),Qi[r]=Qi[t]})});function xf(t,r,s){return r==null||typeof r=="boolean"||r===""?"":s||typeof r!="number"||r===0||Qi.hasOwnProperty(t)&&Qi[t]?(""+r).trim():r+"px"}function gf(t,r){t=t.style;for(var s in r)if(r.hasOwnProperty(s)){var n=s.indexOf("--")===0,i=xf(s,r[s],n);s==="float"&&(s="cssFloat"),n?t.setProperty(s,i):t[s]=i}}var hN=Re({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Cd(t,r){if(r){if(hN[t]&&(r.children!=null||r.dangerouslySetInnerHTML!=null))throw Error(F(137,t));if(r.dangerouslySetInnerHTML!=null){if(r.children!=null)throw Error(F(60));if(typeof r.dangerouslySetInnerHTML!="object"||!("__html"in r.dangerouslySetInnerHTML))throw Error(F(61))}if(r.style!=null&&typeof r.style!="object")throw Error(F(62))}}function Sd(t,r){if(t.indexOf("-")===-1)return typeof r.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Td=null;function $u(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Pd=null,$n=null,Vn=null;function Am(t){if(t=Fa(t)){if(typeof Pd!="function")throw Error(F(280));var r=t.stateNode;r&&(r=Al(r),Pd(t.stateNode,t.type,r))}}function ff(t){$n?Vn?Vn.push(t):Vn=[t]:$n=t}function pf(){if($n){var t=$n,r=Vn;if(Vn=$n=null,Am(t),r)for(t=0;t<r.length;t++)Am(r[t])}}function jf(t,r){return t(r)}function bf(){}var Tc=!1;function yf(t,r,s){if(Tc)return t(r,s);Tc=!0;try{return jf(t,r,s)}finally{Tc=!1,($n!==null||Vn!==null)&&(bf(),pf())}}function la(t,r){var s=t.stateNode;if(s===null)return null;var n=Al(s);if(n===null)return null;s=n[r];e:switch(r){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(t=t.type,n=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!n;break e;default:t=!1}if(t)return null;if(s&&typeof s!="function")throw Error(F(231,r,typeof s));return s}var Ed=!1;if(_r)try{var Ri={};Object.defineProperty(Ri,"passive",{get:function(){Ed=!0}}),window.addEventListener("test",Ri,Ri),window.removeEventListener("test",Ri,Ri)}catch{Ed=!1}function mN(t,r,s,n,i,a,o,l,c){var d=Array.prototype.slice.call(arguments,3);try{r.apply(s,d)}catch(j){this.onError(j)}}var Xi=!1,Yo=null,Ko=!1,Gd=null,xN={onError:function(t){Xi=!0,Yo=t}};function gN(t,r,s,n,i,a,o,l,c){Xi=!1,Yo=null,mN.apply(xN,arguments)}function fN(t,r,s,n,i,a,o,l,c){if(gN.apply(this,arguments),Xi){if(Xi){var d=Yo;Xi=!1,Yo=null}else throw Error(F(198));Ko||(Ko=!0,Gd=d)}}function mn(t){var r=t,s=t;if(t.alternate)for(;r.return;)r=r.return;else{t=r;do r=t,r.flags&4098&&(s=r.return),t=r.return;while(t)}return r.tag===3?s:null}function vf(t){if(t.tag===13){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function Rm(t){if(mn(t)!==t)throw Error(F(188))}function pN(t){var r=t.alternate;if(!r){if(r=mn(t),r===null)throw Error(F(188));return r!==t?null:t}for(var s=t,n=r;;){var i=s.return;if(i===null)break;var a=i.alternate;if(a===null){if(n=i.return,n!==null){s=n;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===s)return Rm(i),t;if(a===n)return Rm(i),r;a=a.sibling}throw Error(F(188))}if(s.return!==n.return)s=i,n=a;else{for(var o=!1,l=i.child;l;){if(l===s){o=!0,s=i,n=a;break}if(l===n){o=!0,n=i,s=a;break}l=l.sibling}if(!o){for(l=a.child;l;){if(l===s){o=!0,s=a,n=i;break}if(l===n){o=!0,n=a,s=i;break}l=l.sibling}if(!o)throw Error(F(189))}}if(s.alternate!==n)throw Error(F(190))}if(s.tag!==3)throw Error(F(188));return s.stateNode.current===s?t:r}function wf(t){return t=pN(t),t!==null?Nf(t):null}function Nf(t){if(t.tag===5||t.tag===6)return t;for(t=t.child;t!==null;){var r=Nf(t);if(r!==null)return r;t=t.sibling}return null}var kf=Gt.unstable_scheduleCallback,Dm=Gt.unstable_cancelCallback,jN=Gt.unstable_shouldYield,bN=Gt.unstable_requestPaint,He=Gt.unstable_now,yN=Gt.unstable_getCurrentPriorityLevel,Vu=Gt.unstable_ImmediatePriority,Mf=Gt.unstable_UserBlockingPriority,Qo=Gt.unstable_NormalPriority,vN=Gt.unstable_LowPriority,Cf=Gt.unstable_IdlePriority,Pl=null,Mr=null;function wN(t){if(Mr&&typeof Mr.onCommitFiberRoot=="function")try{Mr.onCommitFiberRoot(Pl,t,void 0,(t.current.flags&128)===128)}catch{}}var or=Math.clz32?Math.clz32:MN,NN=Math.log,kN=Math.LN2;function MN(t){return t>>>=0,t===0?32:31-(NN(t)/kN|0)|0}var ro=64,so=4194304;function Vi(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Xo(t,r){var s=t.pendingLanes;if(s===0)return 0;var n=0,i=t.suspendedLanes,a=t.pingedLanes,o=s&268435455;if(o!==0){var l=o&~i;l!==0?n=Vi(l):(a&=o,a!==0&&(n=Vi(a)))}else o=s&~i,o!==0?n=Vi(o):a!==0&&(n=Vi(a));if(n===0)return 0;if(r!==0&&r!==n&&!(r&i)&&(i=n&-n,a=r&-r,i>=a||i===16&&(a&4194240)!==0))return r;if(n&4&&(n|=s&16),r=t.entangledLanes,r!==0)for(t=t.entanglements,r&=n;0<r;)s=31-or(r),i=1<<s,n|=t[s],r&=~i;return n}function CN(t,r){switch(t){case 1:case 2:case 4:return r+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function SN(t,r){for(var s=t.suspendedLanes,n=t.pingedLanes,i=t.expirationTimes,a=t.pendingLanes;0<a;){var o=31-or(a),l=1<<o,c=i[o];c===-1?(!(l&s)||l&n)&&(i[o]=CN(l,r)):c<=r&&(t.expiredLanes|=l),a&=~l}}function Bd(t){return t=t.pendingLanes&-1073741825,t!==0?t:t&1073741824?1073741824:0}function Sf(){var t=ro;return ro<<=1,!(ro&4194240)&&(ro=64),t}function Pc(t){for(var r=[],s=0;31>s;s++)r.push(t);return r}function Da(t,r,s){t.pendingLanes|=r,r!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,r=31-or(r),t[r]=s}function TN(t,r){var s=t.pendingLanes&~r;t.pendingLanes=r,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=r,t.mutableReadLanes&=r,t.entangledLanes&=r,r=t.entanglements;var n=t.eventTimes;for(t=t.expirationTimes;0<s;){var i=31-or(s),a=1<<i;r[i]=0,n[i]=-1,t[i]=-1,s&=~a}}function Yu(t,r){var s=t.entangledLanes|=r;for(t=t.entanglements;s;){var n=31-or(s),i=1<<n;i&r|t[n]&r&&(t[n]|=r),s&=~i}}var pe=0;function Tf(t){return t&=-t,1<t?4<t?t&268435455?16:536870912:4:1}var Pf,Ku,Ef,Gf,Bf,Ad=!1,no=[],ws=null,Ns=null,ks=null,ca=new Map,da=new Map,hs=[],PN="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Im(t,r){switch(t){case"focusin":case"focusout":ws=null;break;case"dragenter":case"dragleave":Ns=null;break;case"mouseover":case"mouseout":ks=null;break;case"pointerover":case"pointerout":ca.delete(r.pointerId);break;case"gotpointercapture":case"lostpointercapture":da.delete(r.pointerId)}}function Di(t,r,s,n,i,a){return t===null||t.nativeEvent!==a?(t={blockedOn:r,domEventName:s,eventSystemFlags:n,nativeEvent:a,targetContainers:[i]},r!==null&&(r=Fa(r),r!==null&&Ku(r)),t):(t.eventSystemFlags|=n,r=t.targetContainers,i!==null&&r.indexOf(i)===-1&&r.push(i),t)}function EN(t,r,s,n,i){switch(r){case"focusin":return ws=Di(ws,t,r,s,n,i),!0;case"dragenter":return Ns=Di(Ns,t,r,s,n,i),!0;case"mouseover":return ks=Di(ks,t,r,s,n,i),!0;case"pointerover":var a=i.pointerId;return ca.set(a,Di(ca.get(a)||null,t,r,s,n,i)),!0;case"gotpointercapture":return a=i.pointerId,da.set(a,Di(da.get(a)||null,t,r,s,n,i)),!0}return!1}function Af(t){var r=Ys(t.target);if(r!==null){var s=mn(r);if(s!==null){if(r=s.tag,r===13){if(r=vf(s),r!==null){t.blockedOn=r,Bf(t.priority,function(){Ef(s)});return}}else if(r===3&&s.stateNode.current.memoizedState.isDehydrated){t.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Po(t){if(t.blockedOn!==null)return!1;for(var r=t.targetContainers;0<r.length;){var s=Rd(t.domEventName,t.eventSystemFlags,r[0],t.nativeEvent);if(s===null){s=t.nativeEvent;var n=new s.constructor(s.type,s);Td=n,s.target.dispatchEvent(n),Td=null}else return r=Fa(s),r!==null&&Ku(r),t.blockedOn=s,!1;r.shift()}return!0}function Fm(t,r,s){Po(t)&&s.delete(r)}function GN(){Ad=!1,ws!==null&&Po(ws)&&(ws=null),Ns!==null&&Po(Ns)&&(Ns=null),ks!==null&&Po(ks)&&(ks=null),ca.forEach(Fm),da.forEach(Fm)}function Ii(t,r){t.blockedOn===r&&(t.blockedOn=null,Ad||(Ad=!0,Gt.unstable_scheduleCallback(Gt.unstable_NormalPriority,GN)))}function ua(t){function r(i){return Ii(i,t)}if(0<no.length){Ii(no[0],t);for(var s=1;s<no.length;s++){var n=no[s];n.blockedOn===t&&(n.blockedOn=null)}}for(ws!==null&&Ii(ws,t),Ns!==null&&Ii(Ns,t),ks!==null&&Ii(ks,t),ca.forEach(r),da.forEach(r),s=0;s<hs.length;s++)n=hs[s],n.blockedOn===t&&(n.blockedOn=null);for(;0<hs.length&&(s=hs[0],s.blockedOn===null);)Af(s),s.blockedOn===null&&hs.shift()}var Yn=Kr.ReactCurrentBatchConfig,Jo=!0;function BN(t,r,s,n){var i=pe,a=Yn.transition;Yn.transition=null;try{pe=1,Qu(t,r,s,n)}finally{pe=i,Yn.transition=a}}function AN(t,r,s,n){var i=pe,a=Yn.transition;Yn.transition=null;try{pe=4,Qu(t,r,s,n)}finally{pe=i,Yn.transition=a}}function Qu(t,r,s,n){if(Jo){var i=Rd(t,r,s,n);if(i===null)Oc(t,r,n,Zo,s),Im(t,n);else if(EN(i,t,r,s,n))n.stopPropagation();else if(Im(t,n),r&4&&-1<PN.indexOf(t)){for(;i!==null;){var a=Fa(i);if(a!==null&&Pf(a),a=Rd(t,r,s,n),a===null&&Oc(t,r,n,Zo,s),a===i)break;i=a}i!==null&&n.stopPropagation()}else Oc(t,r,n,null,s)}}var Zo=null;function Rd(t,r,s,n){if(Zo=null,t=$u(n),t=Ys(t),t!==null)if(r=mn(t),r===null)t=null;else if(s=r.tag,s===13){if(t=vf(r),t!==null)return t;t=null}else if(s===3){if(r.stateNode.current.memoizedState.isDehydrated)return r.tag===3?r.stateNode.containerInfo:null;t=null}else r!==t&&(t=null);return Zo=t,null}function Rf(t){switch(t){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(yN()){case Vu:return 1;case Mf:return 4;case Qo:case vN:return 16;case Cf:return 536870912;default:return 16}default:return 16}}var bs=null,Xu=null,Eo=null;function Df(){if(Eo)return Eo;var t,r=Xu,s=r.length,n,i="value"in bs?bs.value:bs.textContent,a=i.length;for(t=0;t<s&&r[t]===i[t];t++);var o=s-t;for(n=1;n<=o&&r[s-n]===i[a-n];n++);return Eo=i.slice(t,1<n?1-n:void 0)}function Go(t){var r=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&r===13&&(t=13)):t=r,t===10&&(t=13),32<=t||t===13?t:0}function io(){return!0}function Lm(){return!1}function Rt(t){function r(s,n,i,a,o){this._reactName=s,this._targetInst=i,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null;for(var l in t)t.hasOwnProperty(l)&&(s=t[l],this[l]=s?s(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?io:Lm,this.isPropagationStopped=Lm,this}return Re(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=io)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=io)},persist:function(){},isPersistent:io}),r}var wi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ju=Rt(wi),Ia=Re({},wi,{view:0,detail:0}),RN=Rt(Ia),Ec,Gc,Fi,El=Re({},Ia,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Zu,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Fi&&(Fi&&t.type==="mousemove"?(Ec=t.screenX-Fi.screenX,Gc=t.screenY-Fi.screenY):Gc=Ec=0,Fi=t),Ec)},movementY:function(t){return"movementY"in t?t.movementY:Gc}}),Om=Rt(El),DN=Re({},El,{dataTransfer:0}),IN=Rt(DN),FN=Re({},Ia,{relatedTarget:0}),Bc=Rt(FN),LN=Re({},wi,{animationName:0,elapsedTime:0,pseudoElement:0}),ON=Rt(LN),zN=Re({},wi,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),HN=Rt(zN),qN=Re({},wi,{data:0}),zm=Rt(qN),_N={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},UN={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},WN={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function $N(t){var r=this.nativeEvent;return r.getModifierState?r.getModifierState(t):(t=WN[t])?!!r[t]:!1}function Zu(){return $N}var VN=Re({},Ia,{key:function(t){if(t.key){var r=_N[t.key]||t.key;if(r!=="Unidentified")return r}return t.type==="keypress"?(t=Go(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?UN[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Zu,charCode:function(t){return t.type==="keypress"?Go(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Go(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),YN=Rt(VN),KN=Re({},El,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Hm=Rt(KN),QN=Re({},Ia,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Zu}),XN=Rt(QN),JN=Re({},wi,{propertyName:0,elapsedTime:0,pseudoElement:0}),ZN=Rt(JN),ek=Re({},El,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),tk=Rt(ek),rk=[9,13,27,32],eh=_r&&"CompositionEvent"in window,Ji=null;_r&&"documentMode"in document&&(Ji=document.documentMode);var sk=_r&&"TextEvent"in window&&!Ji,If=_r&&(!eh||Ji&&8<Ji&&11>=Ji),qm=" ",_m=!1;function Ff(t,r){switch(t){case"keyup":return rk.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Lf(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Rn=!1;function nk(t,r){switch(t){case"compositionend":return Lf(r);case"keypress":return r.which!==32?null:(_m=!0,qm);case"textInput":return t=r.data,t===qm&&_m?null:t;default:return null}}function ik(t,r){if(Rn)return t==="compositionend"||!eh&&Ff(t,r)?(t=Df(),Eo=Xu=bs=null,Rn=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1<r.char.length)return r.char;if(r.which)return String.fromCharCode(r.which)}return null;case"compositionend":return If&&r.locale!=="ko"?null:r.data;default:return null}}var ak={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Um(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r==="input"?!!ak[t.type]:r==="textarea"}function Of(t,r,s,n){ff(n),r=el(r,"onChange"),0<r.length&&(s=new Ju("onChange","change",null,s,n),t.push({event:s,listeners:r}))}var Zi=null,ha=null;function ok(t){Qf(t,0)}function Gl(t){var r=Fn(t);if(cf(r))return t}function lk(t,r){if(t==="change")return r}var zf=!1;if(_r){var Ac;if(_r){var Rc="oninput"in document;if(!Rc){var Wm=document.createElement("div");Wm.setAttribute("oninput","return;"),Rc=typeof Wm.oninput=="function"}Ac=Rc}else Ac=!1;zf=Ac&&(!document.documentMode||9<document.documentMode)}function $m(){Zi&&(Zi.detachEvent("onpropertychange",Hf),ha=Zi=null)}function Hf(t){if(t.propertyName==="value"&&Gl(ha)){var r=[];Of(r,ha,t,$u(t)),yf(ok,r)}}function ck(t,r,s){t==="focusin"?($m(),Zi=r,ha=s,Zi.attachEvent("onpropertychange",Hf)):t==="focusout"&&$m()}function dk(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Gl(ha)}function uk(t,r){if(t==="click")return Gl(r)}function hk(t,r){if(t==="input"||t==="change")return Gl(r)}function mk(t,r){return t===r&&(t!==0||1/t===1/r)||t!==t&&r!==r}var cr=typeof Object.is=="function"?Object.is:mk;function ma(t,r){if(cr(t,r))return!0;if(typeof t!="object"||t===null||typeof r!="object"||r===null)return!1;var s=Object.keys(t),n=Object.keys(r);if(s.length!==n.length)return!1;for(n=0;n<s.length;n++){var i=s[n];if(!fd.call(r,i)||!cr(t[i],r[i]))return!1}return!0}function Vm(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Ym(t,r){var s=Vm(t);t=0;for(var n;s;){if(s.nodeType===3){if(n=t+s.textContent.length,t<=r&&n>=r)return{node:s,offset:r-t};t=n}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=Vm(s)}}function qf(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?qf(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function _f(){for(var t=window,r=Vo();r instanceof t.HTMLIFrameElement;){try{var s=typeof r.contentWindow.location.href=="string"}catch{s=!1}if(s)t=r.contentWindow;else break;r=Vo(t.document)}return r}function th(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}function xk(t){var r=_f(),s=t.focusedElem,n=t.selectionRange;if(r!==s&&s&&s.ownerDocument&&qf(s.ownerDocument.documentElement,s)){if(n!==null&&th(s)){if(r=n.start,t=n.end,t===void 0&&(t=r),"selectionStart"in s)s.selectionStart=r,s.selectionEnd=Math.min(t,s.value.length);else if(t=(r=s.ownerDocument||document)&&r.defaultView||window,t.getSelection){t=t.getSelection();var i=s.textContent.length,a=Math.min(n.start,i);n=n.end===void 0?a:Math.min(n.end,i),!t.extend&&a>n&&(i=n,n=a,a=i),i=Ym(s,a);var o=Ym(s,n);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(r=r.createRange(),r.setStart(i.node,i.offset),t.removeAllRanges(),a>n?(t.addRange(r),t.extend(o.node,o.offset)):(r.setEnd(o.node,o.offset),t.addRange(r)))}}for(r=[],t=s;t=t.parentNode;)t.nodeType===1&&r.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s<r.length;s++)t=r[s],t.element.scrollLeft=t.left,t.element.scrollTop=t.top}}var gk=_r&&"documentMode"in document&&11>=document.documentMode,Dn=null,Dd=null,ea=null,Id=!1;function Km(t,r,s){var n=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Id||Dn==null||Dn!==Vo(n)||(n=Dn,"selectionStart"in n&&th(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),ea&&ma(ea,n)||(ea=n,n=el(Dd,"onSelect"),0<n.length&&(r=new Ju("onSelect","select",null,r,s),t.push({event:r,listeners:n}),r.target=Dn)))}function ao(t,r){var s={};return s[t.toLowerCase()]=r.toLowerCase(),s["Webkit"+t]="webkit"+r,s["Moz"+t]="moz"+r,s}var In={animationend:ao("Animation","AnimationEnd"),animationiteration:ao("Animation","AnimationIteration"),animationstart:ao("Animation","AnimationStart"),transitionend:ao("Transition","TransitionEnd")},Dc={},Uf={};_r&&(Uf=document.createElement("div").style,"AnimationEvent"in window||(delete In.animationend.animation,delete In.animationiteration.animation,delete In.animationstart.animation),"TransitionEvent"in window||delete In.transitionend.transition);function Bl(t){if(Dc[t])return Dc[t];if(!In[t])return t;var r=In[t],s;for(s in r)if(r.hasOwnProperty(s)&&s in Uf)return Dc[t]=r[s];return t}var Wf=Bl("animationend"),$f=Bl("animationiteration"),Vf=Bl("animationstart"),Yf=Bl("transitionend"),Kf=new Map,Qm="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Is(t,r){Kf.set(t,r),hn(r,[t])}for(var Ic=0;Ic<Qm.length;Ic++){var Fc=Qm[Ic],fk=Fc.toLowerCase(),pk=Fc[0].toUpperCase()+Fc.slice(1);Is(fk,"on"+pk)}Is(Wf,"onAnimationEnd");Is($f,"onAnimationIteration");Is(Vf,"onAnimationStart");Is("dblclick","onDoubleClick");Is("focusin","onFocus");Is("focusout","onBlur");Is(Yf,"onTransitionEnd");ci("onMouseEnter",["mouseout","mouseover"]);ci("onMouseLeave",["mouseout","mouseover"]);ci("onPointerEnter",["pointerout","pointerover"]);ci("onPointerLeave",["pointerout","pointerover"]);hn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));hn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));hn("onBeforeInput",["compositionend","keypress","textInput","paste"]);hn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));hn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));hn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Yi="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),jk=new Set("cancel close invalid load scroll toggle".split(" ").concat(Yi));function Xm(t,r,s){var n=t.type||"unknown-event";t.currentTarget=s,fN(n,r,void 0,t),t.currentTarget=null}function Qf(t,r){r=(r&4)!==0;for(var s=0;s<t.length;s++){var n=t[s],i=n.event;n=n.listeners;e:{var a=void 0;if(r)for(var o=n.length-1;0<=o;o--){var l=n[o],c=l.instance,d=l.currentTarget;if(l=l.listener,c!==a&&i.isPropagationStopped())break e;Xm(i,l,d),a=c}else for(o=0;o<n.length;o++){if(l=n[o],c=l.instance,d=l.currentTarget,l=l.listener,c!==a&&i.isPropagationStopped())break e;Xm(i,l,d),a=c}}}if(Ko)throw t=Gd,Ko=!1,Gd=null,t}function Ce(t,r){var s=r[Hd];s===void 0&&(s=r[Hd]=new Set);var n=t+"__bubble";s.has(n)||(Xf(r,t,2,!1),s.add(n))}function Lc(t,r,s){var n=0;r&&(n|=4),Xf(s,t,n,r)}var oo="_reactListening"+Math.random().toString(36).slice(2);function xa(t){if(!t[oo]){t[oo]=!0,sf.forEach(function(s){s!=="selectionchange"&&(jk.has(s)||Lc(s,!1,t),Lc(s,!0,t))});var r=t.nodeType===9?t:t.ownerDocument;r===null||r[oo]||(r[oo]=!0,Lc("selectionchange",!1,r))}}function Xf(t,r,s,n){switch(Rf(r)){case 1:var i=BN;break;case 4:i=AN;break;default:i=Qu}s=i.bind(null,r,s,t),i=void 0,!Ed||r!=="touchstart"&&r!=="touchmove"&&r!=="wheel"||(i=!0),n?i!==void 0?t.addEventListener(r,s,{capture:!0,passive:i}):t.addEventListener(r,s,!0):i!==void 0?t.addEventListener(r,s,{passive:i}):t.addEventListener(r,s,!1)}function Oc(t,r,s,n,i){var a=n;if(!(r&1)&&!(r&2)&&n!==null)e:for(;;){if(n===null)return;var o=n.tag;if(o===3||o===4){var l=n.stateNode.containerInfo;if(l===i||l.nodeType===8&&l.parentNode===i)break;if(o===4)for(o=n.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===i||c.nodeType===8&&c.parentNode===i))return;o=o.return}for(;l!==null;){if(o=Ys(l),o===null)return;if(c=o.tag,c===5||c===6){n=a=o;continue e}l=l.parentNode}}n=n.return}yf(function(){var d=a,j=$u(s),m=[];e:{var b=Kf.get(t);if(b!==void 0){var g=Ju,y=t;switch(t){case"keypress":if(Go(s)===0)break e;case"keydown":case"keyup":g=YN;break;case"focusin":y="focus",g=Bc;break;case"focusout":y="blur",g=Bc;break;case"beforeblur":case"afterblur":g=Bc;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":g=Om;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":g=IN;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":g=XN;break;case Wf:case $f:case Vf:g=ON;break;case Yf:g=ZN;break;case"scroll":g=RN;break;case"wheel":g=tk;break;case"copy":case"cut":case"paste":g=HN;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":g=Hm}var h=(r&4)!==0,v=!h&&t==="scroll",x=h?b!==null?b+"Capture":null:b;h=[];for(var u=d,w;u!==null;){w=u;var N=w.stateNode;if(w.tag===5&&N!==null&&(w=N,x!==null&&(N=la(u,x),N!=null&&h.push(ga(u,N,w)))),v)break;u=u.return}0<h.length&&(b=new g(b,y,null,s,j),m.push({event:b,listeners:h}))}}if(!(r&7)){e:{if(b=t==="mouseover"||t==="pointerover",g=t==="mouseout"||t==="pointerout",b&&s!==Td&&(y=s.relatedTarget||s.fromElement)&&(Ys(y)||y[Ur]))break e;if((g||b)&&(b=j.window===j?j:(b=j.ownerDocument)?b.defaultView||b.parentWindow:window,g?(y=s.relatedTarget||s.toElement,g=d,y=y?Ys(y):null,y!==null&&(v=mn(y),y!==v||y.tag!==5&&y.tag!==6)&&(y=null)):(g=null,y=d),g!==y)){if(h=Om,N="onMouseLeave",x="onMouseEnter",u="mouse",(t==="pointerout"||t==="pointerover")&&(h=Hm,N="onPointerLeave",x="onPointerEnter",u="pointer"),v=g==null?b:Fn(g),w=y==null?b:Fn(y),b=new h(N,u+"leave",g,s,j),b.target=v,b.relatedTarget=w,N=null,Ys(j)===d&&(h=new h(x,u+"enter",y,s,j),h.target=w,h.relatedTarget=v,N=h),v=N,g&&y)t:{for(h=g,x=y,u=0,w=h;w;w=Tn(w))u++;for(w=0,N=x;N;N=Tn(N))w++;for(;0<u-w;)h=Tn(h),u--;for(;0<w-u;)x=Tn(x),w--;for(;u--;){if(h===x||x!==null&&h===x.alternate)break t;h=Tn(h),x=Tn(x)}h=null}else h=null;g!==null&&Jm(m,b,g,h,!1),y!==null&&v!==null&&Jm(m,v,y,h,!0)}}e:{if(b=d?Fn(d):window,g=b.nodeName&&b.nodeName.toLowerCase(),g==="select"||g==="input"&&b.type==="file")var k=lk;else if(Um(b))if(zf)k=hk;else{k=dk;var M=ck}else(g=b.nodeName)&&g.toLowerCase()==="input"&&(b.type==="checkbox"||b.type==="radio")&&(k=uk);if(k&&(k=k(t,d))){Of(m,k,s,j);break e}M&&M(t,b,d),t==="focusout"&&(M=b._wrapperState)&&M.controlled&&b.type==="number"&&Nd(b,"number",b.value)}switch(M=d?Fn(d):window,t){case"focusin":(Um(M)||M.contentEditable==="true")&&(Dn=M,Dd=d,ea=null);break;case"focusout":ea=Dd=Dn=null;break;case"mousedown":Id=!0;break;case"contextmenu":case"mouseup":case"dragend":Id=!1,Km(m,s,j);break;case"selectionchange":if(gk)break;case"keydown":case"keyup":Km(m,s,j)}var C;if(eh)e:{switch(t){case"compositionstart":var P="onCompositionStart";break e;case"compositionend":P="onCompositionEnd";break e;case"compositionupdate":P="onCompositionUpdate";break e}P=void 0}else Rn?Ff(t,s)&&(P="onCompositionEnd"):t==="keydown"&&s.keyCode===229&&(P="onCompositionStart");P&&(If&&s.locale!=="ko"&&(Rn||P!=="onCompositionStart"?P==="onCompositionEnd"&&Rn&&(C=Df()):(bs=j,Xu="value"in bs?bs.value:bs.textContent,Rn=!0)),M=el(d,P),0<M.length&&(P=new zm(P,t,null,s,j),m.push({event:P,listeners:M}),C?P.data=C:(C=Lf(s),C!==null&&(P.data=C)))),(C=sk?nk(t,s):ik(t,s))&&(d=el(d,"onBeforeInput"),0<d.length&&(j=new zm("onBeforeInput","beforeinput",null,s,j),m.push({event:j,listeners:d}),j.data=C))}Qf(m,r)})}function ga(t,r,s){return{instance:t,listener:r,currentTarget:s}}function el(t,r){for(var s=r+"Capture",n=[];t!==null;){var i=t,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=la(t,s),a!=null&&n.unshift(ga(t,a,i)),a=la(t,r),a!=null&&n.push(ga(t,a,i))),t=t.return}return n}function Tn(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5);return t||null}function Jm(t,r,s,n,i){for(var a=r._reactName,o=[];s!==null&&s!==n;){var l=s,c=l.alternate,d=l.stateNode;if(c!==null&&c===n)break;l.tag===5&&d!==null&&(l=d,i?(c=la(s,a),c!=null&&o.unshift(ga(s,c,l))):i||(c=la(s,a),c!=null&&o.push(ga(s,c,l)))),s=s.return}o.length!==0&&t.push({event:r,listeners:o})}var bk=/\r\n?/g,yk=/\u0000|\uFFFD/g;function Zm(t){return(typeof t=="string"?t:""+t).replace(bk,`
`).replace(yk,"")}function lo(t,r,s){if(r=Zm(r),Zm(t)!==r&&s)throw Error(F(425))}function tl(){}var Fd=null,Ld=null;function Od(t,r){return t==="textarea"||t==="noscript"||typeof r.children=="string"||typeof r.children=="number"||typeof r.dangerouslySetInnerHTML=="object"&&r.dangerouslySetInnerHTML!==null&&r.dangerouslySetInnerHTML.__html!=null}var zd=typeof setTimeout=="function"?setTimeout:void 0,vk=typeof clearTimeout=="function"?clearTimeout:void 0,ex=typeof Promise=="function"?Promise:void 0,wk=typeof queueMicrotask=="function"?queueMicrotask:typeof ex<"u"?function(t){return ex.resolve(null).then(t).catch(Nk)}:zd;function Nk(t){setTimeout(function(){throw t})}function zc(t,r){var s=r,n=0;do{var i=s.nextSibling;if(t.removeChild(s),i&&i.nodeType===8)if(s=i.data,s==="/$"){if(n===0){t.removeChild(i),ua(r);return}n--}else s!=="$"&&s!=="$?"&&s!=="$!"||n++;s=i}while(s);ua(r)}function Ms(t){for(;t!=null;t=t.nextSibling){var r=t.nodeType;if(r===1||r===3)break;if(r===8){if(r=t.data,r==="$"||r==="$!"||r==="$?")break;if(r==="/$")return null}}return t}function tx(t){t=t.previousSibling;for(var r=0;t;){if(t.nodeType===8){var s=t.data;if(s==="$"||s==="$!"||s==="$?"){if(r===0)return t;r--}else s==="/$"&&r++}t=t.previousSibling}return null}var Ni=Math.random().toString(36).slice(2),wr="__reactFiber$"+Ni,fa="__reactProps$"+Ni,Ur="__reactContainer$"+Ni,Hd="__reactEvents$"+Ni,kk="__reactListeners$"+Ni,Mk="__reactHandles$"+Ni;function Ys(t){var r=t[wr];if(r)return r;for(var s=t.parentNode;s;){if(r=s[Ur]||s[wr]){if(s=r.alternate,r.child!==null||s!==null&&s.child!==null)for(t=tx(t);t!==null;){if(s=t[wr])return s;t=tx(t)}return r}t=s,s=t.parentNode}return null}function Fa(t){return t=t[wr]||t[Ur],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function Fn(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(F(33))}function Al(t){return t[fa]||null}var qd=[],Ln=-1;function Fs(t){return{current:t}}function Se(t){0>Ln||(t.current=qd[Ln],qd[Ln]=null,Ln--)}function Ne(t,r){Ln++,qd[Ln]=t.current,t.current=r}var As={},at=Fs(As),vt=Fs(!1),an=As;function di(t,r){var s=t.type.contextTypes;if(!s)return As;var n=t.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===r)return n.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in s)i[a]=r[a];return n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=r,t.__reactInternalMemoizedMaskedChildContext=i),i}function wt(t){return t=t.childContextTypes,t!=null}function rl(){Se(vt),Se(at)}function rx(t,r,s){if(at.current!==As)throw Error(F(168));Ne(at,r),Ne(vt,s)}function Jf(t,r,s){var n=t.stateNode;if(r=r.childContextTypes,typeof n.getChildContext!="function")return s;n=n.getChildContext();for(var i in n)if(!(i in r))throw Error(F(108,cN(t)||"Unknown",i));return Re({},s,n)}function sl(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||As,an=at.current,Ne(at,t),Ne(vt,vt.current),!0}function sx(t,r,s){var n=t.stateNode;if(!n)throw Error(F(169));s?(t=Jf(t,r,an),n.__reactInternalMemoizedMergedChildContext=t,Se(vt),Se(at),Ne(at,t)):Se(vt),Ne(vt,s)}var Ir=null,Rl=!1,Hc=!1;function Zf(t){Ir===null?Ir=[t]:Ir.push(t)}function Ck(t){Rl=!0,Zf(t)}function Ls(){if(!Hc&&Ir!==null){Hc=!0;var t=0,r=pe;try{var s=Ir;for(pe=1;t<s.length;t++){var n=s[t];do n=n(!0);while(n!==null)}Ir=null,Rl=!1}catch(i){throw Ir!==null&&(Ir=Ir.slice(t+1)),kf(Vu,Ls),i}finally{pe=r,Hc=!1}}return null}var On=[],zn=0,nl=null,il=0,Lt=[],Ot=0,on=null,Or=1,zr="";function $s(t,r){On[zn++]=il,On[zn++]=nl,nl=t,il=r}function ep(t,r,s){Lt[Ot++]=Or,Lt[Ot++]=zr,Lt[Ot++]=on,on=t;var n=Or;t=zr;var i=32-or(n)-1;n&=~(1<<i),s+=1;var a=32-or(r)+i;if(30<a){var o=i-i%5;a=(n&(1<<o)-1).toString(32),n>>=o,i-=o,Or=1<<32-or(r)+i|s<<i|n,zr=a+t}else Or=1<<a|s<<i|n,zr=t}function rh(t){t.return!==null&&($s(t,1),ep(t,1,0))}function sh(t){for(;t===nl;)nl=On[--zn],On[zn]=null,il=On[--zn],On[zn]=null;for(;t===on;)on=Lt[--Ot],Lt[Ot]=null,zr=Lt[--Ot],Lt[Ot]=null,Or=Lt[--Ot],Lt[Ot]=null}var Pt=null,Tt=null,Ee=!1,ar=null;function tp(t,r){var s=zt(5,null,null,0);s.elementType="DELETED",s.stateNode=r,s.return=t,r=t.deletions,r===null?(t.deletions=[s],t.flags|=16):r.push(s)}function nx(t,r){switch(t.tag){case 5:var s=t.type;return r=r.nodeType!==1||s.toLowerCase()!==r.nodeName.toLowerCase()?null:r,r!==null?(t.stateNode=r,Pt=t,Tt=Ms(r.firstChild),!0):!1;case 6:return r=t.pendingProps===""||r.nodeType!==3?null:r,r!==null?(t.stateNode=r,Pt=t,Tt=null,!0):!1;case 13:return r=r.nodeType!==8?null:r,r!==null?(s=on!==null?{id:Or,overflow:zr}:null,t.memoizedState={dehydrated:r,treeContext:s,retryLane:1073741824},s=zt(18,null,null,0),s.stateNode=r,s.return=t,t.child=s,Pt=t,Tt=null,!0):!1;default:return!1}}function _d(t){return(t.mode&1)!==0&&(t.flags&128)===0}function Ud(t){if(Ee){var r=Tt;if(r){var s=r;if(!nx(t,r)){if(_d(t))throw Error(F(418));r=Ms(s.nextSibling);var n=Pt;r&&nx(t,r)?tp(n,s):(t.flags=t.flags&-4097|2,Ee=!1,Pt=t)}}else{if(_d(t))throw Error(F(418));t.flags=t.flags&-4097|2,Ee=!1,Pt=t}}}function ix(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;Pt=t}function co(t){if(t!==Pt)return!1;if(!Ee)return ix(t),Ee=!0,!1;var r;if((r=t.tag!==3)&&!(r=t.tag!==5)&&(r=t.type,r=r!=="head"&&r!=="body"&&!Od(t.type,t.memoizedProps)),r&&(r=Tt)){if(_d(t))throw rp(),Error(F(418));for(;r;)tp(t,r),r=Ms(r.nextSibling)}if(ix(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(F(317));e:{for(t=t.nextSibling,r=0;t;){if(t.nodeType===8){var s=t.data;if(s==="/$"){if(r===0){Tt=Ms(t.nextSibling);break e}r--}else s!=="$"&&s!=="$!"&&s!=="$?"||r++}t=t.nextSibling}Tt=null}}else Tt=Pt?Ms(t.stateNode.nextSibling):null;return!0}function rp(){for(var t=Tt;t;)t=Ms(t.nextSibling)}function ui(){Tt=Pt=null,Ee=!1}function nh(t){ar===null?ar=[t]:ar.push(t)}var Sk=Kr.ReactCurrentBatchConfig;function Li(t,r,s){if(t=s.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(s._owner){if(s=s._owner,s){if(s.tag!==1)throw Error(F(309));var n=s.stateNode}if(!n)throw Error(F(147,t));var i=n,a=""+t;return r!==null&&r.ref!==null&&typeof r.ref=="function"&&r.ref._stringRef===a?r.ref:(r=function(o){var l=i.refs;o===null?delete l[a]:l[a]=o},r._stringRef=a,r)}if(typeof t!="string")throw Error(F(284));if(!s._owner)throw Error(F(290,t))}return t}function uo(t,r){throw t=Object.prototype.toString.call(r),Error(F(31,t==="[object Object]"?"object with keys {"+Object.keys(r).join(", ")+"}":t))}function ax(t){var r=t._init;return r(t._payload)}function sp(t){function r(x,u){if(t){var w=x.deletions;w===null?(x.deletions=[u],x.flags|=16):w.push(u)}}function s(x,u){if(!t)return null;for(;u!==null;)r(x,u),u=u.sibling;return null}function n(x,u){for(x=new Map;u!==null;)u.key!==null?x.set(u.key,u):x.set(u.index,u),u=u.sibling;return x}function i(x,u){return x=Ps(x,u),x.index=0,x.sibling=null,x}function a(x,u,w){return x.index=w,t?(w=x.alternate,w!==null?(w=w.index,w<u?(x.flags|=2,u):w):(x.flags|=2,u)):(x.flags|=1048576,u)}function o(x){return t&&x.alternate===null&&(x.flags|=2),x}function l(x,u,w,N){return u===null||u.tag!==6?(u=Yc(w,x.mode,N),u.return=x,u):(u=i(u,w),u.return=x,u)}function c(x,u,w,N){var k=w.type;return k===An?j(x,u,w.props.children,N,w.key):u!==null&&(u.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===cs&&ax(k)===u.type)?(N=i(u,w.props),N.ref=Li(x,u,w),N.return=x,N):(N=Lo(w.type,w.key,w.props,null,x.mode,N),N.ref=Li(x,u,w),N.return=x,N)}function d(x,u,w,N){return u===null||u.tag!==4||u.stateNode.containerInfo!==w.containerInfo||u.stateNode.implementation!==w.implementation?(u=Kc(w,x.mode,N),u.return=x,u):(u=i(u,w.children||[]),u.return=x,u)}function j(x,u,w,N,k){return u===null||u.tag!==7?(u=nn(w,x.mode,N,k),u.return=x,u):(u=i(u,w),u.return=x,u)}function m(x,u,w){if(typeof u=="string"&&u!==""||typeof u=="number")return u=Yc(""+u,x.mode,w),u.return=x,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case Za:return w=Lo(u.type,u.key,u.props,null,x.mode,w),w.ref=Li(x,null,u),w.return=x,w;case Bn:return u=Kc(u,x.mode,w),u.return=x,u;case cs:var N=u._init;return m(x,N(u._payload),w)}if($i(u)||Ai(u))return u=nn(u,x.mode,w,null),u.return=x,u;uo(x,u)}return null}function b(x,u,w,N){var k=u!==null?u.key:null;if(typeof w=="string"&&w!==""||typeof w=="number")return k!==null?null:l(x,u,""+w,N);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case Za:return w.key===k?c(x,u,w,N):null;case Bn:return w.key===k?d(x,u,w,N):null;case cs:return k=w._init,b(x,u,k(w._payload),N)}if($i(w)||Ai(w))return k!==null?null:j(x,u,w,N,null);uo(x,w)}return null}function g(x,u,w,N,k){if(typeof N=="string"&&N!==""||typeof N=="number")return x=x.get(w)||null,l(u,x,""+N,k);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case Za:return x=x.get(N.key===null?w:N.key)||null,c(u,x,N,k);case Bn:return x=x.get(N.key===null?w:N.key)||null,d(u,x,N,k);case cs:var M=N._init;return g(x,u,w,M(N._payload),k)}if($i(N)||Ai(N))return x=x.get(w)||null,j(u,x,N,k,null);uo(u,N)}return null}function y(x,u,w,N){for(var k=null,M=null,C=u,P=u=0,R=null;C!==null&&P<w.length;P++){C.index>P?(R=C,C=null):R=C.sibling;var B=b(x,C,w[P],N);if(B===null){C===null&&(C=R);break}t&&C&&B.alternate===null&&r(x,C),u=a(B,u,P),M===null?k=B:M.sibling=B,M=B,C=R}if(P===w.length)return s(x,C),Ee&&$s(x,P),k;if(C===null){for(;P<w.length;P++)C=m(x,w[P],N),C!==null&&(u=a(C,u,P),M===null?k=C:M.sibling=C,M=C);return Ee&&$s(x,P),k}for(C=n(x,C);P<w.length;P++)R=g(C,x,P,w[P],N),R!==null&&(t&&R.alternate!==null&&C.delete(R.key===null?P:R.key),u=a(R,u,P),M===null?k=R:M.sibling=R,M=R);return t&&C.forEach(function(I){return r(x,I)}),Ee&&$s(x,P),k}function h(x,u,w,N){var k=Ai(w);if(typeof k!="function")throw Error(F(150));if(w=k.call(w),w==null)throw Error(F(151));for(var M=k=null,C=u,P=u=0,R=null,B=w.next();C!==null&&!B.done;P++,B=w.next()){C.index>P?(R=C,C=null):R=C.sibling;var I=b(x,C,B.value,N);if(I===null){C===null&&(C=R);break}t&&C&&I.alternate===null&&r(x,C),u=a(I,u,P),M===null?k=I:M.sibling=I,M=I,C=R}if(B.done)return s(x,C),Ee&&$s(x,P),k;if(C===null){for(;!B.done;P++,B=w.next())B=m(x,B.value,N),B!==null&&(u=a(B,u,P),M===null?k=B:M.sibling=B,M=B);return Ee&&$s(x,P),k}for(C=n(x,C);!B.done;P++,B=w.next())B=g(C,x,P,B.value,N),B!==null&&(t&&B.alternate!==null&&C.delete(B.key===null?P:B.key),u=a(B,u,P),M===null?k=B:M.sibling=B,M=B);return t&&C.forEach(function(z){return r(x,z)}),Ee&&$s(x,P),k}function v(x,u,w,N){if(typeof w=="object"&&w!==null&&w.type===An&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Za:e:{for(var k=w.key,M=u;M!==null;){if(M.key===k){if(k=w.type,k===An){if(M.tag===7){s(x,M.sibling),u=i(M,w.props.children),u.return=x,x=u;break e}}else if(M.elementType===k||typeof k=="object"&&k!==null&&k.$$typeof===cs&&ax(k)===M.type){s(x,M.sibling),u=i(M,w.props),u.ref=Li(x,M,w),u.return=x,x=u;break e}s(x,M);break}else r(x,M);M=M.sibling}w.type===An?(u=nn(w.props.children,x.mode,N,w.key),u.return=x,x=u):(N=Lo(w.type,w.key,w.props,null,x.mode,N),N.ref=Li(x,u,w),N.return=x,x=N)}return o(x);case Bn:e:{for(M=w.key;u!==null;){if(u.key===M)if(u.tag===4&&u.stateNode.containerInfo===w.containerInfo&&u.stateNode.implementation===w.implementation){s(x,u.sibling),u=i(u,w.children||[]),u.return=x,x=u;break e}else{s(x,u);break}else r(x,u);u=u.sibling}u=Kc(w,x.mode,N),u.return=x,x=u}return o(x);case cs:return M=w._init,v(x,u,M(w._payload),N)}if($i(w))return y(x,u,w,N);if(Ai(w))return h(x,u,w,N);uo(x,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,u!==null&&u.tag===6?(s(x,u.sibling),u=i(u,w),u.return=x,x=u):(s(x,u),u=Yc(w,x.mode,N),u.return=x,x=u),o(x)):s(x,u)}return v}var hi=sp(!0),np=sp(!1),al=Fs(null),ol=null,Hn=null,ih=null;function ah(){ih=Hn=ol=null}function oh(t){var r=al.current;Se(al),t._currentValue=r}function Wd(t,r,s){for(;t!==null;){var n=t.alternate;if((t.childLanes&r)!==r?(t.childLanes|=r,n!==null&&(n.childLanes|=r)):n!==null&&(n.childLanes&r)!==r&&(n.childLanes|=r),t===s)break;t=t.return}}function Kn(t,r){ol=t,ih=Hn=null,t=t.dependencies,t!==null&&t.firstContext!==null&&(t.lanes&r&&(yt=!0),t.firstContext=null)}function _t(t){var r=t._currentValue;if(ih!==t)if(t={context:t,memoizedValue:r,next:null},Hn===null){if(ol===null)throw Error(F(308));Hn=t,ol.dependencies={lanes:0,firstContext:t}}else Hn=Hn.next=t;return r}var Ks=null;function lh(t){Ks===null?Ks=[t]:Ks.push(t)}function ip(t,r,s,n){var i=r.interleaved;return i===null?(s.next=s,lh(r)):(s.next=i.next,i.next=s),r.interleaved=s,Wr(t,n)}function Wr(t,r){t.lanes|=r;var s=t.alternate;for(s!==null&&(s.lanes|=r),s=t,t=t.return;t!==null;)t.childLanes|=r,s=t.alternate,s!==null&&(s.childLanes|=r),s=t,t=t.return;return s.tag===3?s.stateNode:null}var ds=!1;function ch(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ap(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function qr(t,r){return{eventTime:t,lane:r,tag:0,payload:null,callback:null,next:null}}function Cs(t,r,s){var n=t.updateQueue;if(n===null)return null;if(n=n.shared,ge&2){var i=n.pending;return i===null?r.next=r:(r.next=i.next,i.next=r),n.pending=r,Wr(t,s)}return i=n.interleaved,i===null?(r.next=r,lh(n)):(r.next=i.next,i.next=r),n.interleaved=r,Wr(t,s)}function Bo(t,r,s){if(r=r.updateQueue,r!==null&&(r=r.shared,(s&4194240)!==0)){var n=r.lanes;n&=t.pendingLanes,s|=n,r.lanes=s,Yu(t,s)}}function ox(t,r){var s=t.updateQueue,n=t.alternate;if(n!==null&&(n=n.updateQueue,s===n)){var i=null,a=null;if(s=s.firstBaseUpdate,s!==null){do{var o={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};a===null?i=a=o:a=a.next=o,s=s.next}while(s!==null);a===null?i=a=r:a=a.next=r}else i=a=r;s={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:n.shared,effects:n.effects},t.updateQueue=s;return}t=s.lastBaseUpdate,t===null?s.firstBaseUpdate=r:t.next=r,s.lastBaseUpdate=r}function ll(t,r,s,n){var i=t.updateQueue;ds=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var c=l,d=c.next;c.next=null,o===null?a=d:o.next=d,o=c;var j=t.alternate;j!==null&&(j=j.updateQueue,l=j.lastBaseUpdate,l!==o&&(l===null?j.firstBaseUpdate=d:l.next=d,j.lastBaseUpdate=c))}if(a!==null){var m=i.baseState;o=0,j=d=c=null,l=a;do{var b=l.lane,g=l.eventTime;if((n&b)===b){j!==null&&(j=j.next={eventTime:g,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var y=t,h=l;switch(b=r,g=s,h.tag){case 1:if(y=h.payload,typeof y=="function"){m=y.call(g,m,b);break e}m=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=h.payload,b=typeof y=="function"?y.call(g,m,b):y,b==null)break e;m=Re({},m,b);break e;case 2:ds=!0}}l.callback!==null&&l.lane!==0&&(t.flags|=64,b=i.effects,b===null?i.effects=[l]:b.push(l))}else g={eventTime:g,lane:b,tag:l.tag,payload:l.payload,callback:l.callback,next:null},j===null?(d=j=g,c=m):j=j.next=g,o|=b;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;b=l,l=b.next,b.next=null,i.lastBaseUpdate=b,i.shared.pending=null}}while(!0);if(j===null&&(c=m),i.baseState=c,i.firstBaseUpdate=d,i.lastBaseUpdate=j,r=i.shared.interleaved,r!==null){i=r;do o|=i.lane,i=i.next;while(i!==r)}else a===null&&(i.shared.lanes=0);cn|=o,t.lanes=o,t.memoizedState=m}}function lx(t,r,s){if(t=r.effects,r.effects=null,t!==null)for(r=0;r<t.length;r++){var n=t[r],i=n.callback;if(i!==null){if(n.callback=null,n=s,typeof i!="function")throw Error(F(191,i));i.call(n)}}}var La={},Cr=Fs(La),pa=Fs(La),ja=Fs(La);function Qs(t){if(t===La)throw Error(F(174));return t}function dh(t,r){switch(Ne(ja,r),Ne(pa,t),Ne(Cr,La),t=r.nodeType,t){case 9:case 11:r=(r=r.documentElement)?r.namespaceURI:Md(null,"");break;default:t=t===8?r.parentNode:r,r=t.namespaceURI||null,t=t.tagName,r=Md(r,t)}Se(Cr),Ne(Cr,r)}function mi(){Se(Cr),Se(pa),Se(ja)}function op(t){Qs(ja.current);var r=Qs(Cr.current),s=Md(r,t.type);r!==s&&(Ne(pa,t),Ne(Cr,s))}function uh(t){pa.current===t&&(Se(Cr),Se(pa))}var Be=Fs(0);function cl(t){for(var r=t;r!==null;){if(r.tag===13){var s=r.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||s.data==="$?"||s.data==="$!"))return r}else if(r.tag===19&&r.memoizedProps.revealOrder!==void 0){if(r.flags&128)return r}else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}return null}var qc=[];function hh(){for(var t=0;t<qc.length;t++)qc[t]._workInProgressVersionPrimary=null;qc.length=0}var Ao=Kr.ReactCurrentDispatcher,_c=Kr.ReactCurrentBatchConfig,ln=0,Ae=null,$e=null,Ke=null,dl=!1,ta=!1,ba=0,Tk=0;function rt(){throw Error(F(321))}function mh(t,r){if(r===null)return!1;for(var s=0;s<r.length&&s<t.length;s++)if(!cr(t[s],r[s]))return!1;return!0}function xh(t,r,s,n,i,a){if(ln=a,Ae=r,r.memoizedState=null,r.updateQueue=null,r.lanes=0,Ao.current=t===null||t.memoizedState===null?Bk:Ak,t=s(n,i),ta){a=0;do{if(ta=!1,ba=0,25<=a)throw Error(F(301));a+=1,Ke=$e=null,r.updateQueue=null,Ao.current=Rk,t=s(n,i)}while(ta)}if(Ao.current=ul,r=$e!==null&&$e.next!==null,ln=0,Ke=$e=Ae=null,dl=!1,r)throw Error(F(300));return t}function gh(){var t=ba!==0;return ba=0,t}function jr(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ke===null?Ae.memoizedState=Ke=t:Ke=Ke.next=t,Ke}function Ut(){if($e===null){var t=Ae.alternate;t=t!==null?t.memoizedState:null}else t=$e.next;var r=Ke===null?Ae.memoizedState:Ke.next;if(r!==null)Ke=r,$e=t;else{if(t===null)throw Error(F(310));$e=t,t={memoizedState:$e.memoizedState,baseState:$e.baseState,baseQueue:$e.baseQueue,queue:$e.queue,next:null},Ke===null?Ae.memoizedState=Ke=t:Ke=Ke.next=t}return Ke}function ya(t,r){return typeof r=="function"?r(t):r}function Uc(t){var r=Ut(),s=r.queue;if(s===null)throw Error(F(311));s.lastRenderedReducer=t;var n=$e,i=n.baseQueue,a=s.pending;if(a!==null){if(i!==null){var o=i.next;i.next=a.next,a.next=o}n.baseQueue=i=a,s.pending=null}if(i!==null){a=i.next,n=n.baseState;var l=o=null,c=null,d=a;do{var j=d.lane;if((ln&j)===j)c!==null&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),n=d.hasEagerState?d.eagerState:t(n,d.action);else{var m={lane:j,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};c===null?(l=c=m,o=n):c=c.next=m,Ae.lanes|=j,cn|=j}d=d.next}while(d!==null&&d!==a);c===null?o=n:c.next=l,cr(n,r.memoizedState)||(yt=!0),r.memoizedState=n,r.baseState=o,r.baseQueue=c,s.lastRenderedState=n}if(t=s.interleaved,t!==null){i=t;do a=i.lane,Ae.lanes|=a,cn|=a,i=i.next;while(i!==t)}else i===null&&(s.lanes=0);return[r.memoizedState,s.dispatch]}function Wc(t){var r=Ut(),s=r.queue;if(s===null)throw Error(F(311));s.lastRenderedReducer=t;var n=s.dispatch,i=s.pending,a=r.memoizedState;if(i!==null){s.pending=null;var o=i=i.next;do a=t(a,o.action),o=o.next;while(o!==i);cr(a,r.memoizedState)||(yt=!0),r.memoizedState=a,r.baseQueue===null&&(r.baseState=a),s.lastRenderedState=a}return[a,n]}function lp(){}function cp(t,r){var s=Ae,n=Ut(),i=r(),a=!cr(n.memoizedState,i);if(a&&(n.memoizedState=i,yt=!0),n=n.queue,fh(hp.bind(null,s,n,t),[t]),n.getSnapshot!==r||a||Ke!==null&&Ke.memoizedState.tag&1){if(s.flags|=2048,va(9,up.bind(null,s,n,i,r),void 0,null),Qe===null)throw Error(F(349));ln&30||dp(s,r,i)}return i}function dp(t,r,s){t.flags|=16384,t={getSnapshot:r,value:s},r=Ae.updateQueue,r===null?(r={lastEffect:null,stores:null},Ae.updateQueue=r,r.stores=[t]):(s=r.stores,s===null?r.stores=[t]:s.push(t))}function up(t,r,s,n){r.value=s,r.getSnapshot=n,mp(r)&&xp(t)}function hp(t,r,s){return s(function(){mp(r)&&xp(t)})}function mp(t){var r=t.getSnapshot;t=t.value;try{var s=r();return!cr(t,s)}catch{return!0}}function xp(t){var r=Wr(t,1);r!==null&&lr(r,t,1,-1)}function cx(t){var r=jr();return typeof t=="function"&&(t=t()),r.memoizedState=r.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:t},r.queue=t,t=t.dispatch=Gk.bind(null,Ae,t),[r.memoizedState,t]}function va(t,r,s,n){return t={tag:t,create:r,destroy:s,deps:n,next:null},r=Ae.updateQueue,r===null?(r={lastEffect:null,stores:null},Ae.updateQueue=r,r.lastEffect=t.next=t):(s=r.lastEffect,s===null?r.lastEffect=t.next=t:(n=s.next,s.next=t,t.next=n,r.lastEffect=t)),t}function gp(){return Ut().memoizedState}function Ro(t,r,s,n){var i=jr();Ae.flags|=t,i.memoizedState=va(1|r,s,void 0,n===void 0?null:n)}function Dl(t,r,s,n){var i=Ut();n=n===void 0?null:n;var a=void 0;if($e!==null){var o=$e.memoizedState;if(a=o.destroy,n!==null&&mh(n,o.deps)){i.memoizedState=va(r,s,a,n);return}}Ae.flags|=t,i.memoizedState=va(1|r,s,a,n)}function dx(t,r){return Ro(8390656,8,t,r)}function fh(t,r){return Dl(2048,8,t,r)}function fp(t,r){return Dl(4,2,t,r)}function pp(t,r){return Dl(4,4,t,r)}function jp(t,r){if(typeof r=="function")return t=t(),r(t),function(){r(null)};if(r!=null)return t=t(),r.current=t,function(){r.current=null}}function bp(t,r,s){return s=s!=null?s.concat([t]):null,Dl(4,4,jp.bind(null,r,t),s)}function ph(){}function yp(t,r){var s=Ut();r=r===void 0?null:r;var n=s.memoizedState;return n!==null&&r!==null&&mh(r,n[1])?n[0]:(s.memoizedState=[t,r],t)}function vp(t,r){var s=Ut();r=r===void 0?null:r;var n=s.memoizedState;return n!==null&&r!==null&&mh(r,n[1])?n[0]:(t=t(),s.memoizedState=[t,r],t)}function wp(t,r,s){return ln&21?(cr(s,r)||(s=Sf(),Ae.lanes|=s,cn|=s,t.baseState=!0),r):(t.baseState&&(t.baseState=!1,yt=!0),t.memoizedState=s)}function Pk(t,r){var s=pe;pe=s!==0&&4>s?s:4,t(!0);var n=_c.transition;_c.transition={};try{t(!1),r()}finally{pe=s,_c.transition=n}}function Np(){return Ut().memoizedState}function Ek(t,r,s){var n=Ts(t);if(s={lane:n,action:s,hasEagerState:!1,eagerState:null,next:null},kp(t))Mp(r,s);else if(s=ip(t,r,s,n),s!==null){var i=mt();lr(s,t,n,i),Cp(s,r,n)}}function Gk(t,r,s){var n=Ts(t),i={lane:n,action:s,hasEagerState:!1,eagerState:null,next:null};if(kp(t))Mp(r,i);else{var a=t.alternate;if(t.lanes===0&&(a===null||a.lanes===0)&&(a=r.lastRenderedReducer,a!==null))try{var o=r.lastRenderedState,l=a(o,s);if(i.hasEagerState=!0,i.eagerState=l,cr(l,o)){var c=r.interleaved;c===null?(i.next=i,lh(r)):(i.next=c.next,c.next=i),r.interleaved=i;return}}catch{}finally{}s=ip(t,r,i,n),s!==null&&(i=mt(),lr(s,t,n,i),Cp(s,r,n))}}function kp(t){var r=t.alternate;return t===Ae||r!==null&&r===Ae}function Mp(t,r){ta=dl=!0;var s=t.pending;s===null?r.next=r:(r.next=s.next,s.next=r),t.pending=r}function Cp(t,r,s){if(s&4194240){var n=r.lanes;n&=t.pendingLanes,s|=n,r.lanes=s,Yu(t,s)}}var ul={readContext:_t,useCallback:rt,useContext:rt,useEffect:rt,useImperativeHandle:rt,useInsertionEffect:rt,useLayoutEffect:rt,useMemo:rt,useReducer:rt,useRef:rt,useState:rt,useDebugValue:rt,useDeferredValue:rt,useTransition:rt,useMutableSource:rt,useSyncExternalStore:rt,useId:rt,unstable_isNewReconciler:!1},Bk={readContext:_t,useCallback:function(t,r){return jr().memoizedState=[t,r===void 0?null:r],t},useContext:_t,useEffect:dx,useImperativeHandle:function(t,r,s){return s=s!=null?s.concat([t]):null,Ro(4194308,4,jp.bind(null,r,t),s)},useLayoutEffect:function(t,r){return Ro(4194308,4,t,r)},useInsertionEffect:function(t,r){return Ro(4,2,t,r)},useMemo:function(t,r){var s=jr();return r=r===void 0?null:r,t=t(),s.memoizedState=[t,r],t},useReducer:function(t,r,s){var n=jr();return r=s!==void 0?s(r):r,n.memoizedState=n.baseState=r,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:r},n.queue=t,t=t.dispatch=Ek.bind(null,Ae,t),[n.memoizedState,t]},useRef:function(t){var r=jr();return t={current:t},r.memoizedState=t},useState:cx,useDebugValue:ph,useDeferredValue:function(t){return jr().memoizedState=t},useTransition:function(){var t=cx(!1),r=t[0];return t=Pk.bind(null,t[1]),jr().memoizedState=t,[r,t]},useMutableSource:function(){},useSyncExternalStore:function(t,r,s){var n=Ae,i=jr();if(Ee){if(s===void 0)throw Error(F(407));s=s()}else{if(s=r(),Qe===null)throw Error(F(349));ln&30||dp(n,r,s)}i.memoizedState=s;var a={value:s,getSnapshot:r};return i.queue=a,dx(hp.bind(null,n,a,t),[t]),n.flags|=2048,va(9,up.bind(null,n,a,s,r),void 0,null),s},useId:function(){var t=jr(),r=Qe.identifierPrefix;if(Ee){var s=zr,n=Or;s=(n&~(1<<32-or(n)-1)).toString(32)+s,r=":"+r+"R"+s,s=ba++,0<s&&(r+="H"+s.toString(32)),r+=":"}else s=Tk++,r=":"+r+"r"+s.toString(32)+":";return t.memoizedState=r},unstable_isNewReconciler:!1},Ak={readContext:_t,useCallback:yp,useContext:_t,useEffect:fh,useImperativeHandle:bp,useInsertionEffect:fp,useLayoutEffect:pp,useMemo:vp,useReducer:Uc,useRef:gp,useState:function(){return Uc(ya)},useDebugValue:ph,useDeferredValue:function(t){var r=Ut();return wp(r,$e.memoizedState,t)},useTransition:function(){var t=Uc(ya)[0],r=Ut().memoizedState;return[t,r]},useMutableSource:lp,useSyncExternalStore:cp,useId:Np,unstable_isNewReconciler:!1},Rk={readContext:_t,useCallback:yp,useContext:_t,useEffect:fh,useImperativeHandle:bp,useInsertionEffect:fp,useLayoutEffect:pp,useMemo:vp,useReducer:Wc,useRef:gp,useState:function(){return Wc(ya)},useDebugValue:ph,useDeferredValue:function(t){var r=Ut();return $e===null?r.memoizedState=t:wp(r,$e.memoizedState,t)},useTransition:function(){var t=Wc(ya)[0],r=Ut().memoizedState;return[t,r]},useMutableSource:lp,useSyncExternalStore:cp,useId:Np,unstable_isNewReconciler:!1};function tr(t,r){if(t&&t.defaultProps){r=Re({},r),t=t.defaultProps;for(var s in t)r[s]===void 0&&(r[s]=t[s]);return r}return r}function $d(t,r,s,n){r=t.memoizedState,s=s(n,r),s=s==null?r:Re({},r,s),t.memoizedState=s,t.lanes===0&&(t.updateQueue.baseState=s)}var Il={isMounted:function(t){return(t=t._reactInternals)?mn(t)===t:!1},enqueueSetState:function(t,r,s){t=t._reactInternals;var n=mt(),i=Ts(t),a=qr(n,i);a.payload=r,s!=null&&(a.callback=s),r=Cs(t,a,i),r!==null&&(lr(r,t,i,n),Bo(r,t,i))},enqueueReplaceState:function(t,r,s){t=t._reactInternals;var n=mt(),i=Ts(t),a=qr(n,i);a.tag=1,a.payload=r,s!=null&&(a.callback=s),r=Cs(t,a,i),r!==null&&(lr(r,t,i,n),Bo(r,t,i))},enqueueForceUpdate:function(t,r){t=t._reactInternals;var s=mt(),n=Ts(t),i=qr(s,n);i.tag=2,r!=null&&(i.callback=r),r=Cs(t,i,n),r!==null&&(lr(r,t,n,s),Bo(r,t,n))}};function ux(t,r,s,n,i,a,o){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(n,a,o):r.prototype&&r.prototype.isPureReactComponent?!ma(s,n)||!ma(i,a):!0}function Sp(t,r,s){var n=!1,i=As,a=r.contextType;return typeof a=="object"&&a!==null?a=_t(a):(i=wt(r)?an:at.current,n=r.contextTypes,a=(n=n!=null)?di(t,i):As),r=new r(s,a),t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=Il,t.stateNode=r,r._reactInternals=t,n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=i,t.__reactInternalMemoizedMaskedChildContext=a),r}function hx(t,r,s,n){t=r.state,typeof r.componentWillReceiveProps=="function"&&r.componentWillReceiveProps(s,n),typeof r.UNSAFE_componentWillReceiveProps=="function"&&r.UNSAFE_componentWillReceiveProps(s,n),r.state!==t&&Il.enqueueReplaceState(r,r.state,null)}function Vd(t,r,s,n){var i=t.stateNode;i.props=s,i.state=t.memoizedState,i.refs={},ch(t);var a=r.contextType;typeof a=="object"&&a!==null?i.context=_t(a):(a=wt(r)?an:at.current,i.context=di(t,a)),i.state=t.memoizedState,a=r.getDerivedStateFromProps,typeof a=="function"&&($d(t,r,a,s),i.state=t.memoizedState),typeof r.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Il.enqueueReplaceState(i,i.state,null),ll(t,s,i,n),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308)}function xi(t,r){try{var s="",n=r;do s+=lN(n),n=n.return;while(n);var i=s}catch(a){i=`
Error generating stack: `+a.message+`
`+a.stack}return{value:t,source:r,stack:i,digest:null}}function $c(t,r,s){return{value:t,source:null,stack:s??null,digest:r??null}}function Yd(t,r){try{console.error(r.value)}catch(s){setTimeout(function(){throw s})}}var Dk=typeof WeakMap=="function"?WeakMap:Map;function Tp(t,r,s){s=qr(-1,s),s.tag=3,s.payload={element:null};var n=r.value;return s.callback=function(){ml||(ml=!0,nu=n),Yd(t,r)},s}function Pp(t,r,s){s=qr(-1,s),s.tag=3;var n=t.type.getDerivedStateFromError;if(typeof n=="function"){var i=r.value;s.payload=function(){return n(i)},s.callback=function(){Yd(t,r)}}var a=t.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(s.callback=function(){Yd(t,r),typeof n!="function"&&(Ss===null?Ss=new Set([this]):Ss.add(this));var o=r.stack;this.componentDidCatch(r.value,{componentStack:o!==null?o:""})}),s}function mx(t,r,s){var n=t.pingCache;if(n===null){n=t.pingCache=new Dk;var i=new Set;n.set(r,i)}else i=n.get(r),i===void 0&&(i=new Set,n.set(r,i));i.has(s)||(i.add(s),t=Kk.bind(null,t,r,s),r.then(t,t))}function xx(t){do{var r;if((r=t.tag===13)&&(r=t.memoizedState,r=r!==null?r.dehydrated!==null:!0),r)return t;t=t.return}while(t!==null);return null}function gx(t,r,s,n,i){return t.mode&1?(t.flags|=65536,t.lanes=i,t):(t===r?t.flags|=65536:(t.flags|=128,s.flags|=131072,s.flags&=-52805,s.tag===1&&(s.alternate===null?s.tag=17:(r=qr(-1,1),r.tag=2,Cs(s,r,1))),s.lanes|=1),t)}var Ik=Kr.ReactCurrentOwner,yt=!1;function dt(t,r,s,n){r.child=t===null?np(r,null,s,n):hi(r,t.child,s,n)}function fx(t,r,s,n,i){s=s.render;var a=r.ref;return Kn(r,i),n=xh(t,r,s,n,a,i),s=gh(),t!==null&&!yt?(r.updateQueue=t.updateQueue,r.flags&=-2053,t.lanes&=~i,$r(t,r,i)):(Ee&&s&&rh(r),r.flags|=1,dt(t,r,n,i),r.child)}function px(t,r,s,n,i){if(t===null){var a=s.type;return typeof a=="function"&&!Mh(a)&&a.defaultProps===void 0&&s.compare===null&&s.defaultProps===void 0?(r.tag=15,r.type=a,Ep(t,r,a,n,i)):(t=Lo(s.type,null,n,r,r.mode,i),t.ref=r.ref,t.return=r,r.child=t)}if(a=t.child,!(t.lanes&i)){var o=a.memoizedProps;if(s=s.compare,s=s!==null?s:ma,s(o,n)&&t.ref===r.ref)return $r(t,r,i)}return r.flags|=1,t=Ps(a,n),t.ref=r.ref,t.return=r,r.child=t}function Ep(t,r,s,n,i){if(t!==null){var a=t.memoizedProps;if(ma(a,n)&&t.ref===r.ref)if(yt=!1,r.pendingProps=n=a,(t.lanes&i)!==0)t.flags&131072&&(yt=!0);else return r.lanes=t.lanes,$r(t,r,i)}return Kd(t,r,s,n,i)}function Gp(t,r,s){var n=r.pendingProps,i=n.children,a=t!==null?t.memoizedState:null;if(n.mode==="hidden")if(!(r.mode&1))r.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ne(_n,Mt),Mt|=s;else{if(!(s&1073741824))return t=a!==null?a.baseLanes|s:s,r.lanes=r.childLanes=1073741824,r.memoizedState={baseLanes:t,cachePool:null,transitions:null},r.updateQueue=null,Ne(_n,Mt),Mt|=t,null;r.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=a!==null?a.baseLanes:s,Ne(_n,Mt),Mt|=n}else a!==null?(n=a.baseLanes|s,r.memoizedState=null):n=s,Ne(_n,Mt),Mt|=n;return dt(t,r,i,s),r.child}function Bp(t,r){var s=r.ref;(t===null&&s!==null||t!==null&&t.ref!==s)&&(r.flags|=512,r.flags|=2097152)}function Kd(t,r,s,n,i){var a=wt(s)?an:at.current;return a=di(r,a),Kn(r,i),s=xh(t,r,s,n,a,i),n=gh(),t!==null&&!yt?(r.updateQueue=t.updateQueue,r.flags&=-2053,t.lanes&=~i,$r(t,r,i)):(Ee&&n&&rh(r),r.flags|=1,dt(t,r,s,i),r.child)}function jx(t,r,s,n,i){if(wt(s)){var a=!0;sl(r)}else a=!1;if(Kn(r,i),r.stateNode===null)Do(t,r),Sp(r,s,n),Vd(r,s,n,i),n=!0;else if(t===null){var o=r.stateNode,l=r.memoizedProps;o.props=l;var c=o.context,d=s.contextType;typeof d=="object"&&d!==null?d=_t(d):(d=wt(s)?an:at.current,d=di(r,d));var j=s.getDerivedStateFromProps,m=typeof j=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==n||c!==d)&&hx(r,o,n,d),ds=!1;var b=r.memoizedState;o.state=b,ll(r,n,o,i),c=r.memoizedState,l!==n||b!==c||vt.current||ds?(typeof j=="function"&&($d(r,s,j,n),c=r.memoizedState),(l=ds||ux(r,s,l,n,b,c,d))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(r.flags|=4194308)):(typeof o.componentDidMount=="function"&&(r.flags|=4194308),r.memoizedProps=n,r.memoizedState=c),o.props=n,o.state=c,o.context=d,n=l):(typeof o.componentDidMount=="function"&&(r.flags|=4194308),n=!1)}else{o=r.stateNode,ap(t,r),l=r.memoizedProps,d=r.type===r.elementType?l:tr(r.type,l),o.props=d,m=r.pendingProps,b=o.context,c=s.contextType,typeof c=="object"&&c!==null?c=_t(c):(c=wt(s)?an:at.current,c=di(r,c));var g=s.getDerivedStateFromProps;(j=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==m||b!==c)&&hx(r,o,n,c),ds=!1,b=r.memoizedState,o.state=b,ll(r,n,o,i);var y=r.memoizedState;l!==m||b!==y||vt.current||ds?(typeof g=="function"&&($d(r,s,g,n),y=r.memoizedState),(d=ds||ux(r,s,d,n,b,y,c)||!1)?(j||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(n,y,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(n,y,c)),typeof o.componentDidUpdate=="function"&&(r.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(r.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===t.memoizedProps&&b===t.memoizedState||(r.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&b===t.memoizedState||(r.flags|=1024),r.memoizedProps=n,r.memoizedState=y),o.props=n,o.state=y,o.context=c,n=d):(typeof o.componentDidUpdate!="function"||l===t.memoizedProps&&b===t.memoizedState||(r.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===t.memoizedProps&&b===t.memoizedState||(r.flags|=1024),n=!1)}return Qd(t,r,s,n,a,i)}function Qd(t,r,s,n,i,a){Bp(t,r);var o=(r.flags&128)!==0;if(!n&&!o)return i&&sx(r,s,!1),$r(t,r,a);n=r.stateNode,Ik.current=r;var l=o&&typeof s.getDerivedStateFromError!="function"?null:n.render();return r.flags|=1,t!==null&&o?(r.child=hi(r,t.child,null,a),r.child=hi(r,null,l,a)):dt(t,r,l,a),r.memoizedState=n.state,i&&sx(r,s,!0),r.child}function Ap(t){var r=t.stateNode;r.pendingContext?rx(t,r.pendingContext,r.pendingContext!==r.context):r.context&&rx(t,r.context,!1),dh(t,r.containerInfo)}function bx(t,r,s,n,i){return ui(),nh(i),r.flags|=256,dt(t,r,s,n),r.child}var Xd={dehydrated:null,treeContext:null,retryLane:0};function Jd(t){return{baseLanes:t,cachePool:null,transitions:null}}function Rp(t,r,s){var n=r.pendingProps,i=Be.current,a=!1,o=(r.flags&128)!==0,l;if((l=o)||(l=t!==null&&t.memoizedState===null?!1:(i&2)!==0),l?(a=!0,r.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),Ne(Be,i&1),t===null)return Ud(r),t=r.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(r.mode&1?t.data==="$!"?r.lanes=8:r.lanes=1073741824:r.lanes=1,null):(o=n.children,t=n.fallback,a?(n=r.mode,a=r.child,o={mode:"hidden",children:o},!(n&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=Ol(o,n,0,null),t=nn(t,n,s,null),a.return=r,t.return=r,a.sibling=t,r.child=a,r.child.memoizedState=Jd(s),r.memoizedState=Xd,t):jh(r,o));if(i=t.memoizedState,i!==null&&(l=i.dehydrated,l!==null))return Fk(t,r,o,n,l,i,s);if(a){a=n.fallback,o=r.mode,i=t.child,l=i.sibling;var c={mode:"hidden",children:n.children};return!(o&1)&&r.child!==i?(n=r.child,n.childLanes=0,n.pendingProps=c,r.deletions=null):(n=Ps(i,c),n.subtreeFlags=i.subtreeFlags&14680064),l!==null?a=Ps(l,a):(a=nn(a,o,s,null),a.flags|=2),a.return=r,n.return=r,n.sibling=a,r.child=n,n=a,a=r.child,o=t.child.memoizedState,o=o===null?Jd(s):{baseLanes:o.baseLanes|s,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=t.childLanes&~s,r.memoizedState=Xd,n}return a=t.child,t=a.sibling,n=Ps(a,{mode:"visible",children:n.children}),!(r.mode&1)&&(n.lanes=s),n.return=r,n.sibling=null,t!==null&&(s=r.deletions,s===null?(r.deletions=[t],r.flags|=16):s.push(t)),r.child=n,r.memoizedState=null,n}function jh(t,r){return r=Ol({mode:"visible",children:r},t.mode,0,null),r.return=t,t.child=r}function ho(t,r,s,n){return n!==null&&nh(n),hi(r,t.child,null,s),t=jh(r,r.pendingProps.children),t.flags|=2,r.memoizedState=null,t}function Fk(t,r,s,n,i,a,o){if(s)return r.flags&256?(r.flags&=-257,n=$c(Error(F(422))),ho(t,r,o,n)):r.memoizedState!==null?(r.child=t.child,r.flags|=128,null):(a=n.fallback,i=r.mode,n=Ol({mode:"visible",children:n.children},i,0,null),a=nn(a,i,o,null),a.flags|=2,n.return=r,a.return=r,n.sibling=a,r.child=n,r.mode&1&&hi(r,t.child,null,o),r.child.memoizedState=Jd(o),r.memoizedState=Xd,a);if(!(r.mode&1))return ho(t,r,o,null);if(i.data==="$!"){if(n=i.nextSibling&&i.nextSibling.dataset,n)var l=n.dgst;return n=l,a=Error(F(419)),n=$c(a,n,void 0),ho(t,r,o,n)}if(l=(o&t.childLanes)!==0,yt||l){if(n=Qe,n!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(n.suspendedLanes|o)?0:i,i!==0&&i!==a.retryLane&&(a.retryLane=i,Wr(t,i),lr(n,t,i,-1))}return kh(),n=$c(Error(F(421))),ho(t,r,o,n)}return i.data==="$?"?(r.flags|=128,r.child=t.child,r=Qk.bind(null,t),i._reactRetry=r,null):(t=a.treeContext,Tt=Ms(i.nextSibling),Pt=r,Ee=!0,ar=null,t!==null&&(Lt[Ot++]=Or,Lt[Ot++]=zr,Lt[Ot++]=on,Or=t.id,zr=t.overflow,on=r),r=jh(r,n.children),r.flags|=4096,r)}function yx(t,r,s){t.lanes|=r;var n=t.alternate;n!==null&&(n.lanes|=r),Wd(t.return,r,s)}function Vc(t,r,s,n,i){var a=t.memoizedState;a===null?t.memoizedState={isBackwards:r,rendering:null,renderingStartTime:0,last:n,tail:s,tailMode:i}:(a.isBackwards=r,a.rendering=null,a.renderingStartTime=0,a.last=n,a.tail=s,a.tailMode=i)}function Dp(t,r,s){var n=r.pendingProps,i=n.revealOrder,a=n.tail;if(dt(t,r,n.children,s),n=Be.current,n&2)n=n&1|2,r.flags|=128;else{if(t!==null&&t.flags&128)e:for(t=r.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&yx(t,s,r);else if(t.tag===19)yx(t,s,r);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===r)break e;for(;t.sibling===null;){if(t.return===null||t.return===r)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}n&=1}if(Ne(Be,n),!(r.mode&1))r.memoizedState=null;else switch(i){case"forwards":for(s=r.child,i=null;s!==null;)t=s.alternate,t!==null&&cl(t)===null&&(i=s),s=s.sibling;s=i,s===null?(i=r.child,r.child=null):(i=s.sibling,s.sibling=null),Vc(r,!1,i,s,a);break;case"backwards":for(s=null,i=r.child,r.child=null;i!==null;){if(t=i.alternate,t!==null&&cl(t)===null){r.child=i;break}t=i.sibling,i.sibling=s,s=i,i=t}Vc(r,!0,s,null,a);break;case"together":Vc(r,!1,null,null,void 0);break;default:r.memoizedState=null}return r.child}function Do(t,r){!(r.mode&1)&&t!==null&&(t.alternate=null,r.alternate=null,r.flags|=2)}function $r(t,r,s){if(t!==null&&(r.dependencies=t.dependencies),cn|=r.lanes,!(s&r.childLanes))return null;if(t!==null&&r.child!==t.child)throw Error(F(153));if(r.child!==null){for(t=r.child,s=Ps(t,t.pendingProps),r.child=s,s.return=r;t.sibling!==null;)t=t.sibling,s=s.sibling=Ps(t,t.pendingProps),s.return=r;s.sibling=null}return r.child}function Lk(t,r,s){switch(r.tag){case 3:Ap(r),ui();break;case 5:op(r);break;case 1:wt(r.type)&&sl(r);break;case 4:dh(r,r.stateNode.containerInfo);break;case 10:var n=r.type._context,i=r.memoizedProps.value;Ne(al,n._currentValue),n._currentValue=i;break;case 13:if(n=r.memoizedState,n!==null)return n.dehydrated!==null?(Ne(Be,Be.current&1),r.flags|=128,null):s&r.child.childLanes?Rp(t,r,s):(Ne(Be,Be.current&1),t=$r(t,r,s),t!==null?t.sibling:null);Ne(Be,Be.current&1);break;case 19:if(n=(s&r.childLanes)!==0,t.flags&128){if(n)return Dp(t,r,s);r.flags|=128}if(i=r.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),Ne(Be,Be.current),n)break;return null;case 22:case 23:return r.lanes=0,Gp(t,r,s)}return $r(t,r,s)}var Ip,Zd,Fp,Lp;Ip=function(t,r){for(var s=r.child;s!==null;){if(s.tag===5||s.tag===6)t.appendChild(s.stateNode);else if(s.tag!==4&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===r)break;for(;s.sibling===null;){if(s.return===null||s.return===r)return;s=s.return}s.sibling.return=s.return,s=s.sibling}};Zd=function(){};Fp=function(t,r,s,n){var i=t.memoizedProps;if(i!==n){t=r.stateNode,Qs(Cr.current);var a=null;switch(s){case"input":i=vd(t,i),n=vd(t,n),a=[];break;case"select":i=Re({},i,{value:void 0}),n=Re({},n,{value:void 0}),a=[];break;case"textarea":i=kd(t,i),n=kd(t,n),a=[];break;default:typeof i.onClick!="function"&&typeof n.onClick=="function"&&(t.onclick=tl)}Cd(s,n);var o;s=null;for(d in i)if(!n.hasOwnProperty(d)&&i.hasOwnProperty(d)&&i[d]!=null)if(d==="style"){var l=i[d];for(o in l)l.hasOwnProperty(o)&&(s||(s={}),s[o]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(aa.hasOwnProperty(d)?a||(a=[]):(a=a||[]).push(d,null));for(d in n){var c=n[d];if(l=i!=null?i[d]:void 0,n.hasOwnProperty(d)&&c!==l&&(c!=null||l!=null))if(d==="style")if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(s||(s={}),s[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(s||(s={}),s[o]=c[o])}else s||(a||(a=[]),a.push(d,s)),s=c;else d==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(a=a||[]).push(d,c)):d==="children"?typeof c!="string"&&typeof c!="number"||(a=a||[]).push(d,""+c):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(aa.hasOwnProperty(d)?(c!=null&&d==="onScroll"&&Ce("scroll",t),a||l===c||(a=[])):(a=a||[]).push(d,c))}s&&(a=a||[]).push("style",s);var d=a;(r.updateQueue=d)&&(r.flags|=4)}};Lp=function(t,r,s,n){s!==n&&(r.flags|=4)};function Oi(t,r){if(!Ee)switch(t.tailMode){case"hidden":r=t.tail;for(var s=null;r!==null;)r.alternate!==null&&(s=r),r=r.sibling;s===null?t.tail=null:s.sibling=null;break;case"collapsed":s=t.tail;for(var n=null;s!==null;)s.alternate!==null&&(n=s),s=s.sibling;n===null?r||t.tail===null?t.tail=null:t.tail.sibling=null:n.sibling=null}}function st(t){var r=t.alternate!==null&&t.alternate.child===t.child,s=0,n=0;if(r)for(var i=t.child;i!==null;)s|=i.lanes|i.childLanes,n|=i.subtreeFlags&14680064,n|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)s|=i.lanes|i.childLanes,n|=i.subtreeFlags,n|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=n,t.childLanes=s,r}function Ok(t,r,s){var n=r.pendingProps;switch(sh(r),r.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return st(r),null;case 1:return wt(r.type)&&rl(),st(r),null;case 3:return n=r.stateNode,mi(),Se(vt),Se(at),hh(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(t===null||t.child===null)&&(co(r)?r.flags|=4:t===null||t.memoizedState.isDehydrated&&!(r.flags&256)||(r.flags|=1024,ar!==null&&(ou(ar),ar=null))),Zd(t,r),st(r),null;case 5:uh(r);var i=Qs(ja.current);if(s=r.type,t!==null&&r.stateNode!=null)Fp(t,r,s,n,i),t.ref!==r.ref&&(r.flags|=512,r.flags|=2097152);else{if(!n){if(r.stateNode===null)throw Error(F(166));return st(r),null}if(t=Qs(Cr.current),co(r)){n=r.stateNode,s=r.type;var a=r.memoizedProps;switch(n[wr]=r,n[fa]=a,t=(r.mode&1)!==0,s){case"dialog":Ce("cancel",n),Ce("close",n);break;case"iframe":case"object":case"embed":Ce("load",n);break;case"video":case"audio":for(i=0;i<Yi.length;i++)Ce(Yi[i],n);break;case"source":Ce("error",n);break;case"img":case"image":case"link":Ce("error",n),Ce("load",n);break;case"details":Ce("toggle",n);break;case"input":Pm(n,a),Ce("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!a.multiple},Ce("invalid",n);break;case"textarea":Gm(n,a),Ce("invalid",n)}Cd(s,a),i=null;for(var o in a)if(a.hasOwnProperty(o)){var l=a[o];o==="children"?typeof l=="string"?n.textContent!==l&&(a.suppressHydrationWarning!==!0&&lo(n.textContent,l,t),i=["children",l]):typeof l=="number"&&n.textContent!==""+l&&(a.suppressHydrationWarning!==!0&&lo(n.textContent,l,t),i=["children",""+l]):aa.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&Ce("scroll",n)}switch(s){case"input":eo(n),Em(n,a,!0);break;case"textarea":eo(n),Bm(n);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(n.onclick=tl)}n=i,r.updateQueue=n,n!==null&&(r.flags|=4)}else{o=i.nodeType===9?i:i.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=hf(s)),t==="http://www.w3.org/1999/xhtml"?s==="script"?(t=o.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof n.is=="string"?t=o.createElement(s,{is:n.is}):(t=o.createElement(s),s==="select"&&(o=t,n.multiple?o.multiple=!0:n.size&&(o.size=n.size))):t=o.createElementNS(t,s),t[wr]=r,t[fa]=n,Ip(t,r,!1,!1),r.stateNode=t;e:{switch(o=Sd(s,n),s){case"dialog":Ce("cancel",t),Ce("close",t),i=n;break;case"iframe":case"object":case"embed":Ce("load",t),i=n;break;case"video":case"audio":for(i=0;i<Yi.length;i++)Ce(Yi[i],t);i=n;break;case"source":Ce("error",t),i=n;break;case"img":case"image":case"link":Ce("error",t),Ce("load",t),i=n;break;case"details":Ce("toggle",t),i=n;break;case"input":Pm(t,n),i=vd(t,n),Ce("invalid",t);break;case"option":i=n;break;case"select":t._wrapperState={wasMultiple:!!n.multiple},i=Re({},n,{value:void 0}),Ce("invalid",t);break;case"textarea":Gm(t,n),i=kd(t,n),Ce("invalid",t);break;default:i=n}Cd(s,i),l=i;for(a in l)if(l.hasOwnProperty(a)){var c=l[a];a==="style"?gf(t,c):a==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&mf(t,c)):a==="children"?typeof c=="string"?(s!=="textarea"||c!=="")&&oa(t,c):typeof c=="number"&&oa(t,""+c):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(aa.hasOwnProperty(a)?c!=null&&a==="onScroll"&&Ce("scroll",t):c!=null&&qu(t,a,c,o))}switch(s){case"input":eo(t),Em(t,n,!1);break;case"textarea":eo(t),Bm(t);break;case"option":n.value!=null&&t.setAttribute("value",""+Bs(n.value));break;case"select":t.multiple=!!n.multiple,a=n.value,a!=null?Wn(t,!!n.multiple,a,!1):n.defaultValue!=null&&Wn(t,!!n.multiple,n.defaultValue,!0);break;default:typeof i.onClick=="function"&&(t.onclick=tl)}switch(s){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(r.flags|=4)}r.ref!==null&&(r.flags|=512,r.flags|=2097152)}return st(r),null;case 6:if(t&&r.stateNode!=null)Lp(t,r,t.memoizedProps,n);else{if(typeof n!="string"&&r.stateNode===null)throw Error(F(166));if(s=Qs(ja.current),Qs(Cr.current),co(r)){if(n=r.stateNode,s=r.memoizedProps,n[wr]=r,(a=n.nodeValue!==s)&&(t=Pt,t!==null))switch(t.tag){case 3:lo(n.nodeValue,s,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&lo(n.nodeValue,s,(t.mode&1)!==0)}a&&(r.flags|=4)}else n=(s.nodeType===9?s:s.ownerDocument).createTextNode(n),n[wr]=r,r.stateNode=n}return st(r),null;case 13:if(Se(Be),n=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(Ee&&Tt!==null&&r.mode&1&&!(r.flags&128))rp(),ui(),r.flags|=98560,a=!1;else if(a=co(r),n!==null&&n.dehydrated!==null){if(t===null){if(!a)throw Error(F(318));if(a=r.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(F(317));a[wr]=r}else ui(),!(r.flags&128)&&(r.memoizedState=null),r.flags|=4;st(r),a=!1}else ar!==null&&(ou(ar),ar=null),a=!0;if(!a)return r.flags&65536?r:null}return r.flags&128?(r.lanes=s,r):(n=n!==null,n!==(t!==null&&t.memoizedState!==null)&&n&&(r.child.flags|=8192,r.mode&1&&(t===null||Be.current&1?Ve===0&&(Ve=3):kh())),r.updateQueue!==null&&(r.flags|=4),st(r),null);case 4:return mi(),Zd(t,r),t===null&&xa(r.stateNode.containerInfo),st(r),null;case 10:return oh(r.type._context),st(r),null;case 17:return wt(r.type)&&rl(),st(r),null;case 19:if(Se(Be),a=r.memoizedState,a===null)return st(r),null;if(n=(r.flags&128)!==0,o=a.rendering,o===null)if(n)Oi(a,!1);else{if(Ve!==0||t!==null&&t.flags&128)for(t=r.child;t!==null;){if(o=cl(t),o!==null){for(r.flags|=128,Oi(a,!1),n=o.updateQueue,n!==null&&(r.updateQueue=n,r.flags|=4),r.subtreeFlags=0,n=s,s=r.child;s!==null;)a=s,t=n,a.flags&=14680066,o=a.alternate,o===null?(a.childLanes=0,a.lanes=t,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=o.childLanes,a.lanes=o.lanes,a.child=o.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=o.memoizedProps,a.memoizedState=o.memoizedState,a.updateQueue=o.updateQueue,a.type=o.type,t=o.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),s=s.sibling;return Ne(Be,Be.current&1|2),r.child}t=t.sibling}a.tail!==null&&He()>gi&&(r.flags|=128,n=!0,Oi(a,!1),r.lanes=4194304)}else{if(!n)if(t=cl(o),t!==null){if(r.flags|=128,n=!0,s=t.updateQueue,s!==null&&(r.updateQueue=s,r.flags|=4),Oi(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!Ee)return st(r),null}else 2*He()-a.renderingStartTime>gi&&s!==1073741824&&(r.flags|=128,n=!0,Oi(a,!1),r.lanes=4194304);a.isBackwards?(o.sibling=r.child,r.child=o):(s=a.last,s!==null?s.sibling=o:r.child=o,a.last=o)}return a.tail!==null?(r=a.tail,a.rendering=r,a.tail=r.sibling,a.renderingStartTime=He(),r.sibling=null,s=Be.current,Ne(Be,n?s&1|2:s&1),r):(st(r),null);case 22:case 23:return Nh(),n=r.memoizedState!==null,t!==null&&t.memoizedState!==null!==n&&(r.flags|=8192),n&&r.mode&1?Mt&1073741824&&(st(r),r.subtreeFlags&6&&(r.flags|=8192)):st(r),null;case 24:return null;case 25:return null}throw Error(F(156,r.tag))}function zk(t,r){switch(sh(r),r.tag){case 1:return wt(r.type)&&rl(),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return mi(),Se(vt),Se(at),hh(),t=r.flags,t&65536&&!(t&128)?(r.flags=t&-65537|128,r):null;case 5:return uh(r),null;case 13:if(Se(Be),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(F(340));ui()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return Se(Be),null;case 4:return mi(),null;case 10:return oh(r.type._context),null;case 22:case 23:return Nh(),null;case 24:return null;default:return null}}var mo=!1,it=!1,Hk=typeof WeakSet=="function"?WeakSet:Set,W=null;function qn(t,r){var s=t.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(n){Fe(t,r,n)}else s.current=null}function eu(t,r,s){try{s()}catch(n){Fe(t,r,n)}}var vx=!1;function qk(t,r){if(Fd=Jo,t=_f(),th(t)){if("selectionStart"in t)var s={start:t.selectionStart,end:t.selectionEnd};else e:{s=(s=t.ownerDocument)&&s.defaultView||window;var n=s.getSelection&&s.getSelection();if(n&&n.rangeCount!==0){s=n.anchorNode;var i=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{s.nodeType,a.nodeType}catch{s=null;break e}var o=0,l=-1,c=-1,d=0,j=0,m=t,b=null;t:for(;;){for(var g;m!==s||i!==0&&m.nodeType!==3||(l=o+i),m!==a||n!==0&&m.nodeType!==3||(c=o+n),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)b=m,m=g;for(;;){if(m===t)break t;if(b===s&&++d===i&&(l=o),b===a&&++j===n&&(c=o),(g=m.nextSibling)!==null)break;m=b,b=m.parentNode}m=g}s=l===-1||c===-1?null:{start:l,end:c}}else s=null}s=s||{start:0,end:0}}else s=null;for(Ld={focusedElem:t,selectionRange:s},Jo=!1,W=r;W!==null;)if(r=W,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,W=t;else for(;W!==null;){r=W;try{var y=r.alternate;if(r.flags&1024)switch(r.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var h=y.memoizedProps,v=y.memoizedState,x=r.stateNode,u=x.getSnapshotBeforeUpdate(r.elementType===r.type?h:tr(r.type,h),v);x.__reactInternalSnapshotBeforeUpdate=u}break;case 3:var w=r.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(F(163))}}catch(N){Fe(r,r.return,N)}if(t=r.sibling,t!==null){t.return=r.return,W=t;break}W=r.return}return y=vx,vx=!1,y}function ra(t,r,s){var n=r.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&t)===t){var a=i.destroy;i.destroy=void 0,a!==void 0&&eu(r,s,a)}i=i.next}while(i!==n)}}function Fl(t,r){if(r=r.updateQueue,r=r!==null?r.lastEffect:null,r!==null){var s=r=r.next;do{if((s.tag&t)===t){var n=s.create;s.destroy=n()}s=s.next}while(s!==r)}}function tu(t){var r=t.ref;if(r!==null){var s=t.stateNode;switch(t.tag){case 5:t=s;break;default:t=s}typeof r=="function"?r(t):r.current=t}}function Op(t){var r=t.alternate;r!==null&&(t.alternate=null,Op(r)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(r=t.stateNode,r!==null&&(delete r[wr],delete r[fa],delete r[Hd],delete r[kk],delete r[Mk])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function zp(t){return t.tag===5||t.tag===3||t.tag===4}function wx(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||zp(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function ru(t,r,s){var n=t.tag;if(n===5||n===6)t=t.stateNode,r?s.nodeType===8?s.parentNode.insertBefore(t,r):s.insertBefore(t,r):(s.nodeType===8?(r=s.parentNode,r.insertBefore(t,s)):(r=s,r.appendChild(t)),s=s._reactRootContainer,s!=null||r.onclick!==null||(r.onclick=tl));else if(n!==4&&(t=t.child,t!==null))for(ru(t,r,s),t=t.sibling;t!==null;)ru(t,r,s),t=t.sibling}function su(t,r,s){var n=t.tag;if(n===5||n===6)t=t.stateNode,r?s.insertBefore(t,r):s.appendChild(t);else if(n!==4&&(t=t.child,t!==null))for(su(t,r,s),t=t.sibling;t!==null;)su(t,r,s),t=t.sibling}var Je=null,ir=!1;function ns(t,r,s){for(s=s.child;s!==null;)Hp(t,r,s),s=s.sibling}function Hp(t,r,s){if(Mr&&typeof Mr.onCommitFiberUnmount=="function")try{Mr.onCommitFiberUnmount(Pl,s)}catch{}switch(s.tag){case 5:it||qn(s,r);case 6:var n=Je,i=ir;Je=null,ns(t,r,s),Je=n,ir=i,Je!==null&&(ir?(t=Je,s=s.stateNode,t.nodeType===8?t.parentNode.removeChild(s):t.removeChild(s)):Je.removeChild(s.stateNode));break;case 18:Je!==null&&(ir?(t=Je,s=s.stateNode,t.nodeType===8?zc(t.parentNode,s):t.nodeType===1&&zc(t,s),ua(t)):zc(Je,s.stateNode));break;case 4:n=Je,i=ir,Je=s.stateNode.containerInfo,ir=!0,ns(t,r,s),Je=n,ir=i;break;case 0:case 11:case 14:case 15:if(!it&&(n=s.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){i=n=n.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&eu(s,r,o),i=i.next}while(i!==n)}ns(t,r,s);break;case 1:if(!it&&(qn(s,r),n=s.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=s.memoizedProps,n.state=s.memoizedState,n.componentWillUnmount()}catch(l){Fe(s,r,l)}ns(t,r,s);break;case 21:ns(t,r,s);break;case 22:s.mode&1?(it=(n=it)||s.memoizedState!==null,ns(t,r,s),it=n):ns(t,r,s);break;default:ns(t,r,s)}}function Nx(t){var r=t.updateQueue;if(r!==null){t.updateQueue=null;var s=t.stateNode;s===null&&(s=t.stateNode=new Hk),r.forEach(function(n){var i=Xk.bind(null,t,n);s.has(n)||(s.add(n),n.then(i,i))})}}function Jt(t,r){var s=r.deletions;if(s!==null)for(var n=0;n<s.length;n++){var i=s[n];try{var a=t,o=r,l=o;e:for(;l!==null;){switch(l.tag){case 5:Je=l.stateNode,ir=!1;break e;case 3:Je=l.stateNode.containerInfo,ir=!0;break e;case 4:Je=l.stateNode.containerInfo,ir=!0;break e}l=l.return}if(Je===null)throw Error(F(160));Hp(a,o,i),Je=null,ir=!1;var c=i.alternate;c!==null&&(c.return=null),i.return=null}catch(d){Fe(i,r,d)}}if(r.subtreeFlags&12854)for(r=r.child;r!==null;)qp(r,t),r=r.sibling}function qp(t,r){var s=t.alternate,n=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(Jt(r,t),pr(t),n&4){try{ra(3,t,t.return),Fl(3,t)}catch(h){Fe(t,t.return,h)}try{ra(5,t,t.return)}catch(h){Fe(t,t.return,h)}}break;case 1:Jt(r,t),pr(t),n&512&&s!==null&&qn(s,s.return);break;case 5:if(Jt(r,t),pr(t),n&512&&s!==null&&qn(s,s.return),t.flags&32){var i=t.stateNode;try{oa(i,"")}catch(h){Fe(t,t.return,h)}}if(n&4&&(i=t.stateNode,i!=null)){var a=t.memoizedProps,o=s!==null?s.memoizedProps:a,l=t.type,c=t.updateQueue;if(t.updateQueue=null,c!==null)try{l==="input"&&a.type==="radio"&&a.name!=null&&df(i,a),Sd(l,o);var d=Sd(l,a);for(o=0;o<c.length;o+=2){var j=c[o],m=c[o+1];j==="style"?gf(i,m):j==="dangerouslySetInnerHTML"?mf(i,m):j==="children"?oa(i,m):qu(i,j,m,d)}switch(l){case"input":wd(i,a);break;case"textarea":uf(i,a);break;case"select":var b=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!a.multiple;var g=a.value;g!=null?Wn(i,!!a.multiple,g,!1):b!==!!a.multiple&&(a.defaultValue!=null?Wn(i,!!a.multiple,a.defaultValue,!0):Wn(i,!!a.multiple,a.multiple?[]:"",!1))}i[fa]=a}catch(h){Fe(t,t.return,h)}}break;case 6:if(Jt(r,t),pr(t),n&4){if(t.stateNode===null)throw Error(F(162));i=t.stateNode,a=t.memoizedProps;try{i.nodeValue=a}catch(h){Fe(t,t.return,h)}}break;case 3:if(Jt(r,t),pr(t),n&4&&s!==null&&s.memoizedState.isDehydrated)try{ua(r.containerInfo)}catch(h){Fe(t,t.return,h)}break;case 4:Jt(r,t),pr(t);break;case 13:Jt(r,t),pr(t),i=t.child,i.flags&8192&&(a=i.memoizedState!==null,i.stateNode.isHidden=a,!a||i.alternate!==null&&i.alternate.memoizedState!==null||(vh=He())),n&4&&Nx(t);break;case 22:if(j=s!==null&&s.memoizedState!==null,t.mode&1?(it=(d=it)||j,Jt(r,t),it=d):Jt(r,t),pr(t),n&8192){if(d=t.memoizedState!==null,(t.stateNode.isHidden=d)&&!j&&t.mode&1)for(W=t,j=t.child;j!==null;){for(m=W=j;W!==null;){switch(b=W,g=b.child,b.tag){case 0:case 11:case 14:case 15:ra(4,b,b.return);break;case 1:qn(b,b.return);var y=b.stateNode;if(typeof y.componentWillUnmount=="function"){n=b,s=b.return;try{r=n,y.props=r.memoizedProps,y.state=r.memoizedState,y.componentWillUnmount()}catch(h){Fe(n,s,h)}}break;case 5:qn(b,b.return);break;case 22:if(b.memoizedState!==null){Mx(m);continue}}g!==null?(g.return=b,W=g):Mx(m)}j=j.sibling}e:for(j=null,m=t;;){if(m.tag===5){if(j===null){j=m;try{i=m.stateNode,d?(a=i.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(l=m.stateNode,c=m.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=xf("display",o))}catch(h){Fe(t,t.return,h)}}}else if(m.tag===6){if(j===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(h){Fe(t,t.return,h)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===t)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===t)break e;for(;m.sibling===null;){if(m.return===null||m.return===t)break e;j===m&&(j=null),m=m.return}j===m&&(j=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:Jt(r,t),pr(t),n&4&&Nx(t);break;case 21:break;default:Jt(r,t),pr(t)}}function pr(t){var r=t.flags;if(r&2){try{e:{for(var s=t.return;s!==null;){if(zp(s)){var n=s;break e}s=s.return}throw Error(F(160))}switch(n.tag){case 5:var i=n.stateNode;n.flags&32&&(oa(i,""),n.flags&=-33);var a=wx(t);su(t,a,i);break;case 3:case 4:var o=n.stateNode.containerInfo,l=wx(t);ru(t,l,o);break;default:throw Error(F(161))}}catch(c){Fe(t,t.return,c)}t.flags&=-3}r&4096&&(t.flags&=-4097)}function _k(t,r,s){W=t,_p(t)}function _p(t,r,s){for(var n=(t.mode&1)!==0;W!==null;){var i=W,a=i.child;if(i.tag===22&&n){var o=i.memoizedState!==null||mo;if(!o){var l=i.alternate,c=l!==null&&l.memoizedState!==null||it;l=mo;var d=it;if(mo=o,(it=c)&&!d)for(W=i;W!==null;)o=W,c=o.child,o.tag===22&&o.memoizedState!==null?Cx(i):c!==null?(c.return=o,W=c):Cx(i);for(;a!==null;)W=a,_p(a),a=a.sibling;W=i,mo=l,it=d}kx(t)}else i.subtreeFlags&8772&&a!==null?(a.return=i,W=a):kx(t)}}function kx(t){for(;W!==null;){var r=W;if(r.flags&8772){var s=r.alternate;try{if(r.flags&8772)switch(r.tag){case 0:case 11:case 15:it||Fl(5,r);break;case 1:var n=r.stateNode;if(r.flags&4&&!it)if(s===null)n.componentDidMount();else{var i=r.elementType===r.type?s.memoizedProps:tr(r.type,s.memoizedProps);n.componentDidUpdate(i,s.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var a=r.updateQueue;a!==null&&lx(r,a,n);break;case 3:var o=r.updateQueue;if(o!==null){if(s=null,r.child!==null)switch(r.child.tag){case 5:s=r.child.stateNode;break;case 1:s=r.child.stateNode}lx(r,o,s)}break;case 5:var l=r.stateNode;if(s===null&&r.flags&4){s=l;var c=r.memoizedProps;switch(r.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&s.focus();break;case"img":c.src&&(s.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(r.memoizedState===null){var d=r.alternate;if(d!==null){var j=d.memoizedState;if(j!==null){var m=j.dehydrated;m!==null&&ua(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(F(163))}it||r.flags&512&&tu(r)}catch(b){Fe(r,r.return,b)}}if(r===t){W=null;break}if(s=r.sibling,s!==null){s.return=r.return,W=s;break}W=r.return}}function Mx(t){for(;W!==null;){var r=W;if(r===t){W=null;break}var s=r.sibling;if(s!==null){s.return=r.return,W=s;break}W=r.return}}function Cx(t){for(;W!==null;){var r=W;try{switch(r.tag){case 0:case 11:case 15:var s=r.return;try{Fl(4,r)}catch(c){Fe(r,s,c)}break;case 1:var n=r.stateNode;if(typeof n.componentDidMount=="function"){var i=r.return;try{n.componentDidMount()}catch(c){Fe(r,i,c)}}var a=r.return;try{tu(r)}catch(c){Fe(r,a,c)}break;case 5:var o=r.return;try{tu(r)}catch(c){Fe(r,o,c)}}}catch(c){Fe(r,r.return,c)}if(r===t){W=null;break}var l=r.sibling;if(l!==null){l.return=r.return,W=l;break}W=r.return}}var Uk=Math.ceil,hl=Kr.ReactCurrentDispatcher,bh=Kr.ReactCurrentOwner,Ht=Kr.ReactCurrentBatchConfig,ge=0,Qe=null,Ue=null,Ze=0,Mt=0,_n=Fs(0),Ve=0,wa=null,cn=0,Ll=0,yh=0,sa=null,bt=null,vh=0,gi=1/0,Dr=null,ml=!1,nu=null,Ss=null,xo=!1,ys=null,xl=0,na=0,iu=null,Io=-1,Fo=0;function mt(){return ge&6?He():Io!==-1?Io:Io=He()}function Ts(t){return t.mode&1?ge&2&&Ze!==0?Ze&-Ze:Sk.transition!==null?(Fo===0&&(Fo=Sf()),Fo):(t=pe,t!==0||(t=window.event,t=t===void 0?16:Rf(t.type)),t):1}function lr(t,r,s,n){if(50<na)throw na=0,iu=null,Error(F(185));Da(t,s,n),(!(ge&2)||t!==Qe)&&(t===Qe&&(!(ge&2)&&(Ll|=s),Ve===4&&ms(t,Ze)),Nt(t,n),s===1&&ge===0&&!(r.mode&1)&&(gi=He()+500,Rl&&Ls()))}function Nt(t,r){var s=t.callbackNode;SN(t,r);var n=Xo(t,t===Qe?Ze:0);if(n===0)s!==null&&Dm(s),t.callbackNode=null,t.callbackPriority=0;else if(r=n&-n,t.callbackPriority!==r){if(s!=null&&Dm(s),r===1)t.tag===0?Ck(Sx.bind(null,t)):Zf(Sx.bind(null,t)),wk(function(){!(ge&6)&&Ls()}),s=null;else{switch(Tf(n)){case 1:s=Vu;break;case 4:s=Mf;break;case 16:s=Qo;break;case 536870912:s=Cf;break;default:s=Qo}s=Xp(s,Up.bind(null,t))}t.callbackPriority=r,t.callbackNode=s}}function Up(t,r){if(Io=-1,Fo=0,ge&6)throw Error(F(327));var s=t.callbackNode;if(Qn()&&t.callbackNode!==s)return null;var n=Xo(t,t===Qe?Ze:0);if(n===0)return null;if(n&30||n&t.expiredLanes||r)r=gl(t,n);else{r=n;var i=ge;ge|=2;var a=$p();(Qe!==t||Ze!==r)&&(Dr=null,gi=He()+500,sn(t,r));do try{Vk();break}catch(l){Wp(t,l)}while(!0);ah(),hl.current=a,ge=i,Ue!==null?r=0:(Qe=null,Ze=0,r=Ve)}if(r!==0){if(r===2&&(i=Bd(t),i!==0&&(n=i,r=au(t,i))),r===1)throw s=wa,sn(t,0),ms(t,n),Nt(t,He()),s;if(r===6)ms(t,n);else{if(i=t.current.alternate,!(n&30)&&!Wk(i)&&(r=gl(t,n),r===2&&(a=Bd(t),a!==0&&(n=a,r=au(t,a))),r===1))throw s=wa,sn(t,0),ms(t,n),Nt(t,He()),s;switch(t.finishedWork=i,t.finishedLanes=n,r){case 0:case 1:throw Error(F(345));case 2:Vs(t,bt,Dr);break;case 3:if(ms(t,n),(n&130023424)===n&&(r=vh+500-He(),10<r)){if(Xo(t,0)!==0)break;if(i=t.suspendedLanes,(i&n)!==n){mt(),t.pingedLanes|=t.suspendedLanes&i;break}t.timeoutHandle=zd(Vs.bind(null,t,bt,Dr),r);break}Vs(t,bt,Dr);break;case 4:if(ms(t,n),(n&4194240)===n)break;for(r=t.eventTimes,i=-1;0<n;){var o=31-or(n);a=1<<o,o=r[o],o>i&&(i=o),n&=~a}if(n=i,n=He()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Uk(n/1960))-n,10<n){t.timeoutHandle=zd(Vs.bind(null,t,bt,Dr),n);break}Vs(t,bt,Dr);break;case 5:Vs(t,bt,Dr);break;default:throw Error(F(329))}}}return Nt(t,He()),t.callbackNode===s?Up.bind(null,t):null}function au(t,r){var s=sa;return t.current.memoizedState.isDehydrated&&(sn(t,r).flags|=256),t=gl(t,r),t!==2&&(r=bt,bt=s,r!==null&&ou(r)),t}function ou(t){bt===null?bt=t:bt.push.apply(bt,t)}function Wk(t){for(var r=t;;){if(r.flags&16384){var s=r.updateQueue;if(s!==null&&(s=s.stores,s!==null))for(var n=0;n<s.length;n++){var i=s[n],a=i.getSnapshot;i=i.value;try{if(!cr(a(),i))return!1}catch{return!1}}}if(s=r.child,r.subtreeFlags&16384&&s!==null)s.return=r,r=s;else{if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return!0;r=r.return}r.sibling.return=r.return,r=r.sibling}}return!0}function ms(t,r){for(r&=~yh,r&=~Ll,t.suspendedLanes|=r,t.pingedLanes&=~r,t=t.expirationTimes;0<r;){var s=31-or(r),n=1<<s;t[s]=-1,r&=~n}}function Sx(t){if(ge&6)throw Error(F(327));Qn();var r=Xo(t,0);if(!(r&1))return Nt(t,He()),null;var s=gl(t,r);if(t.tag!==0&&s===2){var n=Bd(t);n!==0&&(r=n,s=au(t,n))}if(s===1)throw s=wa,sn(t,0),ms(t,r),Nt(t,He()),s;if(s===6)throw Error(F(345));return t.finishedWork=t.current.alternate,t.finishedLanes=r,Vs(t,bt,Dr),Nt(t,He()),null}function wh(t,r){var s=ge;ge|=1;try{return t(r)}finally{ge=s,ge===0&&(gi=He()+500,Rl&&Ls())}}function dn(t){ys!==null&&ys.tag===0&&!(ge&6)&&Qn();var r=ge;ge|=1;var s=Ht.transition,n=pe;try{if(Ht.transition=null,pe=1,t)return t()}finally{pe=n,Ht.transition=s,ge=r,!(ge&6)&&Ls()}}function Nh(){Mt=_n.current,Se(_n)}function sn(t,r){t.finishedWork=null,t.finishedLanes=0;var s=t.timeoutHandle;if(s!==-1&&(t.timeoutHandle=-1,vk(s)),Ue!==null)for(s=Ue.return;s!==null;){var n=s;switch(sh(n),n.tag){case 1:n=n.type.childContextTypes,n!=null&&rl();break;case 3:mi(),Se(vt),Se(at),hh();break;case 5:uh(n);break;case 4:mi();break;case 13:Se(Be);break;case 19:Se(Be);break;case 10:oh(n.type._context);break;case 22:case 23:Nh()}s=s.return}if(Qe=t,Ue=t=Ps(t.current,null),Ze=Mt=r,Ve=0,wa=null,yh=Ll=cn=0,bt=sa=null,Ks!==null){for(r=0;r<Ks.length;r++)if(s=Ks[r],n=s.interleaved,n!==null){s.interleaved=null;var i=n.next,a=s.pending;if(a!==null){var o=a.next;a.next=i,n.next=o}s.pending=n}Ks=null}return t}function Wp(t,r){do{var s=Ue;try{if(ah(),Ao.current=ul,dl){for(var n=Ae.memoizedState;n!==null;){var i=n.queue;i!==null&&(i.pending=null),n=n.next}dl=!1}if(ln=0,Ke=$e=Ae=null,ta=!1,ba=0,bh.current=null,s===null||s.return===null){Ve=1,wa=r,Ue=null;break}e:{var a=t,o=s.return,l=s,c=r;if(r=Ze,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var d=c,j=l,m=j.tag;if(!(j.mode&1)&&(m===0||m===11||m===15)){var b=j.alternate;b?(j.updateQueue=b.updateQueue,j.memoizedState=b.memoizedState,j.lanes=b.lanes):(j.updateQueue=null,j.memoizedState=null)}var g=xx(o);if(g!==null){g.flags&=-257,gx(g,o,l,a,r),g.mode&1&&mx(a,d,r),r=g,c=d;var y=r.updateQueue;if(y===null){var h=new Set;h.add(c),r.updateQueue=h}else y.add(c);break e}else{if(!(r&1)){mx(a,d,r),kh();break e}c=Error(F(426))}}else if(Ee&&l.mode&1){var v=xx(o);if(v!==null){!(v.flags&65536)&&(v.flags|=256),gx(v,o,l,a,r),nh(xi(c,l));break e}}a=c=xi(c,l),Ve!==4&&(Ve=2),sa===null?sa=[a]:sa.push(a),a=o;do{switch(a.tag){case 3:a.flags|=65536,r&=-r,a.lanes|=r;var x=Tp(a,c,r);ox(a,x);break e;case 1:l=c;var u=a.type,w=a.stateNode;if(!(a.flags&128)&&(typeof u.getDerivedStateFromError=="function"||w!==null&&typeof w.componentDidCatch=="function"&&(Ss===null||!Ss.has(w)))){a.flags|=65536,r&=-r,a.lanes|=r;var N=Pp(a,l,r);ox(a,N);break e}}a=a.return}while(a!==null)}Yp(s)}catch(k){r=k,Ue===s&&s!==null&&(Ue=s=s.return);continue}break}while(!0)}function $p(){var t=hl.current;return hl.current=ul,t===null?ul:t}function kh(){(Ve===0||Ve===3||Ve===2)&&(Ve=4),Qe===null||!(cn&268435455)&&!(Ll&268435455)||ms(Qe,Ze)}function gl(t,r){var s=ge;ge|=2;var n=$p();(Qe!==t||Ze!==r)&&(Dr=null,sn(t,r));do try{$k();break}catch(i){Wp(t,i)}while(!0);if(ah(),ge=s,hl.current=n,Ue!==null)throw Error(F(261));return Qe=null,Ze=0,Ve}function $k(){for(;Ue!==null;)Vp(Ue)}function Vk(){for(;Ue!==null&&!jN();)Vp(Ue)}function Vp(t){var r=Qp(t.alternate,t,Mt);t.memoizedProps=t.pendingProps,r===null?Yp(t):Ue=r,bh.current=null}function Yp(t){var r=t;do{var s=r.alternate;if(t=r.return,r.flags&32768){if(s=zk(s,r),s!==null){s.flags&=32767,Ue=s;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{Ve=6,Ue=null;return}}else if(s=Ok(s,r,Mt),s!==null){Ue=s;return}if(r=r.sibling,r!==null){Ue=r;return}Ue=r=t}while(r!==null);Ve===0&&(Ve=5)}function Vs(t,r,s){var n=pe,i=Ht.transition;try{Ht.transition=null,pe=1,Yk(t,r,s,n)}finally{Ht.transition=i,pe=n}return null}function Yk(t,r,s,n){do Qn();while(ys!==null);if(ge&6)throw Error(F(327));s=t.finishedWork;var i=t.finishedLanes;if(s===null)return null;if(t.finishedWork=null,t.finishedLanes=0,s===t.current)throw Error(F(177));t.callbackNode=null,t.callbackPriority=0;var a=s.lanes|s.childLanes;if(TN(t,a),t===Qe&&(Ue=Qe=null,Ze=0),!(s.subtreeFlags&2064)&&!(s.flags&2064)||xo||(xo=!0,Xp(Qo,function(){return Qn(),null})),a=(s.flags&15990)!==0,s.subtreeFlags&15990||a){a=Ht.transition,Ht.transition=null;var o=pe;pe=1;var l=ge;ge|=4,bh.current=null,qk(t,s),qp(s,t),xk(Ld),Jo=!!Fd,Ld=Fd=null,t.current=s,_k(s),bN(),ge=l,pe=o,Ht.transition=a}else t.current=s;if(xo&&(xo=!1,ys=t,xl=i),a=t.pendingLanes,a===0&&(Ss=null),wN(s.stateNode),Nt(t,He()),r!==null)for(n=t.onRecoverableError,s=0;s<r.length;s++)i=r[s],n(i.value,{componentStack:i.stack,digest:i.digest});if(ml)throw ml=!1,t=nu,nu=null,t;return xl&1&&t.tag!==0&&Qn(),a=t.pendingLanes,a&1?t===iu?na++:(na=0,iu=t):na=0,Ls(),null}function Qn(){if(ys!==null){var t=Tf(xl),r=Ht.transition,s=pe;try{if(Ht.transition=null,pe=16>t?16:t,ys===null)var n=!1;else{if(t=ys,ys=null,xl=0,ge&6)throw Error(F(331));var i=ge;for(ge|=4,W=t.current;W!==null;){var a=W,o=a.child;if(W.flags&16){var l=a.deletions;if(l!==null){for(var c=0;c<l.length;c++){var d=l[c];for(W=d;W!==null;){var j=W;switch(j.tag){case 0:case 11:case 15:ra(8,j,a)}var m=j.child;if(m!==null)m.return=j,W=m;else for(;W!==null;){j=W;var b=j.sibling,g=j.return;if(Op(j),j===d){W=null;break}if(b!==null){b.return=g,W=b;break}W=g}}}var y=a.alternate;if(y!==null){var h=y.child;if(h!==null){y.child=null;do{var v=h.sibling;h.sibling=null,h=v}while(h!==null)}}W=a}}if(a.subtreeFlags&2064&&o!==null)o.return=a,W=o;else e:for(;W!==null;){if(a=W,a.flags&2048)switch(a.tag){case 0:case 11:case 15:ra(9,a,a.return)}var x=a.sibling;if(x!==null){x.return=a.return,W=x;break e}W=a.return}}var u=t.current;for(W=u;W!==null;){o=W;var w=o.child;if(o.subtreeFlags&2064&&w!==null)w.return=o,W=w;else e:for(o=u;W!==null;){if(l=W,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:Fl(9,l)}}catch(k){Fe(l,l.return,k)}if(l===o){W=null;break e}var N=l.sibling;if(N!==null){N.return=l.return,W=N;break e}W=l.return}}if(ge=i,Ls(),Mr&&typeof Mr.onPostCommitFiberRoot=="function")try{Mr.onPostCommitFiberRoot(Pl,t)}catch{}n=!0}return n}finally{pe=s,Ht.transition=r}}return!1}function Tx(t,r,s){r=xi(s,r),r=Tp(t,r,1),t=Cs(t,r,1),r=mt(),t!==null&&(Da(t,1,r),Nt(t,r))}function Fe(t,r,s){if(t.tag===3)Tx(t,t,s);else for(;r!==null;){if(r.tag===3){Tx(r,t,s);break}else if(r.tag===1){var n=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Ss===null||!Ss.has(n))){t=xi(s,t),t=Pp(r,t,1),r=Cs(r,t,1),t=mt(),r!==null&&(Da(r,1,t),Nt(r,t));break}}r=r.return}}function Kk(t,r,s){var n=t.pingCache;n!==null&&n.delete(r),r=mt(),t.pingedLanes|=t.suspendedLanes&s,Qe===t&&(Ze&s)===s&&(Ve===4||Ve===3&&(Ze&130023424)===Ze&&500>He()-vh?sn(t,0):yh|=s),Nt(t,r)}function Kp(t,r){r===0&&(t.mode&1?(r=so,so<<=1,!(so&130023424)&&(so=4194304)):r=1);var s=mt();t=Wr(t,r),t!==null&&(Da(t,r,s),Nt(t,s))}function Qk(t){var r=t.memoizedState,s=0;r!==null&&(s=r.retryLane),Kp(t,s)}function Xk(t,r){var s=0;switch(t.tag){case 13:var n=t.stateNode,i=t.memoizedState;i!==null&&(s=i.retryLane);break;case 19:n=t.stateNode;break;default:throw Error(F(314))}n!==null&&n.delete(r),Kp(t,s)}var Qp;Qp=function(t,r,s){if(t!==null)if(t.memoizedProps!==r.pendingProps||vt.current)yt=!0;else{if(!(t.lanes&s)&&!(r.flags&128))return yt=!1,Lk(t,r,s);yt=!!(t.flags&131072)}else yt=!1,Ee&&r.flags&1048576&&ep(r,il,r.index);switch(r.lanes=0,r.tag){case 2:var n=r.type;Do(t,r),t=r.pendingProps;var i=di(r,at.current);Kn(r,s),i=xh(null,r,n,t,i,s);var a=gh();return r.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(r.tag=1,r.memoizedState=null,r.updateQueue=null,wt(n)?(a=!0,sl(r)):a=!1,r.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,ch(r),i.updater=Il,r.stateNode=i,i._reactInternals=r,Vd(r,n,t,s),r=Qd(null,r,n,!0,a,s)):(r.tag=0,Ee&&a&&rh(r),dt(null,r,i,s),r=r.child),r;case 16:n=r.elementType;e:{switch(Do(t,r),t=r.pendingProps,i=n._init,n=i(n._payload),r.type=n,i=r.tag=Zk(n),t=tr(n,t),i){case 0:r=Kd(null,r,n,t,s);break e;case 1:r=jx(null,r,n,t,s);break e;case 11:r=fx(null,r,n,t,s);break e;case 14:r=px(null,r,n,tr(n.type,t),s);break e}throw Error(F(306,n,""))}return r;case 0:return n=r.type,i=r.pendingProps,i=r.elementType===n?i:tr(n,i),Kd(t,r,n,i,s);case 1:return n=r.type,i=r.pendingProps,i=r.elementType===n?i:tr(n,i),jx(t,r,n,i,s);case 3:e:{if(Ap(r),t===null)throw Error(F(387));n=r.pendingProps,a=r.memoizedState,i=a.element,ap(t,r),ll(r,n,null,s);var o=r.memoizedState;if(n=o.element,a.isDehydrated)if(a={element:n,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},r.updateQueue.baseState=a,r.memoizedState=a,r.flags&256){i=xi(Error(F(423)),r),r=bx(t,r,n,s,i);break e}else if(n!==i){i=xi(Error(F(424)),r),r=bx(t,r,n,s,i);break e}else for(Tt=Ms(r.stateNode.containerInfo.firstChild),Pt=r,Ee=!0,ar=null,s=np(r,null,n,s),r.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(ui(),n===i){r=$r(t,r,s);break e}dt(t,r,n,s)}r=r.child}return r;case 5:return op(r),t===null&&Ud(r),n=r.type,i=r.pendingProps,a=t!==null?t.memoizedProps:null,o=i.children,Od(n,i)?o=null:a!==null&&Od(n,a)&&(r.flags|=32),Bp(t,r),dt(t,r,o,s),r.child;case 6:return t===null&&Ud(r),null;case 13:return Rp(t,r,s);case 4:return dh(r,r.stateNode.containerInfo),n=r.pendingProps,t===null?r.child=hi(r,null,n,s):dt(t,r,n,s),r.child;case 11:return n=r.type,i=r.pendingProps,i=r.elementType===n?i:tr(n,i),fx(t,r,n,i,s);case 7:return dt(t,r,r.pendingProps,s),r.child;case 8:return dt(t,r,r.pendingProps.children,s),r.child;case 12:return dt(t,r,r.pendingProps.children,s),r.child;case 10:e:{if(n=r.type._context,i=r.pendingProps,a=r.memoizedProps,o=i.value,Ne(al,n._currentValue),n._currentValue=o,a!==null)if(cr(a.value,o)){if(a.children===i.children&&!vt.current){r=$r(t,r,s);break e}}else for(a=r.child,a!==null&&(a.return=r);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var c=l.firstContext;c!==null;){if(c.context===n){if(a.tag===1){c=qr(-1,s&-s),c.tag=2;var d=a.updateQueue;if(d!==null){d=d.shared;var j=d.pending;j===null?c.next=c:(c.next=j.next,j.next=c),d.pending=c}}a.lanes|=s,c=a.alternate,c!==null&&(c.lanes|=s),Wd(a.return,s,r),l.lanes|=s;break}c=c.next}}else if(a.tag===10)o=a.type===r.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(F(341));o.lanes|=s,l=o.alternate,l!==null&&(l.lanes|=s),Wd(o,s,r),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===r){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}dt(t,r,i.children,s),r=r.child}return r;case 9:return i=r.type,n=r.pendingProps.children,Kn(r,s),i=_t(i),n=n(i),r.flags|=1,dt(t,r,n,s),r.child;case 14:return n=r.type,i=tr(n,r.pendingProps),i=tr(n.type,i),px(t,r,n,i,s);case 15:return Ep(t,r,r.type,r.pendingProps,s);case 17:return n=r.type,i=r.pendingProps,i=r.elementType===n?i:tr(n,i),Do(t,r),r.tag=1,wt(n)?(t=!0,sl(r)):t=!1,Kn(r,s),Sp(r,n,i),Vd(r,n,i,s),Qd(null,r,n,!0,t,s);case 19:return Dp(t,r,s);case 22:return Gp(t,r,s)}throw Error(F(156,r.tag))};function Xp(t,r){return kf(t,r)}function Jk(t,r,s,n){this.tag=t,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=r,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function zt(t,r,s,n){return new Jk(t,r,s,n)}function Mh(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Zk(t){if(typeof t=="function")return Mh(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Uu)return 11;if(t===Wu)return 14}return 2}function Ps(t,r){var s=t.alternate;return s===null?(s=zt(t.tag,r,t.key,t.mode),s.elementType=t.elementType,s.type=t.type,s.stateNode=t.stateNode,s.alternate=t,t.alternate=s):(s.pendingProps=r,s.type=t.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=t.flags&14680064,s.childLanes=t.childLanes,s.lanes=t.lanes,s.child=t.child,s.memoizedProps=t.memoizedProps,s.memoizedState=t.memoizedState,s.updateQueue=t.updateQueue,r=t.dependencies,s.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext},s.sibling=t.sibling,s.index=t.index,s.ref=t.ref,s}function Lo(t,r,s,n,i,a){var o=2;if(n=t,typeof t=="function")Mh(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case An:return nn(s.children,i,a,r);case _u:o=8,i|=8;break;case pd:return t=zt(12,s,r,i|2),t.elementType=pd,t.lanes=a,t;case jd:return t=zt(13,s,r,i),t.elementType=jd,t.lanes=a,t;case bd:return t=zt(19,s,r,i),t.elementType=bd,t.lanes=a,t;case of:return Ol(s,i,a,r);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case nf:o=10;break e;case af:o=9;break e;case Uu:o=11;break e;case Wu:o=14;break e;case cs:o=16,n=null;break e}throw Error(F(130,t==null?t:typeof t,""))}return r=zt(o,s,r,i),r.elementType=t,r.type=n,r.lanes=a,r}function nn(t,r,s,n){return t=zt(7,t,n,r),t.lanes=s,t}function Ol(t,r,s,n){return t=zt(22,t,n,r),t.elementType=of,t.lanes=s,t.stateNode={isHidden:!1},t}function Yc(t,r,s){return t=zt(6,t,null,r),t.lanes=s,t}function Kc(t,r,s){return r=zt(4,t.children!==null?t.children:[],t.key,r),r.lanes=s,r.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},r}function e0(t,r,s,n,i){this.tag=r,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pc(0),this.expirationTimes=Pc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pc(0),this.identifierPrefix=n,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Ch(t,r,s,n,i,a,o,l,c){return t=new e0(t,r,s,l,c),r===1?(r=1,a===!0&&(r|=8)):r=0,a=zt(3,null,null,r),t.current=a,a.stateNode=t,a.memoizedState={element:n,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},ch(a),t}function t0(t,r,s){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Bn,key:n==null?null:""+n,children:t,containerInfo:r,implementation:s}}function Jp(t){if(!t)return As;t=t._reactInternals;e:{if(mn(t)!==t||t.tag!==1)throw Error(F(170));var r=t;do{switch(r.tag){case 3:r=r.stateNode.context;break e;case 1:if(wt(r.type)){r=r.stateNode.__reactInternalMemoizedMergedChildContext;break e}}r=r.return}while(r!==null);throw Error(F(171))}if(t.tag===1){var s=t.type;if(wt(s))return Jf(t,s,r)}return r}function Zp(t,r,s,n,i,a,o,l,c){return t=Ch(s,n,!0,t,i,a,o,l,c),t.context=Jp(null),s=t.current,n=mt(),i=Ts(s),a=qr(n,i),a.callback=r??null,Cs(s,a,i),t.current.lanes=i,Da(t,i,n),Nt(t,n),t}function zl(t,r,s,n){var i=r.current,a=mt(),o=Ts(i);return s=Jp(s),r.context===null?r.context=s:r.pendingContext=s,r=qr(a,o),r.payload={element:t},n=n===void 0?null:n,n!==null&&(r.callback=n),t=Cs(i,r,o),t!==null&&(lr(t,i,o,a),Bo(t,i,o)),o}function fl(t){if(t=t.current,!t.child)return null;switch(t.child.tag){case 5:return t.child.stateNode;default:return t.child.stateNode}}function Px(t,r){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var s=t.retryLane;t.retryLane=s!==0&&s<r?s:r}}function Sh(t,r){Px(t,r),(t=t.alternate)&&Px(t,r)}function r0(){return null}var ej=typeof reportError=="function"?reportError:function(t){console.error(t)};function Th(t){this._internalRoot=t}Hl.prototype.render=Th.prototype.render=function(t){var r=this._internalRoot;if(r===null)throw Error(F(409));zl(t,r,null,null)};Hl.prototype.unmount=Th.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var r=t.containerInfo;dn(function(){zl(null,t,null,null)}),r[Ur]=null}};function Hl(t){this._internalRoot=t}Hl.prototype.unstable_scheduleHydration=function(t){if(t){var r=Gf();t={blockedOn:null,target:t,priority:r};for(var s=0;s<hs.length&&r!==0&&r<hs[s].priority;s++);hs.splice(s,0,t),s===0&&Af(t)}};function Ph(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function ql(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function Ex(){}function s0(t,r,s,n,i){if(i){if(typeof n=="function"){var a=n;n=function(){var d=fl(o);a.call(d)}}var o=Zp(r,n,t,0,null,!1,!1,"",Ex);return t._reactRootContainer=o,t[Ur]=o.current,xa(t.nodeType===8?t.parentNode:t),dn(),o}for(;i=t.lastChild;)t.removeChild(i);if(typeof n=="function"){var l=n;n=function(){var d=fl(c);l.call(d)}}var c=Ch(t,0,!1,null,null,!1,!1,"",Ex);return t._reactRootContainer=c,t[Ur]=c.current,xa(t.nodeType===8?t.parentNode:t),dn(function(){zl(r,c,s,n)}),c}function _l(t,r,s,n,i){var a=s._reactRootContainer;if(a){var o=a;if(typeof i=="function"){var l=i;i=function(){var c=fl(o);l.call(c)}}zl(r,o,t,i)}else o=s0(s,r,t,i,n);return fl(o)}Pf=function(t){switch(t.tag){case 3:var r=t.stateNode;if(r.current.memoizedState.isDehydrated){var s=Vi(r.pendingLanes);s!==0&&(Yu(r,s|1),Nt(r,He()),!(ge&6)&&(gi=He()+500,Ls()))}break;case 13:dn(function(){var n=Wr(t,1);if(n!==null){var i=mt();lr(n,t,1,i)}}),Sh(t,1)}};Ku=function(t){if(t.tag===13){var r=Wr(t,134217728);if(r!==null){var s=mt();lr(r,t,134217728,s)}Sh(t,134217728)}};Ef=function(t){if(t.tag===13){var r=Ts(t),s=Wr(t,r);if(s!==null){var n=mt();lr(s,t,r,n)}Sh(t,r)}};Gf=function(){return pe};Bf=function(t,r){var s=pe;try{return pe=t,r()}finally{pe=s}};Pd=function(t,r,s){switch(r){case"input":if(wd(t,s),r=s.name,s.type==="radio"&&r!=null){for(s=t;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll("input[name="+JSON.stringify(""+r)+'][type="radio"]'),r=0;r<s.length;r++){var n=s[r];if(n!==t&&n.form===t.form){var i=Al(n);if(!i)throw Error(F(90));cf(n),wd(n,i)}}}break;case"textarea":uf(t,s);break;case"select":r=s.value,r!=null&&Wn(t,!!s.multiple,r,!1)}};jf=wh;bf=dn;var n0={usingClientEntryPoint:!1,Events:[Fa,Fn,Al,ff,pf,wh]},zi={findFiberByHostInstance:Ys,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},i0={bundleType:zi.bundleType,version:zi.version,rendererPackageName:zi.rendererPackageName,rendererConfig:zi.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Kr.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=wf(t),t===null?null:t.stateNode},findFiberByHostInstance:zi.findFiberByHostInstance||r0,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var go=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!go.isDisabled&&go.supportsFiber)try{Pl=go.inject(i0),Mr=go}catch{}}At.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=n0;At.createPortal=function(t,r){var s=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ph(r))throw Error(F(200));return t0(t,r,null,s)};At.createRoot=function(t,r){if(!Ph(t))throw Error(F(299));var s=!1,n="",i=ej;return r!=null&&(r.unstable_strictMode===!0&&(s=!0),r.identifierPrefix!==void 0&&(n=r.identifierPrefix),r.onRecoverableError!==void 0&&(i=r.onRecoverableError)),r=Ch(t,1,!1,null,null,s,!1,n,i),t[Ur]=r.current,xa(t.nodeType===8?t.parentNode:t),new Th(r)};At.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var r=t._reactInternals;if(r===void 0)throw typeof t.render=="function"?Error(F(188)):(t=Object.keys(t).join(","),Error(F(268,t)));return t=wf(r),t=t===null?null:t.stateNode,t};At.flushSync=function(t){return dn(t)};At.hydrate=function(t,r,s){if(!ql(r))throw Error(F(200));return _l(null,t,r,!0,s)};At.hydrateRoot=function(t,r,s){if(!Ph(t))throw Error(F(405));var n=s!=null&&s.hydratedSources||null,i=!1,a="",o=ej;if(s!=null&&(s.unstable_strictMode===!0&&(i=!0),s.identifierPrefix!==void 0&&(a=s.identifierPrefix),s.onRecoverableError!==void 0&&(o=s.onRecoverableError)),r=Zp(r,null,t,1,s??null,i,!1,a,o),t[Ur]=r.current,xa(t),n)for(t=0;t<n.length;t++)s=n[t],i=s._getVersion,i=i(s._source),r.mutableSourceEagerHydrationData==null?r.mutableSourceEagerHydrationData=[s,i]:r.mutableSourceEagerHydrationData.push(s,i);return new Hl(r)};At.render=function(t,r,s){if(!ql(r))throw Error(F(200));return _l(null,t,r,!1,s)};At.unmountComponentAtNode=function(t){if(!ql(t))throw Error(F(40));return t._reactRootContainer?(dn(function(){_l(null,null,t,!1,function(){t._reactRootContainer=null,t[Ur]=null})}),!0):!1};At.unstable_batchedUpdates=wh;At.unstable_renderSubtreeIntoContainer=function(t,r,s,n){if(!ql(s))throw Error(F(200));if(t==null||t._reactInternals===void 0)throw Error(F(38));return _l(t,r,s,!1,n)};At.version="18.3.1-next-f1338f8080-20240426";function tj(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(tj)}catch(t){console.error(t)}}tj(),ef.exports=At;var Oa=ef.exports;const rj=qg(Oa);var sj,Gx=Oa;sj=Gx.createRoot,Gx.hydrateRoot;const a0=1,o0=1e6;let Qc=0;function l0(){return Qc=(Qc+1)%Number.MAX_SAFE_INTEGER,Qc.toString()}const Xc=new Map,Bx=t=>{if(Xc.has(t))return;const r=setTimeout(()=>{Xc.delete(t),ia({type:"REMOVE_TOAST",toastId:t})},o0);Xc.set(t,r)},c0=(t,r)=>{switch(r.type){case"ADD_TOAST":return{...t,toasts:[r.toast,...t.toasts].slice(0,a0)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(s=>s.id===r.toast.id?{...s,...r.toast}:s)};case"DISMISS_TOAST":{const{toastId:s}=r;return s?Bx(s):t.toasts.forEach(n=>{Bx(n.id)}),{...t,toasts:t.toasts.map(n=>n.id===s||s===void 0?{...n,open:!1}:n)}}case"REMOVE_TOAST":return r.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(s=>s.id!==r.toastId)}}},Oo=[];let zo={toasts:[]};function ia(t){zo=c0(zo,t),Oo.forEach(r=>{r(zo)})}function lu({...t}){const r=l0(),s=i=>ia({type:"UPDATE_TOAST",toast:{...i,id:r}}),n=()=>ia({type:"DISMISS_TOAST",toastId:r});return ia({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:i=>{i||n()}}}),{id:r,dismiss:n,update:s}}function ki(){const[t,r]=f.useState(zo);return f.useEffect(()=>(Oo.push(r),()=>{const s=Oo.indexOf(r);s>-1&&Oo.splice(s,1)}),[t]),{...t,toast:lu,dismiss:s=>ia({type:"DISMISS_TOAST",toastId:s})}}function V(t,r,{checkForDefaultPrevented:s=!0}={}){return function(i){if(t==null||t(i),s===!1||!i.defaultPrevented)return r==null?void 0:r(i)}}function Ax(t,r){if(typeof t=="function")return t(r);t!=null&&(t.current=r)}function Ul(...t){return r=>{let s=!1;const n=t.map(i=>{const a=Ax(i,r);return!s&&typeof a=="function"&&(s=!0),a});if(s)return()=>{for(let i=0;i<n.length;i++){const a=n[i];typeof a=="function"?a():Ax(t[i],null)}}}}function be(...t){return f.useCallback(Ul(...t),t)}function Wt(t,r=[]){let s=[];function n(a,o){const l=f.createContext(o),c=s.length;s=[...s,o];const d=m=>{var x;const{scope:b,children:g,...y}=m,h=((x=b==null?void 0:b[t])==null?void 0:x[c])||l,v=f.useMemo(()=>y,Object.values(y));return e.jsx(h.Provider,{value:v,children:g})};d.displayName=a+"Provider";function j(m,b){var h;const g=((h=b==null?void 0:b[t])==null?void 0:h[c])||l,y=f.useContext(g);if(y)return y;if(o!==void 0)return o;throw new Error(`\`${m}\` must be used within \`${a}\``)}return[d,j]}const i=()=>{const a=s.map(o=>f.createContext(o));return function(l){const c=(l==null?void 0:l[t])||a;return f.useMemo(()=>({[`__scope${t}`]:{...l,[t]:c}}),[l,c])}};return i.scopeName=t,[n,d0(i,...r)]}function d0(...t){const r=t[0];if(t.length===1)return r;const s=()=>{const n=t.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const o=n.reduce((l,{useScope:c,scopeName:d})=>{const m=c(a)[`__scope${d}`];return{...l,...m}},{});return f.useMemo(()=>({[`__scope${r.scopeName}`]:o}),[o])}};return s.scopeName=r.scopeName,s}function Na(t){const r=u0(t),s=f.forwardRef((n,i)=>{const{children:a,...o}=n,l=f.Children.toArray(a),c=l.find(m0);if(c){const d=c.props.children,j=l.map(m=>m===c?f.Children.count(d)>1?f.Children.only(null):f.isValidElement(d)?d.props.children:null:m);return e.jsx(r,{...o,ref:i,children:f.isValidElement(d)?f.cloneElement(d,void 0,j):null})}return e.jsx(r,{...o,ref:i,children:a})});return s.displayName=`${t}.Slot`,s}var nj=Na("Slot");function u0(t){const r=f.forwardRef((s,n)=>{const{children:i,...a}=s;if(f.isValidElement(i)){const o=g0(i),l=x0(a,i.props);return i.type!==f.Fragment&&(l.ref=n?Ul(n,o):o),f.cloneElement(i,l)}return f.Children.count(i)>1?f.Children.only(null):null});return r.displayName=`${t}.SlotClone`,r}var ij=Symbol("radix.slottable");function h0(t){const r=({children:s})=>e.jsx(e.Fragment,{children:s});return r.displayName=`${t}.Slottable`,r.__radixId=ij,r}function m0(t){return f.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===ij}function x0(t,r){const s={...r};for(const n in r){const i=t[n],a=r[n];/^on[A-Z]/.test(n)?i&&a?s[n]=(...l)=>{const c=a(...l);return i(...l),c}:i&&(s[n]=i):n==="style"?s[n]={...i,...a}:n==="className"&&(s[n]=[i,a].filter(Boolean).join(" "))}return{...t,...s}}function g0(t){var n,i;let r=(n=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:n.get,s=r&&"isReactWarning"in r&&r.isReactWarning;return s?t.ref:(r=(i=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:i.get,s=r&&"isReactWarning"in r&&r.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}function za(t){const r=t+"CollectionProvider",[s,n]=Wt(r),[i,a]=s(r,{collectionRef:{current:null},itemMap:new Map}),o=h=>{const{scope:v,children:x}=h,u=D.useRef(null),w=D.useRef(new Map).current;return e.jsx(i,{scope:v,itemMap:w,collectionRef:u,children:x})};o.displayName=r;const l=t+"CollectionSlot",c=Na(l),d=D.forwardRef((h,v)=>{const{scope:x,children:u}=h,w=a(l,x),N=be(v,w.collectionRef);return e.jsx(c,{ref:N,children:u})});d.displayName=l;const j=t+"CollectionItemSlot",m="data-radix-collection-item",b=Na(j),g=D.forwardRef((h,v)=>{const{scope:x,children:u,...w}=h,N=D.useRef(null),k=be(v,N),M=a(j,x);return D.useEffect(()=>(M.itemMap.set(N,{ref:N,...w}),()=>void M.itemMap.delete(N))),e.jsx(b,{[m]:"",ref:k,children:u})});g.displayName=j;function y(h){const v=a(t+"CollectionConsumer",h);return D.useCallback(()=>{const u=v.collectionRef.current;if(!u)return[];const w=Array.from(u.querySelectorAll(`[${m}]`));return Array.from(v.itemMap.values()).sort((M,C)=>w.indexOf(M.ref.current)-w.indexOf(C.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:o,Slot:d,ItemSlot:g},y,n]}var f0=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],he=f0.reduce((t,r)=>{const s=Na(`Primitive.${r}`),n=f.forwardRef((i,a)=>{const{asChild:o,...l}=i,c=o?s:r;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(c,{...l,ref:a})});return n.displayName=`Primitive.${r}`,{...t,[r]:n}},{});function Eh(t,r){t&&Oa.flushSync(()=>t.dispatchEvent(r))}function Bt(t){const r=f.useRef(t);return f.useEffect(()=>{r.current=t}),f.useMemo(()=>(...s)=>{var n;return(n=r.current)==null?void 0:n.call(r,...s)},[])}function p0(t,r=globalThis==null?void 0:globalThis.document){const s=Bt(t);f.useEffect(()=>{const n=i=>{i.key==="Escape"&&s(i)};return r.addEventListener("keydown",n,{capture:!0}),()=>r.removeEventListener("keydown",n,{capture:!0})},[s,r])}var j0="DismissableLayer",cu="dismissableLayer.update",b0="dismissableLayer.pointerDownOutside",y0="dismissableLayer.focusOutside",Rx,aj=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Wl=f.forwardRef((t,r)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:l,...c}=t,d=f.useContext(aj),[j,m]=f.useState(null),b=(j==null?void 0:j.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,g]=f.useState({}),y=be(r,C=>m(C)),h=Array.from(d.layers),[v]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),x=h.indexOf(v),u=j?h.indexOf(j):-1,w=d.layersWithOutsidePointerEventsDisabled.size>0,N=u>=x,k=w0(C=>{const P=C.target,R=[...d.branches].some(B=>B.contains(P));!N||R||(i==null||i(C),o==null||o(C),C.defaultPrevented||l==null||l())},b),M=N0(C=>{const P=C.target;[...d.branches].some(B=>B.contains(P))||(a==null||a(C),o==null||o(C),C.defaultPrevented||l==null||l())},b);return p0(C=>{u===d.layers.size-1&&(n==null||n(C),!C.defaultPrevented&&l&&(C.preventDefault(),l()))},b),f.useEffect(()=>{if(j)return s&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(Rx=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(j)),d.layers.add(j),Dx(),()=>{s&&d.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=Rx)}},[j,b,s,d]),f.useEffect(()=>()=>{j&&(d.layers.delete(j),d.layersWithOutsidePointerEventsDisabled.delete(j),Dx())},[j,d]),f.useEffect(()=>{const C=()=>g({});return document.addEventListener(cu,C),()=>document.removeEventListener(cu,C)},[]),e.jsx(he.div,{...c,ref:y,style:{pointerEvents:w?N?"auto":"none":void 0,...t.style},onFocusCapture:V(t.onFocusCapture,M.onFocusCapture),onBlurCapture:V(t.onBlurCapture,M.onBlurCapture),onPointerDownCapture:V(t.onPointerDownCapture,k.onPointerDownCapture)})});Wl.displayName=j0;var v0="DismissableLayerBranch",oj=f.forwardRef((t,r)=>{const s=f.useContext(aj),n=f.useRef(null),i=be(r,n);return f.useEffect(()=>{const a=n.current;if(a)return s.branches.add(a),()=>{s.branches.delete(a)}},[s.branches]),e.jsx(he.div,{...t,ref:i})});oj.displayName=v0;function w0(t,r=globalThis==null?void 0:globalThis.document){const s=Bt(t),n=f.useRef(!1),i=f.useRef(()=>{});return f.useEffect(()=>{const a=l=>{if(l.target&&!n.current){let c=function(){lj(b0,s,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(r.removeEventListener("click",i.current),i.current=c,r.addEventListener("click",i.current,{once:!0})):c()}else r.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{r.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(o),r.removeEventListener("pointerdown",a),r.removeEventListener("click",i.current)}},[r,s]),{onPointerDownCapture:()=>n.current=!0}}function N0(t,r=globalThis==null?void 0:globalThis.document){const s=Bt(t),n=f.useRef(!1);return f.useEffect(()=>{const i=a=>{a.target&&!n.current&&lj(y0,s,{originalEvent:a},{discrete:!1})};return r.addEventListener("focusin",i),()=>r.removeEventListener("focusin",i)},[r,s]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function Dx(){const t=new CustomEvent(cu);document.dispatchEvent(t)}function lj(t,r,s,{discrete:n}){const i=s.originalEvent.target,a=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:s});r&&i.addEventListener(t,r,{once:!0}),n?Eh(i,a):i.dispatchEvent(a)}var k0=Wl,M0=oj,Pr=globalThis!=null&&globalThis.document?f.useLayoutEffect:()=>{},C0="Portal",Gh=f.forwardRef((t,r)=>{var l;const{container:s,...n}=t,[i,a]=f.useState(!1);Pr(()=>a(!0),[]);const o=s||i&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?rj.createPortal(e.jsx(he.div,{...n,ref:r}),o):null});Gh.displayName=C0;function S0(t,r){return f.useReducer((s,n)=>r[s][n]??s,t)}var Qr=t=>{const{present:r,children:s}=t,n=T0(r),i=typeof s=="function"?s({present:n.isPresent}):f.Children.only(s),a=be(n.ref,P0(i));return typeof s=="function"||n.isPresent?f.cloneElement(i,{ref:a}):null};Qr.displayName="Presence";function T0(t){const[r,s]=f.useState(),n=f.useRef(null),i=f.useRef(t),a=f.useRef("none"),o=t?"mounted":"unmounted",[l,c]=S0(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return f.useEffect(()=>{const d=fo(n.current);a.current=l==="mounted"?d:"none"},[l]),Pr(()=>{const d=n.current,j=i.current;if(j!==t){const b=a.current,g=fo(d);t?c("MOUNT"):g==="none"||(d==null?void 0:d.display)==="none"?c("UNMOUNT"):c(j&&b!==g?"ANIMATION_OUT":"UNMOUNT"),i.current=t}},[t,c]),Pr(()=>{if(r){let d;const j=r.ownerDocument.defaultView??window,m=g=>{const h=fo(n.current).includes(g.animationName);if(g.target===r&&h&&(c("ANIMATION_END"),!i.current)){const v=r.style.animationFillMode;r.style.animationFillMode="forwards",d=j.setTimeout(()=>{r.style.animationFillMode==="forwards"&&(r.style.animationFillMode=v)})}},b=g=>{g.target===r&&(a.current=fo(n.current))};return r.addEventListener("animationstart",b),r.addEventListener("animationcancel",m),r.addEventListener("animationend",m),()=>{j.clearTimeout(d),r.removeEventListener("animationstart",b),r.removeEventListener("animationcancel",m),r.removeEventListener("animationend",m)}}else c("ANIMATION_END")},[r,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:f.useCallback(d=>{n.current=d?getComputedStyle(d):null,s(d)},[])}}function fo(t){return(t==null?void 0:t.animationName)||"none"}function P0(t){var n,i;let r=(n=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:n.get,s=r&&"isReactWarning"in r&&r.isReactWarning;return s?t.ref:(r=(i=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:i.get,s=r&&"isReactWarning"in r&&r.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var E0=Ou[" useInsertionEffect ".trim().toString()]||Pr;function Xr({prop:t,defaultProp:r,onChange:s=()=>{},caller:n}){const[i,a,o]=G0({defaultProp:r,onChange:s}),l=t!==void 0,c=l?t:i;{const j=f.useRef(t!==void 0);f.useEffect(()=>{const m=j.current;m!==l&&console.warn(`${n} is changing from ${m?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),j.current=l},[l,n])}const d=f.useCallback(j=>{var m;if(l){const b=B0(j)?j(t):j;b!==t&&((m=o.current)==null||m.call(o,b))}else a(j)},[l,t,a,o]);return[c,d]}function G0({defaultProp:t,onChange:r}){const[s,n]=f.useState(t),i=f.useRef(s),a=f.useRef(r);return E0(()=>{a.current=r},[r]),f.useEffect(()=>{var o;i.current!==s&&((o=a.current)==null||o.call(a,s),i.current=s)},[s,i]),[s,n,a]}function B0(t){return typeof t=="function"}var A0=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),R0="VisuallyHidden",$l=f.forwardRef((t,r)=>e.jsx(he.span,{...t,ref:r,style:{...A0,...t.style}}));$l.displayName=R0;var D0=$l,Bh="ToastProvider",[Ah,I0,F0]=za("Toast"),[cj,gE]=Wt("Toast",[F0]),[L0,Vl]=cj(Bh),dj=t=>{const{__scopeToast:r,label:s="Notification",duration:n=5e3,swipeDirection:i="right",swipeThreshold:a=50,children:o}=t,[l,c]=f.useState(null),[d,j]=f.useState(0),m=f.useRef(!1),b=f.useRef(!1);return s.trim()||console.error(`Invalid prop \`label\` supplied to \`${Bh}\`. Expected non-empty \`string\`.`),e.jsx(Ah.Provider,{scope:r,children:e.jsx(L0,{scope:r,label:s,duration:n,swipeDirection:i,swipeThreshold:a,toastCount:d,viewport:l,onViewportChange:c,onToastAdd:f.useCallback(()=>j(g=>g+1),[]),onToastRemove:f.useCallback(()=>j(g=>g-1),[]),isFocusedToastEscapeKeyDownRef:m,isClosePausedRef:b,children:o})})};dj.displayName=Bh;var uj="ToastViewport",O0=["F8"],du="toast.viewportPause",uu="toast.viewportResume",hj=f.forwardRef((t,r)=>{const{__scopeToast:s,hotkey:n=O0,label:i="Notifications ({hotkey})",...a}=t,o=Vl(uj,s),l=I0(s),c=f.useRef(null),d=f.useRef(null),j=f.useRef(null),m=f.useRef(null),b=be(r,m,o.onViewportChange),g=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),y=o.toastCount>0;f.useEffect(()=>{const v=x=>{var w;n.length!==0&&n.every(N=>x[N]||x.code===N)&&((w=m.current)==null||w.focus())};return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[n]),f.useEffect(()=>{const v=c.current,x=m.current;if(y&&v&&x){const u=()=>{if(!o.isClosePausedRef.current){const M=new CustomEvent(du);x.dispatchEvent(M),o.isClosePausedRef.current=!0}},w=()=>{if(o.isClosePausedRef.current){const M=new CustomEvent(uu);x.dispatchEvent(M),o.isClosePausedRef.current=!1}},N=M=>{!v.contains(M.relatedTarget)&&w()},k=()=>{v.contains(document.activeElement)||w()};return v.addEventListener("focusin",u),v.addEventListener("focusout",N),v.addEventListener("pointermove",u),v.addEventListener("pointerleave",k),window.addEventListener("blur",u),window.addEventListener("focus",w),()=>{v.removeEventListener("focusin",u),v.removeEventListener("focusout",N),v.removeEventListener("pointermove",u),v.removeEventListener("pointerleave",k),window.removeEventListener("blur",u),window.removeEventListener("focus",w)}}},[y,o.isClosePausedRef]);const h=f.useCallback(({tabbingDirection:v})=>{const u=l().map(w=>{const N=w.ref.current,k=[N,...J0(N)];return v==="forwards"?k:k.reverse()});return(v==="forwards"?u.reverse():u).flat()},[l]);return f.useEffect(()=>{const v=m.current;if(v){const x=u=>{var k,M,C;const w=u.altKey||u.ctrlKey||u.metaKey;if(u.key==="Tab"&&!w){const P=document.activeElement,R=u.shiftKey;if(u.target===v&&R){(k=d.current)==null||k.focus();return}const z=h({tabbingDirection:R?"backwards":"forwards"}),X=z.findIndex(q=>q===P);Jc(z.slice(X+1))?u.preventDefault():R?(M=d.current)==null||M.focus():(C=j.current)==null||C.focus()}};return v.addEventListener("keydown",x),()=>v.removeEventListener("keydown",x)}},[l,h]),e.jsxs(M0,{ref:c,role:"region","aria-label":i.replace("{hotkey}",g),tabIndex:-1,style:{pointerEvents:y?void 0:"none"},children:[y&&e.jsx(hu,{ref:d,onFocusFromOutsideViewport:()=>{const v=h({tabbingDirection:"forwards"});Jc(v)}}),e.jsx(Ah.Slot,{scope:s,children:e.jsx(he.ol,{tabIndex:-1,...a,ref:b})}),y&&e.jsx(hu,{ref:j,onFocusFromOutsideViewport:()=>{const v=h({tabbingDirection:"backwards"});Jc(v)}})]})});hj.displayName=uj;var mj="ToastFocusProxy",hu=f.forwardRef((t,r)=>{const{__scopeToast:s,onFocusFromOutsideViewport:n,...i}=t,a=Vl(mj,s);return e.jsx($l,{"aria-hidden":!0,tabIndex:0,...i,ref:r,style:{position:"fixed"},onFocus:o=>{var d;const l=o.relatedTarget;!((d=a.viewport)!=null&&d.contains(l))&&n()}})});hu.displayName=mj;var Ha="Toast",z0="toast.swipeStart",H0="toast.swipeMove",q0="toast.swipeCancel",_0="toast.swipeEnd",xj=f.forwardRef((t,r)=>{const{forceMount:s,open:n,defaultOpen:i,onOpenChange:a,...o}=t,[l,c]=Xr({prop:n,defaultProp:i??!0,onChange:a,caller:Ha});return e.jsx(Qr,{present:s||l,children:e.jsx($0,{open:l,...o,ref:r,onClose:()=>c(!1),onPause:Bt(t.onPause),onResume:Bt(t.onResume),onSwipeStart:V(t.onSwipeStart,d=>{d.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:V(t.onSwipeMove,d=>{const{x:j,y:m}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","move"),d.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${j}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${m}px`)}),onSwipeCancel:V(t.onSwipeCancel,d=>{d.currentTarget.setAttribute("data-swipe","cancel"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:V(t.onSwipeEnd,d=>{const{x:j,y:m}=d.detail.delta;d.currentTarget.setAttribute("data-swipe","end"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),d.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),d.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${j}px`),d.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${m}px`),c(!1)})})})});xj.displayName=Ha;var[U0,W0]=cj(Ha,{onClose(){}}),$0=f.forwardRef((t,r)=>{const{__scopeToast:s,type:n="foreground",duration:i,open:a,onClose:o,onEscapeKeyDown:l,onPause:c,onResume:d,onSwipeStart:j,onSwipeMove:m,onSwipeCancel:b,onSwipeEnd:g,...y}=t,h=Vl(Ha,s),[v,x]=f.useState(null),u=be(r,q=>x(q)),w=f.useRef(null),N=f.useRef(null),k=i||h.duration,M=f.useRef(0),C=f.useRef(k),P=f.useRef(0),{onToastAdd:R,onToastRemove:B}=h,I=Bt(()=>{var ne;(v==null?void 0:v.contains(document.activeElement))&&((ne=h.viewport)==null||ne.focus()),o()}),z=f.useCallback(q=>{!q||q===1/0||(window.clearTimeout(P.current),M.current=new Date().getTime(),P.current=window.setTimeout(I,q))},[I]);f.useEffect(()=>{const q=h.viewport;if(q){const ne=()=>{z(C.current),d==null||d()},Y=()=>{const re=new Date().getTime()-M.current;C.current=C.current-re,window.clearTimeout(P.current),c==null||c()};return q.addEventListener(du,Y),q.addEventListener(uu,ne),()=>{q.removeEventListener(du,Y),q.removeEventListener(uu,ne)}}},[h.viewport,k,c,d,z]),f.useEffect(()=>{a&&!h.isClosePausedRef.current&&z(k)},[a,k,h.isClosePausedRef,z]),f.useEffect(()=>(R(),()=>B()),[R,B]);const X=f.useMemo(()=>v?vj(v):null,[v]);return h.viewport?e.jsxs(e.Fragment,{children:[X&&e.jsx(V0,{__scopeToast:s,role:"status","aria-live":n==="foreground"?"assertive":"polite","aria-atomic":!0,children:X}),e.jsx(U0,{scope:s,onClose:I,children:Oa.createPortal(e.jsx(Ah.ItemSlot,{scope:s,children:e.jsx(k0,{asChild:!0,onEscapeKeyDown:V(l,()=>{h.isFocusedToastEscapeKeyDownRef.current||I(),h.isFocusedToastEscapeKeyDownRef.current=!1}),children:e.jsx(he.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":a?"open":"closed","data-swipe-direction":h.swipeDirection,...y,ref:u,style:{userSelect:"none",touchAction:"none",...t.style},onKeyDown:V(t.onKeyDown,q=>{q.key==="Escape"&&(l==null||l(q.nativeEvent),q.nativeEvent.defaultPrevented||(h.isFocusedToastEscapeKeyDownRef.current=!0,I()))}),onPointerDown:V(t.onPointerDown,q=>{q.button===0&&(w.current={x:q.clientX,y:q.clientY})}),onPointerMove:V(t.onPointerMove,q=>{if(!w.current)return;const ne=q.clientX-w.current.x,Y=q.clientY-w.current.y,re=!!N.current,E=["left","right"].includes(h.swipeDirection),T=["left","up"].includes(h.swipeDirection)?Math.min:Math.max,H=E?T(0,ne):0,J=E?0:T(0,Y),K=q.pointerType==="touch"?10:2,le={x:H,y:J},ue={originalEvent:q,delta:le};re?(N.current=le,po(H0,m,ue,{discrete:!1})):Ix(le,h.swipeDirection,K)?(N.current=le,po(z0,j,ue,{discrete:!1}),q.target.setPointerCapture(q.pointerId)):(Math.abs(ne)>K||Math.abs(Y)>K)&&(w.current=null)}),onPointerUp:V(t.onPointerUp,q=>{const ne=N.current,Y=q.target;if(Y.hasPointerCapture(q.pointerId)&&Y.releasePointerCapture(q.pointerId),N.current=null,w.current=null,ne){const re=q.currentTarget,E={originalEvent:q,delta:ne};Ix(ne,h.swipeDirection,h.swipeThreshold)?po(_0,g,E,{discrete:!0}):po(q0,b,E,{discrete:!0}),re.addEventListener("click",T=>T.preventDefault(),{once:!0})}})})})}),h.viewport)})]}):null}),V0=t=>{const{__scopeToast:r,children:s,...n}=t,i=Vl(Ha,r),[a,o]=f.useState(!1),[l,c]=f.useState(!1);return Q0(()=>o(!0)),f.useEffect(()=>{const d=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(d)},[]),l?null:e.jsx(Gh,{asChild:!0,children:e.jsx($l,{...n,children:a&&e.jsxs(e.Fragment,{children:[i.label," ",s]})})})},Y0="ToastTitle",gj=f.forwardRef((t,r)=>{const{__scopeToast:s,...n}=t;return e.jsx(he.div,{...n,ref:r})});gj.displayName=Y0;var K0="ToastDescription",fj=f.forwardRef((t,r)=>{const{__scopeToast:s,...n}=t;return e.jsx(he.div,{...n,ref:r})});fj.displayName=K0;var pj="ToastAction",jj=f.forwardRef((t,r)=>{const{altText:s,...n}=t;return s.trim()?e.jsx(yj,{altText:s,asChild:!0,children:e.jsx(Rh,{...n,ref:r})}):(console.error(`Invalid prop \`altText\` supplied to \`${pj}\`. Expected non-empty \`string\`.`),null)});jj.displayName=pj;var bj="ToastClose",Rh=f.forwardRef((t,r)=>{const{__scopeToast:s,...n}=t,i=W0(bj,s);return e.jsx(yj,{asChild:!0,children:e.jsx(he.button,{type:"button",...n,ref:r,onClick:V(t.onClick,i.onClose)})})});Rh.displayName=bj;var yj=f.forwardRef((t,r)=>{const{__scopeToast:s,altText:n,...i}=t;return e.jsx(he.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":n||void 0,...i,ref:r})});function vj(t){const r=[];return Array.from(t.childNodes).forEach(n=>{if(n.nodeType===n.TEXT_NODE&&n.textContent&&r.push(n.textContent),X0(n)){const i=n.ariaHidden||n.hidden||n.style.display==="none",a=n.dataset.radixToastAnnounceExclude==="";if(!i)if(a){const o=n.dataset.radixToastAnnounceAlt;o&&r.push(o)}else r.push(...vj(n))}}),r}function po(t,r,s,{discrete:n}){const i=s.originalEvent.currentTarget,a=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:s});r&&i.addEventListener(t,r,{once:!0}),n?Eh(i,a):i.dispatchEvent(a)}var Ix=(t,r,s=0)=>{const n=Math.abs(t.x),i=Math.abs(t.y),a=n>i;return r==="left"||r==="right"?a&&n>s:!a&&i>s};function Q0(t=()=>{}){const r=Bt(t);Pr(()=>{let s=0,n=0;return s=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(r)),()=>{window.cancelAnimationFrame(s),window.cancelAnimationFrame(n)}},[r])}function X0(t){return t.nodeType===t.ELEMENT_NODE}function J0(t){const r=[],s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)r.push(s.currentNode);return r}function Jc(t){const r=document.activeElement;return t.some(s=>s===r?!0:(s.focus(),document.activeElement!==r))}var Z0=dj,wj=hj,Nj=xj,kj=gj,Mj=fj,Cj=jj,Sj=Rh;function Tj(t){var r,s,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(r=0;r<i;r++)t[r]&&(s=Tj(t[r]))&&(n&&(n+=" "),n+=s)}else for(s in t)t[s]&&(n&&(n+=" "),n+=s);return n}function Pj(){for(var t,r,s=0,n="",i=arguments.length;s<i;s++)(t=arguments[s])&&(r=Tj(t))&&(n&&(n+=" "),n+=r);return n}const Fx=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,Lx=Pj,Yl=(t,r)=>s=>{var n;if((r==null?void 0:r.variants)==null)return Lx(t,s==null?void 0:s.class,s==null?void 0:s.className);const{variants:i,defaultVariants:a}=r,o=Object.keys(i).map(d=>{const j=s==null?void 0:s[d],m=a==null?void 0:a[d];if(j===null)return null;const b=Fx(j)||Fx(m);return i[d][b]}),l=s&&Object.entries(s).reduce((d,j)=>{let[m,b]=j;return b===void 0||(d[m]=b),d},{}),c=r==null||(n=r.compoundVariants)===null||n===void 0?void 0:n.reduce((d,j)=>{let{class:m,className:b,...g}=j;return Object.entries(g).every(y=>{let[h,v]=y;return Array.isArray(v)?v.includes({...a,...l}[h]):{...a,...l}[h]===v})?[...d,m,b]:d},[]);return Lx(t,o,c,s==null?void 0:s.class,s==null?void 0:s.className)};/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const e2=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ej=(...t)=>t.filter((r,s,n)=>!!r&&r.trim()!==""&&n.indexOf(r)===s).join(" ").trim();/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/var t2={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const r2=f.forwardRef(({color:t="currentColor",size:r=24,strokeWidth:s=2,absoluteStrokeWidth:n,className:i="",children:a,iconNode:o,...l},c)=>f.createElement("svg",{ref:c,...t2,width:r,height:r,stroke:t,strokeWidth:n?Number(s)*24/Number(r):s,className:Ej("lucide",i),...l},[...o.map(([d,j])=>f.createElement(d,j)),...Array.isArray(a)?a:[a]]));/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const U=(t,r)=>{const s=f.forwardRef(({className:n,...i},a)=>f.createElement(r2,{ref:a,iconNode:r,className:Ej(`lucide-${e2(t)}`,n),...i}));return s.displayName=`${t}`,s};/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const s2=U("Anchor",[["path",{d:"M12 22V8",key:"qkxhtm"}],["path",{d:"M5 12H2a10 10 0 0 0 20 0h-3",key:"1hv3nh"}],["circle",{cx:"12",cy:"5",r:"3",key:"rqqgnr"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Kl=U("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Q=U("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const us=U("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const n2=U("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ye=U("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Gj=U("Castle",[["path",{d:"M22 20v-9H2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2Z",key:"109fe4"}],["path",{d:"M18 11V4H6v7",key:"mon5oj"}],["path",{d:"M15 22v-4a3 3 0 0 0-3-3a3 3 0 0 0-3 3v4",key:"1k4jtn"}],["path",{d:"M22 11V9",key:"3zbp94"}],["path",{d:"M2 11V9",key:"1x5rnq"}],["path",{d:"M6 4V2",key:"1rsq15"}],["path",{d:"M18 4V2",key:"1jsdo1"}],["path",{d:"M10 4V2",key:"75d9ly"}],["path",{d:"M14 4V2",key:"8nj3z6"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Bj=U("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const mu=U("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Aj=U("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const fi=U("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const mr=U("CircleArrowUp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ht=U("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const i2=U("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const jo=U("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const we=U("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ve=U("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const a2=U("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const o2=U("Cookie",[["path",{d:"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5",key:"laymnq"}],["path",{d:"M8.5 8.5v.01",key:"ue8clq"}],["path",{d:"M16 15.5v.01",key:"14dtrp"}],["path",{d:"M12 12v.01",key:"u5ubse"}],["path",{d:"M11 17v.01",key:"1hyl5a"}],["path",{d:"M7 14v.01",key:"uct60s"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Es=U("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const l2=U("Crown",[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const $t=U("Diamond",[["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z",key:"1f1r0c"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const _e=U("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const c2=U("Droplets",[["path",{d:"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z",key:"1ptgy4"}],["path",{d:"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97",key:"1sl1rz"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const d2=U("Facebook",[["path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",key:"1jg4f8"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Hi=U("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const u2=U("Fish",[["path",{d:"M6.5 12c.94-3.46 4.94-6 8.5-6 3.56 0 6.06 2.54 7 6-.94 3.47-3.44 6-7 6s-7.56-2.53-8.5-6Z",key:"15baut"}],["path",{d:"M18 12v.5",key:"18hhni"}],["path",{d:"M16 17.93a9.77 9.77 0 0 1 0-11.86",key:"16dt7o"}],["path",{d:"M7 10.67C7 8 5.58 5.97 2.73 5.5c-1 1.5-1 5 .23 6.5-1.24 1.5-1.24 5-.23 6.5C5.58 18.03 7 16 7 13.33",key:"l9di03"}],["path",{d:"M10.46 7.26C10.2 5.88 9.17 4.24 8 3h5.8a2 2 0 0 1 1.98 1.67l.23 1.4",key:"1kjonw"}],["path",{d:"m16.01 17.93-.23 1.4A2 2 0 0 1 13.8 21H9.5a5.96 5.96 0 0 0 1.49-3.98",key:"1zlm23"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const xn=U("Gift",[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Dt=U("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const h2=U("GraduationCap",[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Rj=U("Grid3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const pi=U("Heart",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Vt=U("Hexagon",[["path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",key:"yt0hxn"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ql=U("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const m2=U("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const x2=U("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const g2=U("Languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Dj=U("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const qe=U("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const f2=U("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const p2=U("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const kt=U("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const j2=U("Loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const b2=U("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Xl=U("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const y2=U("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const v2=U("Mountain",[["path",{d:"m8 3 4 8 5-5 5 15H2L8 3z",key:"otkl63"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Lr=U("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Oe=U("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Jr=U("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const w2=U("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const N2=U("Shapes",[["path",{d:"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",key:"1bo67w"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}],["circle",{cx:"17.5",cy:"17.5",r:"3.5",key:"w3z12y"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const k2=U("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const M2=U("Shell",[["path",{d:"M14 11a2 2 0 1 1-4 0 4 4 0 0 1 8 0 6 6 0 0 1-12 0 8 8 0 0 1 16 0 10 10 0 1 1-20 0 11.93 11.93 0 0 1 2.42-7.22 2 2 0 1 1 3.16 2.44",key:"1cn552"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Jl=U("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ij=U("Shuffle",[["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22",key:"1ailkh"}],["path",{d:"M2 6h1.972a4 4 0 0 1 3.6 2.2",key:"km57vx"}],["path",{d:"M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45",key:"os18l9"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Fj=U("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const St=U("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const C2=U("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const S2=U("Sword",[["polyline",{points:"14.5 17.5 3 6 3 3 6 3 17.5 14.5",key:"1hfsw2"}],["line",{x1:"13",x2:"19",y1:"19",y2:"13",key:"1vrmhu"}],["line",{x1:"16",x2:"20",y1:"16",y2:"20",key:"1bron3"}],["line",{x1:"19",x2:"21",y1:"21",y2:"19",key:"13pww6"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Lj=U("Swords",[["polyline",{points:"14.5 17.5 3 6 3 3 6 3 17.5 14.5",key:"1hfsw2"}],["line",{x1:"13",x2:"19",y1:"19",y2:"13",key:"1vrmhu"}],["line",{x1:"16",x2:"20",y1:"16",y2:"20",key:"1bron3"}],["line",{x1:"19",x2:"21",y1:"21",y2:"19",key:"13pww6"}],["polyline",{points:"14.5 6.5 18 3 21 3 21 6 17.5 9.5",key:"hbey2j"}],["line",{x1:"5",x2:"9",y1:"14",y2:"18",key:"1hf58s"}],["line",{x1:"7",x2:"4",y1:"17",y2:"20",key:"pidxm4"}],["line",{x1:"3",x2:"5",y1:"19",y2:"21",key:"1pehsh"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const gn=U("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Oj=U("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Hr=U("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Yt=U("Triangle",[["path",{d:"M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"14u9p9"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const T2=U("Trophy",[["path",{d:"M6 9H4.5a2.5 2.5 0 0 1 0-5H6",key:"17hqa7"}],["path",{d:"M18 9h1.5a2.5 2.5 0 0 0 0-5H18",key:"lmptdp"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22",key:"1nw9bq"}],["path",{d:"M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22",key:"1np0yb"}],["path",{d:"M18 2H6v7a6 6 0 0 0 12 0V2Z",key:"u46fv3"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const P2=U("Twitter",[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Dh=U("Type",[["polyline",{points:"4 7 4 4 20 4 20 7",key:"1nosan"}],["line",{x1:"9",x2:"15",y1:"20",y2:"20",key:"swin9y"}],["line",{x1:"12",x2:"12",y1:"4",y2:"20",key:"1tx1rr"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ot=U("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const E2=U("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const er=U("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const zj=U("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
* @license lucide-react v0.462.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Sr=U("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Ih="-",G2=t=>{const r=A2(t),{conflictingClassGroups:s,conflictingClassGroupModifiers:n}=t;return{getClassGroupId:o=>{const l=o.split(Ih);return l[0]===""&&l.length!==1&&l.shift(),Hj(l,r)||B2(o)},getConflictingClassGroupIds:(o,l)=>{const c=s[o]||[];return l&&n[o]?[...c,...n[o]]:c}}},Hj=(t,r)=>{var o;if(t.length===0)return r.classGroupId;const s=t[0],n=r.nextPart.get(s),i=n?Hj(t.slice(1),n):void 0;if(i)return i;if(r.validators.length===0)return;const a=t.join(Ih);return(o=r.validators.find(({validator:l})=>l(a)))==null?void 0:o.classGroupId},Ox=/^\[(.+)\]$/,B2=t=>{if(Ox.test(t)){const r=Ox.exec(t)[1],s=r==null?void 0:r.substring(0,r.indexOf(":"));if(s)return"arbitrary.."+s}},A2=t=>{const{theme:r,prefix:s}=t,n={nextPart:new Map,validators:[]};return D2(Object.entries(t.classGroups),s).forEach(([a,o])=>{xu(o,n,a,r)}),n},xu=(t,r,s,n)=>{t.forEach(i=>{if(typeof i=="string"){const a=i===""?r:zx(r,i);a.classGroupId=s;return}if(typeof i=="function"){if(R2(i)){xu(i(n),r,s,n);return}r.validators.push({validator:i,classGroupId:s});return}Object.entries(i).forEach(([a,o])=>{xu(o,zx(r,a),s,n)})})},zx=(t,r)=>{let s=t;return r.split(Ih).forEach(n=>{s.nextPart.has(n)||s.nextPart.set(n,{nextPart:new Map,validators:[]}),s=s.nextPart.get(n)}),s},R2=t=>t.isThemeGetter,D2=(t,r)=>r?t.map(([s,n])=>{const i=n.map(a=>typeof a=="string"?r+a:typeof a=="object"?Object.fromEntries(Object.entries(a).map(([o,l])=>[r+o,l])):a);return[s,i]}):t,I2=t=>{if(t<1)return{get:()=>{},set:()=>{}};let r=0,s=new Map,n=new Map;const i=(a,o)=>{s.set(a,o),r++,r>t&&(r=0,n=s,s=new Map)};return{get(a){let o=s.get(a);if(o!==void 0)return o;if((o=n.get(a))!==void 0)return i(a,o),o},set(a,o){s.has(a)?s.set(a,o):i(a,o)}}},qj="!",F2=t=>{const{separator:r,experimentalParseClassName:s}=t,n=r.length===1,i=r[0],a=r.length,o=l=>{const c=[];let d=0,j=0,m;for(let v=0;v<l.length;v++){let x=l[v];if(d===0){if(x===i&&(n||l.slice(v,v+a)===r)){c.push(l.slice(j,v)),j=v+a;continue}if(x==="/"){m=v;continue}}x==="["?d++:x==="]"&&d--}const b=c.length===0?l:l.substring(j),g=b.startsWith(qj),y=g?b.substring(1):b,h=m&&m>j?m-j:void 0;return{modifiers:c,hasImportantModifier:g,baseClassName:y,maybePostfixModifierPosition:h}};return s?l=>s({className:l,parseClassName:o}):o},L2=t=>{if(t.length<=1)return t;const r=[];let s=[];return t.forEach(n=>{n[0]==="["?(r.push(...s.sort(),n),s=[]):s.push(n)}),r.push(...s.sort()),r},O2=t=>({cache:I2(t.cacheSize),parseClassName:F2(t),...G2(t)}),z2=/\s+/,H2=(t,r)=>{const{parseClassName:s,getClassGroupId:n,getConflictingClassGroupIds:i}=r,a=[],o=t.trim().split(z2);let l="";for(let c=o.length-1;c>=0;c-=1){const d=o[c],{modifiers:j,hasImportantModifier:m,baseClassName:b,maybePostfixModifierPosition:g}=s(d);let y=!!g,h=n(y?b.substring(0,g):b);if(!h){if(!y){l=d+(l.length>0?" "+l:l);continue}if(h=n(b),!h){l=d+(l.length>0?" "+l:l);continue}y=!1}const v=L2(j).join(":"),x=m?v+qj:v,u=x+h;if(a.includes(u))continue;a.push(u);const w=i(h,y);for(let N=0;N<w.length;++N){const k=w[N];a.push(x+k)}l=d+(l.length>0?" "+l:l)}return l};function q2(){let t=0,r,s,n="";for(;t<arguments.length;)(r=arguments[t++])&&(s=_j(r))&&(n&&(n+=" "),n+=s);return n}const _j=t=>{if(typeof t=="string")return t;let r,s="";for(let n=0;n<t.length;n++)t[n]&&(r=_j(t[n]))&&(s&&(s+=" "),s+=r);return s};function _2(t,...r){let s,n,i,a=o;function o(c){const d=r.reduce((j,m)=>m(j),t());return s=O2(d),n=s.cache.get,i=s.cache.set,a=l,l(c)}function l(c){const d=n(c);if(d)return d;const j=H2(c,s);return i(c,j),j}return function(){return a(q2.apply(null,arguments))}}const Me=t=>{const r=s=>s[t]||[];return r.isThemeGetter=!0,r},Uj=/^\[(?:([a-z-]+):)?(.+)\]$/i,U2=/^\d+\/\d+$/,W2=new Set(["px","full","screen"]),$2=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,V2=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Y2=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,K2=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Q2=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ar=t=>Xn(t)||W2.has(t)||U2.test(t),is=t=>Mi(t,"length",n1),Xn=t=>!!t&&!Number.isNaN(Number(t)),Zc=t=>Mi(t,"number",Xn),qi=t=>!!t&&Number.isInteger(Number(t)),X2=t=>t.endsWith("%")&&Xn(t.slice(0,-1)),ce=t=>Uj.test(t),as=t=>$2.test(t),J2=new Set(["length","size","percentage"]),Z2=t=>Mi(t,J2,Wj),e1=t=>Mi(t,"position",Wj),t1=new Set(["image","url"]),r1=t=>Mi(t,t1,a1),s1=t=>Mi(t,"",i1),_i=()=>!0,Mi=(t,r,s)=>{const n=Uj.exec(t);return n?n[1]?typeof r=="string"?n[1]===r:r.has(n[1]):s(n[2]):!1},n1=t=>V2.test(t)&&!Y2.test(t),Wj=()=>!1,i1=t=>K2.test(t),a1=t=>Q2.test(t),o1=()=>{const t=Me("colors"),r=Me("spacing"),s=Me("blur"),n=Me("brightness"),i=Me("borderColor"),a=Me("borderRadius"),o=Me("borderSpacing"),l=Me("borderWidth"),c=Me("contrast"),d=Me("grayscale"),j=Me("hueRotate"),m=Me("invert"),b=Me("gap"),g=Me("gradientColorStops"),y=Me("gradientColorStopPositions"),h=Me("inset"),v=Me("margin"),x=Me("opacity"),u=Me("padding"),w=Me("saturate"),N=Me("scale"),k=Me("sepia"),M=Me("skew"),C=Me("space"),P=Me("translate"),R=()=>["auto","contain","none"],B=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto",ce,r],z=()=>[ce,r],X=()=>["",Ar,is],q=()=>["auto",Xn,ce],ne=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Y=()=>["solid","dashed","dotted","double","none"],re=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],E=()=>["start","end","center","between","around","evenly","stretch"],T=()=>["","0",ce],H=()=>["auto","avoid","all","avoid-page","page","left","right","column"],J=()=>[Xn,ce];return{cacheSize:500,separator:":",theme:{colors:[_i],spacing:[Ar,is],blur:["none","",as,ce],brightness:J(),borderColor:[t],borderRadius:["none","","full",as,ce],borderSpacing:z(),borderWidth:X(),contrast:J(),grayscale:T(),hueRotate:J(),invert:T(),gap:z(),gradientColorStops:[t],gradientColorStopPositions:[X2,is],inset:I(),margin:I(),opacity:J(),padding:z(),saturate:J(),scale:J(),sepia:T(),skew:J(),space:z(),translate:z()},classGroups:{aspect:[{aspect:["auto","square","video",ce]}],container:["container"],columns:[{columns:[as]}],"break-after":[{"break-after":H()}],"break-before":[{"break-before":H()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ne(),ce]}],overflow:[{overflow:B()}],"overflow-x":[{"overflow-x":B()}],"overflow-y":[{"overflow-y":B()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",qi,ce]}],basis:[{basis:I()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ce]}],grow:[{grow:T()}],shrink:[{shrink:T()}],order:[{order:["first","last","none",qi,ce]}],"grid-cols":[{"grid-cols":[_i]}],"col-start-end":[{col:["auto",{span:["full",qi,ce]},ce]}],"col-start":[{"col-start":q()}],"col-end":[{"col-end":q()}],"grid-rows":[{"grid-rows":[_i]}],"row-start-end":[{row:["auto",{span:[qi,ce]},ce]}],"row-start":[{"row-start":q()}],"row-end":[{"row-end":q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ce]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ce]}],gap:[{gap:[b]}],"gap-x":[{"gap-x":[b]}],"gap-y":[{"gap-y":[b]}],"justify-content":[{justify:["normal",...E()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...E(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...E(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[u]}],px:[{px:[u]}],py:[{py:[u]}],ps:[{ps:[u]}],pe:[{pe:[u]}],pt:[{pt:[u]}],pr:[{pr:[u]}],pb:[{pb:[u]}],pl:[{pl:[u]}],m:[{m:[v]}],mx:[{mx:[v]}],my:[{my:[v]}],ms:[{ms:[v]}],me:[{me:[v]}],mt:[{mt:[v]}],mr:[{mr:[v]}],mb:[{mb:[v]}],ml:[{ml:[v]}],"space-x":[{"space-x":[C]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[C]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ce,r]}],"min-w":[{"min-w":[ce,r,"min","max","fit"]}],"max-w":[{"max-w":[ce,r,"none","full","min","max","fit","prose",{screen:[as]},as]}],h:[{h:[ce,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ce,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ce,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ce,r,"auto","min","max","fit"]}],"font-size":[{text:["base",as,is]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Zc]}],"font-family":[{font:[_i]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",ce]}],"line-clamp":[{"line-clamp":["none",Xn,Zc]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Ar,ce]}],"list-image":[{"list-image":["none",ce]}],"list-style-type":[{list:["none","disc","decimal",ce]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[x]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[x]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Ar,is]}],"underline-offset":[{"underline-offset":["auto",Ar,ce]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:z()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ce]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[x]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ne(),e1]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Z2]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},r1]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[g]}],"gradient-via":[{via:[g]}],"gradient-to":[{to:[g]}],rounded:[{rounded:[a]}],"rounded-s":[{"rounded-s":[a]}],"rounded-e":[{"rounded-e":[a]}],"rounded-t":[{"rounded-t":[a]}],"rounded-r":[{"rounded-r":[a]}],"rounded-b":[{"rounded-b":[a]}],"rounded-l":[{"rounded-l":[a]}],"rounded-ss":[{"rounded-ss":[a]}],"rounded-se":[{"rounded-se":[a]}],"rounded-ee":[{"rounded-ee":[a]}],"rounded-es":[{"rounded-es":[a]}],"rounded-tl":[{"rounded-tl":[a]}],"rounded-tr":[{"rounded-tr":[a]}],"rounded-br":[{"rounded-br":[a]}],"rounded-bl":[{"rounded-bl":[a]}],"border-w":[{border:[l]}],"border-w-x":[{"border-x":[l]}],"border-w-y":[{"border-y":[l]}],"border-w-s":[{"border-s":[l]}],"border-w-e":[{"border-e":[l]}],"border-w-t":[{"border-t":[l]}],"border-w-r":[{"border-r":[l]}],"border-w-b":[{"border-b":[l]}],"border-w-l":[{"border-l":[l]}],"border-opacity":[{"border-opacity":[x]}],"border-style":[{border:[...Y(),"hidden"]}],"divide-x":[{"divide-x":[l]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[l]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[x]}],"divide-style":[{divide:Y()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...Y()]}],"outline-offset":[{"outline-offset":[Ar,ce]}],"outline-w":[{outline:[Ar,is]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:X()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[x]}],"ring-offset-w":[{"ring-offset":[Ar,is]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",as,s1]}],"shadow-color":[{shadow:[_i]}],opacity:[{opacity:[x]}],"mix-blend":[{"mix-blend":[...re(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":re()}],filter:[{filter:["","none"]}],blur:[{blur:[s]}],brightness:[{brightness:[n]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",as,ce]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[j]}],invert:[{invert:[m]}],saturate:[{saturate:[w]}],sepia:[{sepia:[k]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[s]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[j]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[x]}],"backdrop-saturate":[{"backdrop-saturate":[w]}],"backdrop-sepia":[{"backdrop-sepia":[k]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ce]}],duration:[{duration:J()}],ease:[{ease:["linear","in","out","in-out",ce]}],delay:[{delay:J()}],animate:[{animate:["none","spin","ping","pulse","bounce",ce]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[N]}],"scale-x":[{"scale-x":[N]}],"scale-y":[{"scale-y":[N]}],rotate:[{rotate:[qi,ce]}],"translate-x":[{"translate-x":[P]}],"translate-y":[{"translate-y":[P]}],"skew-x":[{"skew-x":[M]}],"skew-y":[{"skew-y":[M]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ce]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ce]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":z()}],"scroll-mx":[{"scroll-mx":z()}],"scroll-my":[{"scroll-my":z()}],"scroll-ms":[{"scroll-ms":z()}],"scroll-me":[{"scroll-me":z()}],"scroll-mt":[{"scroll-mt":z()}],"scroll-mr":[{"scroll-mr":z()}],"scroll-mb":[{"scroll-mb":z()}],"scroll-ml":[{"scroll-ml":z()}],"scroll-p":[{"scroll-p":z()}],"scroll-px":[{"scroll-px":z()}],"scroll-py":[{"scroll-py":z()}],"scroll-ps":[{"scroll-ps":z()}],"scroll-pe":[{"scroll-pe":z()}],"scroll-pt":[{"scroll-pt":z()}],"scroll-pr":[{"scroll-pr":z()}],"scroll-pb":[{"scroll-pb":z()}],"scroll-pl":[{"scroll-pl":z()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ce]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Ar,is,Zc]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},l1=_2(o1);function de(...t){return l1(Pj(t))}function ze(){return new Date().toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function ke(){return new Date().toISOString().split("T")[0]}const c1=Z0,$j=f.forwardRef(({className:t,...r},s)=>e.jsx(wj,{ref:s,className:de("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...r}));$j.displayName=wj.displayName;const d1=Yl("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Vj=f.forwardRef(({className:t,variant:r,...s},n)=>e.jsx(Nj,{ref:n,className:de(d1({variant:r}),t),...s}));Vj.displayName=Nj.displayName;const u1=f.forwardRef(({className:t,...r},s)=>e.jsx(Cj,{ref:s,className:de("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",t),...r}));u1.displayName=Cj.displayName;const Yj=f.forwardRef(({className:t,...r},s)=>e.jsx(Sj,{ref:s,className:de("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"",...r,children:e.jsx(zj,{className:"h-4 w-4"})}));Yj.displayName=Sj.displayName;const Kj=f.forwardRef(({className:t,...r},s)=>e.jsx(kj,{ref:s,className:de("text-sm font-semibold",t),...r}));Kj.displayName=kj.displayName;const Qj=f.forwardRef(({className:t,...r},s)=>e.jsx(Mj,{ref:s,className:de("text-sm opacity-90",t),...r}));Qj.displayName=Mj.displayName;function h1(){const{toasts:t}=ki();return e.jsxs(c1,{children:[t.map(function({id:r,title:s,description:n,action:i,...a}){return e.jsxs(Vj,{...a,children:[e.jsxs("div",{className:"grid gap-1",children:[s&&e.jsx(Kj,{children:s}),n&&e.jsx(Qj,{children:n})]}),i,e.jsx(Yj,{})]},r)}),e.jsx($j,{})]})}var Hx=["light","dark"],m1="(prefers-color-scheme: dark)",x1=f.createContext(void 0),g1={setTheme:t=>{},themes:[]},f1=()=>{var t;return(t=f.useContext(x1))!=null?t:g1};f.memo(({forcedTheme:t,storageKey:r,attribute:s,enableSystem:n,enableColorScheme:i,defaultTheme:a,value:o,attrs:l,nonce:c})=>{let d=a==="system",j=s==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${l.map(y=>`'${y}'`).join(",")})`};`:`var d=document.documentElement,n='${s}',s='setAttribute';`,m=i?Hx.includes(a)&&a?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${a}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",b=(y,h=!1,v=!0)=>{let x=o?o[y]:y,u=h?y+"|| ''":`'${x}'`,w="";return i&&v&&!h&&Hx.includes(y)&&(w+=`d.style.colorScheme = '${y}';`),s==="class"?h||x?w+=`c.add(${u})`:w+="null":x&&(w+=`d[s](n,${u})`),w},g=t?`!function(){${j}${b(t)}}()`:n?`!function(){try{${j}var e=localStorage.getItem('${r}');if('system'===e||(!e&&${d})){var t='${m1}',m=window.matchMedia(t);if(m.media!==t||m.matches){${b("dark")}}else{${b("light")}}}else if(e){${o?`var x=${JSON.stringify(o)};`:""}${b(o?"x[e]":"e",!0)}}${d?"":"else{"+b(a,!1,!1)+"}"}${m}}catch(e){}}()`:`!function(){try{${j}var e=localStorage.getItem('${r}');if(e){${o?`var x=${JSON.stringify(o)};`:""}${b(o?"x[e]":"e",!0)}}else{${b(a,!1,!1)};}${m}}catch(t){}}();`;return f.createElement("script",{nonce:c,dangerouslySetInnerHTML:{__html:g}})});var p1=t=>{switch(t){case"success":return y1;case"info":return w1;case"warning":return v1;case"error":return N1;default:return null}},j1=Array(12).fill(0),b1=({visible:t,className:r})=>D.createElement("div",{className:["sonner-loading-wrapper",r].filter(Boolean).join(" "),"data-visible":t},D.createElement("div",{className:"sonner-spinner"},j1.map((s,n)=>D.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),y1=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},D.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),v1=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},D.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),w1=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},D.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),N1=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},D.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),k1=D.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},D.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),D.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),M1=()=>{let[t,r]=D.useState(document.hidden);return D.useEffect(()=>{let s=()=>{r(document.hidden)};return document.addEventListener("visibilitychange",s),()=>window.removeEventListener("visibilitychange",s)},[]),t},gu=1,C1=class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let r=this.subscribers.indexOf(t);this.subscribers.splice(r,1)}),this.publish=t=>{this.subscribers.forEach(r=>r(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var r;let{message:s,...n}=t,i=typeof(t==null?void 0:t.id)=="number"||((r=t.id)==null?void 0:r.length)>0?t.id:gu++,a=this.toasts.find(l=>l.id===i),o=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(i)&&this.dismissedToasts.delete(i),a?this.toasts=this.toasts.map(l=>l.id===i?(this.publish({...l,...t,id:i,title:s}),{...l,...t,id:i,dismissible:o,title:s}):l):this.addToast({title:s,...n,dismissible:o,id:i}),i},this.dismiss=t=>(this.dismissedToasts.add(t),t||this.toasts.forEach(r=>{this.subscribers.forEach(s=>s({id:r.id,dismiss:!0}))}),this.subscribers.forEach(r=>r({id:t,dismiss:!0})),t),this.message=(t,r)=>this.create({...r,message:t}),this.error=(t,r)=>this.create({...r,message:t,type:"error"}),this.success=(t,r)=>this.create({...r,type:"success",message:t}),this.info=(t,r)=>this.create({...r,type:"info",message:t}),this.warning=(t,r)=>this.create({...r,type:"warning",message:t}),this.loading=(t,r)=>this.create({...r,type:"loading",message:t}),this.promise=(t,r)=>{if(!r)return;let s;r.loading!==void 0&&(s=this.create({...r,promise:t,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));let n=t instanceof Promise?t:t(),i=s!==void 0,a,o=n.then(async c=>{if(a=["resolve",c],D.isValidElement(c))i=!1,this.create({id:s,type:"default",message:c});else if(T1(c)&&!c.ok){i=!1;let d=typeof r.error=="function"?await r.error(`HTTP error! status: ${c.status}`):r.error,j=typeof r.description=="function"?await r.description(`HTTP error! status: ${c.status}`):r.description;this.create({id:s,type:"error",message:d,description:j})}else if(r.success!==void 0){i=!1;let d=typeof r.success=="function"?await r.success(c):r.success,j=typeof r.description=="function"?await r.description(c):r.description;this.create({id:s,type:"success",message:d,description:j})}}).catch(async c=>{if(a=["reject",c],r.error!==void 0){i=!1;let d=typeof r.error=="function"?await r.error(c):r.error,j=typeof r.description=="function"?await r.description(c):r.description;this.create({id:s,type:"error",message:d,description:j})}}).finally(()=>{var c;i&&(this.dismiss(s),s=void 0),(c=r.finally)==null||c.call(r)}),l=()=>new Promise((c,d)=>o.then(()=>a[0]==="reject"?d(a[1]):c(a[1])).catch(d));return typeof s!="string"&&typeof s!="number"?{unwrap:l}:Object.assign(s,{unwrap:l})},this.custom=(t,r)=>{let s=(r==null?void 0:r.id)||gu++;return this.create({jsx:t(s),id:s,...r}),s},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},jt=new C1,S1=(t,r)=>{let s=(r==null?void 0:r.id)||gu++;return jt.addToast({title:t,...r,id:s}),s},T1=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",P1=S1,E1=()=>jt.toasts,G1=()=>jt.getActiveToasts(),B1=Object.assign(P1,{success:jt.success,info:jt.info,warning:jt.warning,error:jt.error,custom:jt.custom,message:jt.message,promise:jt.promise,dismiss:jt.dismiss,loading:jt.loading},{getHistory:E1,getToasts:G1});function A1(t,{insertAt:r}={}){if(typeof document>"u")return;let s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",r==="top"&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}A1(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
`);function bo(t){return t.label!==void 0}var R1=3,D1="32px",I1="16px",qx=4e3,F1=356,L1=14,O1=20,z1=200;function Zt(...t){return t.filter(Boolean).join(" ")}function H1(t){let[r,s]=t.split("-"),n=[];return r&&n.push(r),s&&n.push(s),n}var q1=t=>{var r,s,n,i,a,o,l,c,d,j,m;let{invert:b,toast:g,unstyled:y,interacting:h,setHeights:v,visibleToasts:x,heights:u,index:w,toasts:N,expanded:k,removeToast:M,defaultRichColors:C,closeButton:P,style:R,cancelButtonStyle:B,actionButtonStyle:I,className:z="",descriptionClassName:X="",duration:q,position:ne,gap:Y,loadingIcon:re,expandByDefault:E,classNames:T,icons:H,closeButtonAriaLabel:J="Close toast",pauseWhenPageIsHidden:K}=t,[le,ue]=D.useState(null),[Ge,De]=D.useState(null),[me,Br]=D.useState(!1),[Ye,fr]=D.useState(!1),[Zr,Nn]=D.useState(!1),[es,Ya]=D.useState(!1),[bc,Ka]=D.useState(!1),[yc,Gi]=D.useState(0),[kn,fm]=D.useState(0),Bi=D.useRef(g.duration||q||qx),pm=D.useRef(null),_s=D.useRef(null),Mw=w===0,Cw=w+1<=x,It=g.type,Mn=g.dismissible!==!1,Sw=g.className||"",Tw=g.descriptionClassName||"",Qa=D.useMemo(()=>u.findIndex(ie=>ie.toastId===g.id)||0,[u,g.id]),Pw=D.useMemo(()=>{var ie;return(ie=g.closeButton)!=null?ie:P},[g.closeButton,P]),jm=D.useMemo(()=>g.duration||q||qx,[g.duration,q]),vc=D.useRef(0),Cn=D.useRef(0),bm=D.useRef(0),Sn=D.useRef(null),[Ew,Gw]=ne.split("-"),ym=D.useMemo(()=>u.reduce((ie,je,Pe)=>Pe>=Qa?ie:ie+je.height,0),[u,Qa]),vm=M1(),Bw=g.invert||b,wc=It==="loading";Cn.current=D.useMemo(()=>Qa*Y+ym,[Qa,ym]),D.useEffect(()=>{Bi.current=jm},[jm]),D.useEffect(()=>{Br(!0)},[]),D.useEffect(()=>{let ie=_s.current;if(ie){let je=ie.getBoundingClientRect().height;return fm(je),v(Pe=>[{toastId:g.id,height:je,position:g.position},...Pe]),()=>v(Pe=>Pe.filter(Kt=>Kt.toastId!==g.id))}},[v,g.id]),D.useLayoutEffect(()=>{if(!me)return;let ie=_s.current,je=ie.style.height;ie.style.height="auto";let Pe=ie.getBoundingClientRect().height;ie.style.height=je,fm(Pe),v(Kt=>Kt.find(Qt=>Qt.toastId===g.id)?Kt.map(Qt=>Qt.toastId===g.id?{...Qt,height:Pe}:Qt):[{toastId:g.id,height:Pe,position:g.position},...Kt])},[me,g.title,g.description,v,g.id]);let ts=D.useCallback(()=>{fr(!0),Gi(Cn.current),v(ie=>ie.filter(je=>je.toastId!==g.id)),setTimeout(()=>{M(g)},z1)},[g,M,v,Cn]);D.useEffect(()=>{if(g.promise&&It==="loading"||g.duration===1/0||g.type==="loading")return;let ie;return k||h||K&&vm?(()=>{if(bm.current<vc.current){let je=new Date().getTime()-vc.current;Bi.current=Bi.current-je}bm.current=new Date().getTime()})():Bi.current!==1/0&&(vc.current=new Date().getTime(),ie=setTimeout(()=>{var je;(je=g.onAutoClose)==null||je.call(g,g),ts()},Bi.current)),()=>clearTimeout(ie)},[k,h,g,It,K,vm,ts]),D.useEffect(()=>{g.delete&&ts()},[ts,g.delete]);function Aw(){var ie,je,Pe;return H!=null&&H.loading?D.createElement("div",{className:Zt(T==null?void 0:T.loader,(ie=g==null?void 0:g.classNames)==null?void 0:ie.loader,"sonner-loader"),"data-visible":It==="loading"},H.loading):re?D.createElement("div",{className:Zt(T==null?void 0:T.loader,(je=g==null?void 0:g.classNames)==null?void 0:je.loader,"sonner-loader"),"data-visible":It==="loading"},re):D.createElement(b1,{className:Zt(T==null?void 0:T.loader,(Pe=g==null?void 0:g.classNames)==null?void 0:Pe.loader),visible:It==="loading"})}return D.createElement("li",{tabIndex:0,ref:_s,className:Zt(z,Sw,T==null?void 0:T.toast,(r=g==null?void 0:g.classNames)==null?void 0:r.toast,T==null?void 0:T.default,T==null?void 0:T[It],(s=g==null?void 0:g.classNames)==null?void 0:s[It]),"data-sonner-toast":"","data-rich-colors":(n=g.richColors)!=null?n:C,"data-styled":!(g.jsx||g.unstyled||y),"data-mounted":me,"data-promise":!!g.promise,"data-swiped":bc,"data-removed":Ye,"data-visible":Cw,"data-y-position":Ew,"data-x-position":Gw,"data-index":w,"data-front":Mw,"data-swiping":Zr,"data-dismissible":Mn,"data-type":It,"data-invert":Bw,"data-swipe-out":es,"data-swipe-direction":Ge,"data-expanded":!!(k||E&&me),style:{"--index":w,"--toasts-before":w,"--z-index":N.length-w,"--offset":`${Ye?yc:Cn.current}px`,"--initial-height":E?"auto":`${kn}px`,...R,...g.style},onDragEnd:()=>{Nn(!1),ue(null),Sn.current=null},onPointerDown:ie=>{wc||!Mn||(pm.current=new Date,Gi(Cn.current),ie.target.setPointerCapture(ie.pointerId),ie.target.tagName!=="BUTTON"&&(Nn(!0),Sn.current={x:ie.clientX,y:ie.clientY}))},onPointerUp:()=>{var ie,je,Pe,Kt;if(es||!Mn)return;Sn.current=null;let Qt=Number(((ie=_s.current)==null?void 0:ie.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),rs=Number(((je=_s.current)==null?void 0:je.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Us=new Date().getTime()-((Pe=pm.current)==null?void 0:Pe.getTime()),Xt=le==="x"?Qt:rs,ss=Math.abs(Xt)/Us;if(Math.abs(Xt)>=O1||ss>.11){Gi(Cn.current),(Kt=g.onDismiss)==null||Kt.call(g,g),De(le==="x"?Qt>0?"right":"left":rs>0?"down":"up"),ts(),Ya(!0),Ka(!1);return}Nn(!1),ue(null)},onPointerMove:ie=>{var je,Pe,Kt,Qt;if(!Sn.current||!Mn||((je=window.getSelection())==null?void 0:je.toString().length)>0)return;let rs=ie.clientY-Sn.current.y,Us=ie.clientX-Sn.current.x,Xt=(Pe=t.swipeDirections)!=null?Pe:H1(ne);!le&&(Math.abs(Us)>1||Math.abs(rs)>1)&&ue(Math.abs(Us)>Math.abs(rs)?"x":"y");let ss={x:0,y:0};le==="y"?(Xt.includes("top")||Xt.includes("bottom"))&&(Xt.includes("top")&&rs<0||Xt.includes("bottom")&&rs>0)&&(ss.y=rs):le==="x"&&(Xt.includes("left")||Xt.includes("right"))&&(Xt.includes("left")&&Us<0||Xt.includes("right")&&Us>0)&&(ss.x=Us),(Math.abs(ss.x)>0||Math.abs(ss.y)>0)&&Ka(!0),(Kt=_s.current)==null||Kt.style.setProperty("--swipe-amount-x",`${ss.x}px`),(Qt=_s.current)==null||Qt.style.setProperty("--swipe-amount-y",`${ss.y}px`)}},Pw&&!g.jsx?D.createElement("button",{"aria-label":J,"data-disabled":wc,"data-close-button":!0,onClick:wc||!Mn?()=>{}:()=>{var ie;ts(),(ie=g.onDismiss)==null||ie.call(g,g)},className:Zt(T==null?void 0:T.closeButton,(i=g==null?void 0:g.classNames)==null?void 0:i.closeButton)},(a=H==null?void 0:H.close)!=null?a:k1):null,g.jsx||f.isValidElement(g.title)?g.jsx?g.jsx:typeof g.title=="function"?g.title():g.title:D.createElement(D.Fragment,null,It||g.icon||g.promise?D.createElement("div",{"data-icon":"",className:Zt(T==null?void 0:T.icon,(o=g==null?void 0:g.classNames)==null?void 0:o.icon)},g.promise||g.type==="loading"&&!g.icon?g.icon||Aw():null,g.type!=="loading"?g.icon||(H==null?void 0:H[It])||p1(It):null):null,D.createElement("div",{"data-content":"",className:Zt(T==null?void 0:T.content,(l=g==null?void 0:g.classNames)==null?void 0:l.content)},D.createElement("div",{"data-title":"",className:Zt(T==null?void 0:T.title,(c=g==null?void 0:g.classNames)==null?void 0:c.title)},typeof g.title=="function"?g.title():g.title),g.description?D.createElement("div",{"data-description":"",className:Zt(X,Tw,T==null?void 0:T.description,(d=g==null?void 0:g.classNames)==null?void 0:d.description)},typeof g.description=="function"?g.description():g.description):null),f.isValidElement(g.cancel)?g.cancel:g.cancel&&bo(g.cancel)?D.createElement("button",{"data-button":!0,"data-cancel":!0,style:g.cancelButtonStyle||B,onClick:ie=>{var je,Pe;bo(g.cancel)&&Mn&&((Pe=(je=g.cancel).onClick)==null||Pe.call(je,ie),ts())},className:Zt(T==null?void 0:T.cancelButton,(j=g==null?void 0:g.classNames)==null?void 0:j.cancelButton)},g.cancel.label):null,f.isValidElement(g.action)?g.action:g.action&&bo(g.action)?D.createElement("button",{"data-button":!0,"data-action":!0,style:g.actionButtonStyle||I,onClick:ie=>{var je,Pe;bo(g.action)&&((Pe=(je=g.action).onClick)==null||Pe.call(je,ie),!ie.defaultPrevented&&ts())},className:Zt(T==null?void 0:T.actionButton,(m=g==null?void 0:g.classNames)==null?void 0:m.actionButton)},g.action.label):null))};function _x(){if(typeof window>"u"||typeof document>"u")return"ltr";let t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function _1(t,r){let s={};return[t,r].forEach((n,i)=>{let a=i===1,o=a?"--mobile-offset":"--offset",l=a?I1:D1;function c(d){["top","right","bottom","left"].forEach(j=>{s[`${o}-${j}`]=typeof d=="number"?`${d}px`:d})}typeof n=="number"||typeof n=="string"?c(n):typeof n=="object"?["top","right","bottom","left"].forEach(d=>{n[d]===void 0?s[`${o}-${d}`]=l:s[`${o}-${d}`]=typeof n[d]=="number"?`${n[d]}px`:n[d]}):c(l)}),s}var U1=f.forwardRef(function(t,r){let{invert:s,position:n="bottom-right",hotkey:i=["altKey","KeyT"],expand:a,closeButton:o,className:l,offset:c,mobileOffset:d,theme:j="light",richColors:m,duration:b,style:g,visibleToasts:y=R1,toastOptions:h,dir:v=_x(),gap:x=L1,loadingIcon:u,icons:w,containerAriaLabel:N="Notifications",pauseWhenPageIsHidden:k}=t,[M,C]=D.useState([]),P=D.useMemo(()=>Array.from(new Set([n].concat(M.filter(K=>K.position).map(K=>K.position)))),[M,n]),[R,B]=D.useState([]),[I,z]=D.useState(!1),[X,q]=D.useState(!1),[ne,Y]=D.useState(j!=="system"?j:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),re=D.useRef(null),E=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),T=D.useRef(null),H=D.useRef(!1),J=D.useCallback(K=>{C(le=>{var ue;return(ue=le.find(Ge=>Ge.id===K.id))!=null&&ue.delete||jt.dismiss(K.id),le.filter(({id:Ge})=>Ge!==K.id)})},[]);return D.useEffect(()=>jt.subscribe(K=>{if(K.dismiss){C(le=>le.map(ue=>ue.id===K.id?{...ue,delete:!0}:ue));return}setTimeout(()=>{rj.flushSync(()=>{C(le=>{let ue=le.findIndex(Ge=>Ge.id===K.id);return ue!==-1?[...le.slice(0,ue),{...le[ue],...K},...le.slice(ue+1)]:[K,...le]})})})}),[]),D.useEffect(()=>{if(j!=="system"){Y(j);return}if(j==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?Y("dark"):Y("light")),typeof window>"u")return;let K=window.matchMedia("(prefers-color-scheme: dark)");try{K.addEventListener("change",({matches:le})=>{Y(le?"dark":"light")})}catch{K.addListener(({matches:ue})=>{try{Y(ue?"dark":"light")}catch(Ge){console.error(Ge)}})}},[j]),D.useEffect(()=>{M.length<=1&&z(!1)},[M]),D.useEffect(()=>{let K=le=>{var ue,Ge;i.every(De=>le[De]||le.code===De)&&(z(!0),(ue=re.current)==null||ue.focus()),le.code==="Escape"&&(document.activeElement===re.current||(Ge=re.current)!=null&&Ge.contains(document.activeElement))&&z(!1)};return document.addEventListener("keydown",K),()=>document.removeEventListener("keydown",K)},[i]),D.useEffect(()=>{if(re.current)return()=>{T.current&&(T.current.focus({preventScroll:!0}),T.current=null,H.current=!1)}},[re.current]),D.createElement("section",{ref:r,"aria-label":`${N} ${E}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},P.map((K,le)=>{var ue;let[Ge,De]=K.split("-");return M.length?D.createElement("ol",{key:K,dir:v==="auto"?_x():v,tabIndex:-1,ref:re,className:l,"data-sonner-toaster":!0,"data-theme":ne,"data-y-position":Ge,"data-lifted":I&&M.length>1&&!a,"data-x-position":De,style:{"--front-toast-height":`${((ue=R[0])==null?void 0:ue.height)||0}px`,"--width":`${F1}px`,"--gap":`${x}px`,...g,..._1(c,d)},onBlur:me=>{H.current&&!me.currentTarget.contains(me.relatedTarget)&&(H.current=!1,T.current&&(T.current.focus({preventScroll:!0}),T.current=null))},onFocus:me=>{me.target instanceof HTMLElement&&me.target.dataset.dismissible==="false"||H.current||(H.current=!0,T.current=me.relatedTarget)},onMouseEnter:()=>z(!0),onMouseMove:()=>z(!0),onMouseLeave:()=>{X||z(!1)},onDragEnd:()=>z(!1),onPointerDown:me=>{me.target instanceof HTMLElement&&me.target.dataset.dismissible==="false"||q(!0)},onPointerUp:()=>q(!1)},M.filter(me=>!me.position&&le===0||me.position===K).map((me,Br)=>{var Ye,fr;return D.createElement(q1,{key:me.id,icons:w,index:Br,toast:me,defaultRichColors:m,duration:(Ye=h==null?void 0:h.duration)!=null?Ye:b,className:h==null?void 0:h.className,descriptionClassName:h==null?void 0:h.descriptionClassName,invert:s,visibleToasts:y,closeButton:(fr=h==null?void 0:h.closeButton)!=null?fr:o,interacting:X,position:K,style:h==null?void 0:h.style,unstyled:h==null?void 0:h.unstyled,classNames:h==null?void 0:h.classNames,cancelButtonStyle:h==null?void 0:h.cancelButtonStyle,actionButtonStyle:h==null?void 0:h.actionButtonStyle,removeToast:J,toasts:M.filter(Zr=>Zr.position==me.position),heights:R.filter(Zr=>Zr.position==me.position),setHeights:B,expandByDefault:a,gap:x,loadingIcon:u,expanded:I,pauseWhenPageIsHidden:k,swipeDirections:t.swipeDirections})})):null}))});const W1=({...t})=>{const{theme:r="system"}=f1();return e.jsx(U1,{theme:r,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...t})};var $1=Ou[" useId ".trim().toString()]||(()=>{}),V1=0;function ji(t){const[r,s]=f.useState($1());return Pr(()=>{s(n=>n??String(V1++))},[t]),r?`radix-${r}`:""}const Y1=["top","right","bottom","left"],Rs=Math.min,Ct=Math.max,pl=Math.round,yo=Math.floor,Tr=t=>({x:t,y:t}),K1={left:"right",right:"left",bottom:"top",top:"bottom"},Q1={start:"end",end:"start"};function fu(t,r,s){return Ct(t,Rs(r,s))}function Vr(t,r){return typeof t=="function"?t(r):t}function Yr(t){return t.split("-")[0]}function Ci(t){return t.split("-")[1]}function Fh(t){return t==="x"?"y":"x"}function Lh(t){return t==="y"?"height":"width"}const X1=new Set(["top","bottom"]);function kr(t){return X1.has(Yr(t))?"y":"x"}function Oh(t){return Fh(kr(t))}function J1(t,r,s){s===void 0&&(s=!1);const n=Ci(t),i=Oh(t),a=Lh(i);let o=i==="x"?n===(s?"end":"start")?"right":"left":n==="start"?"bottom":"top";return r.reference[a]>r.floating[a]&&(o=jl(o)),[o,jl(o)]}function Z1(t){const r=jl(t);return[pu(t),r,pu(r)]}function pu(t){return t.replace(/start|end/g,r=>Q1[r])}const Ux=["left","right"],Wx=["right","left"],eM=["top","bottom"],tM=["bottom","top"];function rM(t,r,s){switch(t){case"top":case"bottom":return s?r?Wx:Ux:r?Ux:Wx;case"left":case"right":return r?eM:tM;default:return[]}}function sM(t,r,s,n){const i=Ci(t);let a=rM(Yr(t),s==="start",n);return i&&(a=a.map(o=>o+"-"+i),r&&(a=a.concat(a.map(pu)))),a}function jl(t){return t.replace(/left|right|bottom|top/g,r=>K1[r])}function nM(t){return{top:0,right:0,bottom:0,left:0,...t}}function Xj(t){return typeof t!="number"?nM(t):{top:t,right:t,bottom:t,left:t}}function bl(t){const{x:r,y:s,width:n,height:i}=t;return{width:n,height:i,top:s,left:r,right:r+n,bottom:s+i,x:r,y:s}}function $x(t,r,s){let{reference:n,floating:i}=t;const a=kr(r),o=Oh(r),l=Lh(o),c=Yr(r),d=a==="y",j=n.x+n.width/2-i.width/2,m=n.y+n.height/2-i.height/2,b=n[l]/2-i[l]/2;let g;switch(c){case"top":g={x:j,y:n.y-i.height};break;case"bottom":g={x:j,y:n.y+n.height};break;case"right":g={x:n.x+n.width,y:m};break;case"left":g={x:n.x-i.width,y:m};break;default:g={x:n.x,y:n.y}}switch(Ci(r)){case"start":g[o]-=b*(s&&d?-1:1);break;case"end":g[o]+=b*(s&&d?-1:1);break}return g}const iM=async(t,r,s)=>{const{placement:n="bottom",strategy:i="absolute",middleware:a=[],platform:o}=s,l=a.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(r));let d=await o.getElementRects({reference:t,floating:r,strategy:i}),{x:j,y:m}=$x(d,n,c),b=n,g={},y=0;for(let h=0;h<l.length;h++){const{name:v,fn:x}=l[h],{x:u,y:w,data:N,reset:k}=await x({x:j,y:m,initialPlacement:n,placement:b,strategy:i,middlewareData:g,rects:d,platform:o,elements:{reference:t,floating:r}});j=u??j,m=w??m,g={...g,[v]:{...g[v],...N}},k&&y<=50&&(y++,typeof k=="object"&&(k.placement&&(b=k.placement),k.rects&&(d=k.rects===!0?await o.getElementRects({reference:t,floating:r,strategy:i}):k.rects),{x:j,y:m}=$x(d,b,c)),h=-1)}return{x:j,y:m,placement:b,strategy:i,middlewareData:g}};async function ka(t,r){var s;r===void 0&&(r={});const{x:n,y:i,platform:a,rects:o,elements:l,strategy:c}=t,{boundary:d="clippingAncestors",rootBoundary:j="viewport",elementContext:m="floating",altBoundary:b=!1,padding:g=0}=Vr(r,t),y=Xj(g),v=l[b?m==="floating"?"reference":"floating":m],x=bl(await a.getClippingRect({element:(s=await(a.isElement==null?void 0:a.isElement(v)))==null||s?v:v.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:d,rootBoundary:j,strategy:c})),u=m==="floating"?{x:n,y:i,width:o.floating.width,height:o.floating.height}:o.reference,w=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),N=await(a.isElement==null?void 0:a.isElement(w))?await(a.getScale==null?void 0:a.getScale(w))||{x:1,y:1}:{x:1,y:1},k=bl(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:u,offsetParent:w,strategy:c}):u);return{top:(x.top-k.top+y.top)/N.y,bottom:(k.bottom-x.bottom+y.bottom)/N.y,left:(x.left-k.left+y.left)/N.x,right:(k.right-x.right+y.right)/N.x}}const aM=t=>({name:"arrow",options:t,async fn(r){const{x:s,y:n,placement:i,rects:a,platform:o,elements:l,middlewareData:c}=r,{element:d,padding:j=0}=Vr(t,r)||{};if(d==null)return{};const m=Xj(j),b={x:s,y:n},g=Oh(i),y=Lh(g),h=await o.getDimensions(d),v=g==="y",x=v?"top":"left",u=v?"bottom":"right",w=v?"clientHeight":"clientWidth",N=a.reference[y]+a.reference[g]-b[g]-a.floating[y],k=b[g]-a.reference[g],M=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let C=M?M[w]:0;(!C||!await(o.isElement==null?void 0:o.isElement(M)))&&(C=l.floating[w]||a.floating[y]);const P=N/2-k/2,R=C/2-h[y]/2-1,B=Rs(m[x],R),I=Rs(m[u],R),z=B,X=C-h[y]-I,q=C/2-h[y]/2+P,ne=fu(z,q,X),Y=!c.arrow&&Ci(i)!=null&&q!==ne&&a.reference[y]/2-(q<z?B:I)-h[y]/2<0,re=Y?q<z?q-z:q-X:0;return{[g]:b[g]+re,data:{[g]:ne,centerOffset:q-ne-re,...Y&&{alignmentOffset:re}},reset:Y}}}),oM=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(r){var s,n;const{placement:i,middlewareData:a,rects:o,initialPlacement:l,platform:c,elements:d}=r,{mainAxis:j=!0,crossAxis:m=!0,fallbackPlacements:b,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:h=!0,...v}=Vr(t,r);if((s=a.arrow)!=null&&s.alignmentOffset)return{};const x=Yr(i),u=kr(l),w=Yr(l)===l,N=await(c.isRTL==null?void 0:c.isRTL(d.floating)),k=b||(w||!h?[jl(l)]:Z1(l)),M=y!=="none";!b&&M&&k.push(...sM(l,h,y,N));const C=[l,...k],P=await ka(r,v),R=[];let B=((n=a.flip)==null?void 0:n.overflows)||[];if(j&&R.push(P[x]),m){const q=J1(i,o,N);R.push(P[q[0]],P[q[1]])}if(B=[...B,{placement:i,overflows:R}],!R.every(q=>q<=0)){var I,z;const q=(((I=a.flip)==null?void 0:I.index)||0)+1,ne=C[q];if(ne&&(!(m==="alignment"?u!==kr(ne):!1)||B.every(E=>E.overflows[0]>0&&kr(E.placement)===u)))return{data:{index:q,overflows:B},reset:{placement:ne}};let Y=(z=B.filter(re=>re.overflows[0]<=0).sort((re,E)=>re.overflows[1]-E.overflows[1])[0])==null?void 0:z.placement;if(!Y)switch(g){case"bestFit":{var X;const re=(X=B.filter(E=>{if(M){const T=kr(E.placement);return T===u||T==="y"}return!0}).map(E=>[E.placement,E.overflows.filter(T=>T>0).reduce((T,H)=>T+H,0)]).sort((E,T)=>E[1]-T[1])[0])==null?void 0:X[0];re&&(Y=re);break}case"initialPlacement":Y=l;break}if(i!==Y)return{reset:{placement:Y}}}return{}}}};function Vx(t,r){return{top:t.top-r.height,right:t.right-r.width,bottom:t.bottom-r.height,left:t.left-r.width}}function Yx(t){return Y1.some(r=>t[r]>=0)}const lM=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(r){const{rects:s}=r,{strategy:n="referenceHidden",...i}=Vr(t,r);switch(n){case"referenceHidden":{const a=await ka(r,{...i,elementContext:"reference"}),o=Vx(a,s.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:Yx(o)}}}case"escaped":{const a=await ka(r,{...i,altBoundary:!0}),o=Vx(a,s.floating);return{data:{escapedOffsets:o,escaped:Yx(o)}}}default:return{}}}}},Jj=new Set(["left","top"]);async function cM(t,r){const{placement:s,platform:n,elements:i}=t,a=await(n.isRTL==null?void 0:n.isRTL(i.floating)),o=Yr(s),l=Ci(s),c=kr(s)==="y",d=Jj.has(o)?-1:1,j=a&&c?-1:1,m=Vr(r,t);let{mainAxis:b,crossAxis:g,alignmentAxis:y}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return l&&typeof y=="number"&&(g=l==="end"?y*-1:y),c?{x:g*j,y:b*d}:{x:b*d,y:g*j}}const dM=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(r){var s,n;const{x:i,y:a,placement:o,middlewareData:l}=r,c=await cM(r,t);return o===((s=l.offset)==null?void 0:s.placement)&&(n=l.arrow)!=null&&n.alignmentOffset?{}:{x:i+c.x,y:a+c.y,data:{...c,placement:o}}}}},uM=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(r){const{x:s,y:n,placement:i}=r,{mainAxis:a=!0,crossAxis:o=!1,limiter:l={fn:v=>{let{x,y:u}=v;return{x,y:u}}},...c}=Vr(t,r),d={x:s,y:n},j=await ka(r,c),m=kr(Yr(i)),b=Fh(m);let g=d[b],y=d[m];if(a){const v=b==="y"?"top":"left",x=b==="y"?"bottom":"right",u=g+j[v],w=g-j[x];g=fu(u,g,w)}if(o){const v=m==="y"?"top":"left",x=m==="y"?"bottom":"right",u=y+j[v],w=y-j[x];y=fu(u,y,w)}const h=l.fn({...r,[b]:g,[m]:y});return{...h,data:{x:h.x-s,y:h.y-n,enabled:{[b]:a,[m]:o}}}}}},hM=function(t){return t===void 0&&(t={}),{options:t,fn(r){const{x:s,y:n,placement:i,rects:a,middlewareData:o}=r,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=Vr(t,r),j={x:s,y:n},m=kr(i),b=Fh(m);let g=j[b],y=j[m];const h=Vr(l,r),v=typeof h=="number"?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){const w=b==="y"?"height":"width",N=a.reference[b]-a.floating[w]+v.mainAxis,k=a.reference[b]+a.reference[w]-v.mainAxis;g<N?g=N:g>k&&(g=k)}if(d){var x,u;const w=b==="y"?"width":"height",N=Jj.has(Yr(i)),k=a.reference[m]-a.floating[w]+(N&&((x=o.offset)==null?void 0:x[m])||0)+(N?0:v.crossAxis),M=a.reference[m]+a.reference[w]+(N?0:((u=o.offset)==null?void 0:u[m])||0)-(N?v.crossAxis:0);y<k?y=k:y>M&&(y=M)}return{[b]:g,[m]:y}}}},mM=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(r){var s,n;const{placement:i,rects:a,platform:o,elements:l}=r,{apply:c=()=>{},...d}=Vr(t,r),j=await ka(r,d),m=Yr(i),b=Ci(i),g=kr(i)==="y",{width:y,height:h}=a.floating;let v,x;m==="top"||m==="bottom"?(v=m,x=b===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(x=m,v=b==="end"?"top":"bottom");const u=h-j.top-j.bottom,w=y-j.left-j.right,N=Rs(h-j[v],u),k=Rs(y-j[x],w),M=!r.middlewareData.shift;let C=N,P=k;if((s=r.middlewareData.shift)!=null&&s.enabled.x&&(P=w),(n=r.middlewareData.shift)!=null&&n.enabled.y&&(C=u),M&&!b){const B=Ct(j.left,0),I=Ct(j.right,0),z=Ct(j.top,0),X=Ct(j.bottom,0);g?P=y-2*(B!==0||I!==0?B+I:Ct(j.left,j.right)):C=h-2*(z!==0||X!==0?z+X:Ct(j.top,j.bottom))}await c({...r,availableWidth:P,availableHeight:C});const R=await o.getDimensions(l.floating);return y!==R.width||h!==R.height?{reset:{rects:!0}}:{}}}};function Zl(){return typeof window<"u"}function Si(t){return Zj(t)?(t.nodeName||"").toLowerCase():"#document"}function Et(t){var r;return(t==null||(r=t.ownerDocument)==null?void 0:r.defaultView)||window}function Gr(t){var r;return(r=(Zj(t)?t.ownerDocument:t.document)||window.document)==null?void 0:r.documentElement}function Zj(t){return Zl()?t instanceof Node||t instanceof Et(t).Node:!1}function dr(t){return Zl()?t instanceof Element||t instanceof Et(t).Element:!1}function Er(t){return Zl()?t instanceof HTMLElement||t instanceof Et(t).HTMLElement:!1}function Kx(t){return!Zl()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Et(t).ShadowRoot}const xM=new Set(["inline","contents"]);function qa(t){const{overflow:r,overflowX:s,overflowY:n,display:i}=ur(t);return/auto|scroll|overlay|hidden|clip/.test(r+n+s)&&!xM.has(i)}const gM=new Set(["table","td","th"]);function fM(t){return gM.has(Si(t))}const pM=[":popover-open",":modal"];function ec(t){return pM.some(r=>{try{return t.matches(r)}catch{return!1}})}const jM=["transform","translate","scale","rotate","perspective"],bM=["transform","translate","scale","rotate","perspective","filter"],yM=["paint","layout","strict","content"];function zh(t){const r=Hh(),s=dr(t)?ur(t):t;return jM.some(n=>s[n]?s[n]!=="none":!1)||(s.containerType?s.containerType!=="normal":!1)||!r&&(s.backdropFilter?s.backdropFilter!=="none":!1)||!r&&(s.filter?s.filter!=="none":!1)||bM.some(n=>(s.willChange||"").includes(n))||yM.some(n=>(s.contain||"").includes(n))}function vM(t){let r=Ds(t);for(;Er(r)&&!bi(r);){if(zh(r))return r;if(ec(r))return null;r=Ds(r)}return null}function Hh(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const wM=new Set(["html","body","#document"]);function bi(t){return wM.has(Si(t))}function ur(t){return Et(t).getComputedStyle(t)}function tc(t){return dr(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Ds(t){if(Si(t)==="html")return t;const r=t.assignedSlot||t.parentNode||Kx(t)&&t.host||Gr(t);return Kx(r)?r.host:r}function eb(t){const r=Ds(t);return bi(r)?t.ownerDocument?t.ownerDocument.body:t.body:Er(r)&&qa(r)?r:eb(r)}function Ma(t,r,s){var n;r===void 0&&(r=[]),s===void 0&&(s=!0);const i=eb(t),a=i===((n=t.ownerDocument)==null?void 0:n.body),o=Et(i);if(a){const l=ju(o);return r.concat(o,o.visualViewport||[],qa(i)?i:[],l&&s?Ma(l):[])}return r.concat(i,Ma(i,[],s))}function ju(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function tb(t){const r=ur(t);let s=parseFloat(r.width)||0,n=parseFloat(r.height)||0;const i=Er(t),a=i?t.offsetWidth:s,o=i?t.offsetHeight:n,l=pl(s)!==a||pl(n)!==o;return l&&(s=a,n=o),{width:s,height:n,$:l}}function qh(t){return dr(t)?t:t.contextElement}function Jn(t){const r=qh(t);if(!Er(r))return Tr(1);const s=r.getBoundingClientRect(),{width:n,height:i,$:a}=tb(r);let o=(a?pl(s.width):s.width)/n,l=(a?pl(s.height):s.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const NM=Tr(0);function rb(t){const r=Et(t);return!Hh()||!r.visualViewport?NM:{x:r.visualViewport.offsetLeft,y:r.visualViewport.offsetTop}}function kM(t,r,s){return r===void 0&&(r=!1),!s||r&&s!==Et(t)?!1:r}function un(t,r,s,n){r===void 0&&(r=!1),s===void 0&&(s=!1);const i=t.getBoundingClientRect(),a=qh(t);let o=Tr(1);r&&(n?dr(n)&&(o=Jn(n)):o=Jn(t));const l=kM(a,s,n)?rb(a):Tr(0);let c=(i.left+l.x)/o.x,d=(i.top+l.y)/o.y,j=i.width/o.x,m=i.height/o.y;if(a){const b=Et(a),g=n&&dr(n)?Et(n):n;let y=b,h=ju(y);for(;h&&n&&g!==y;){const v=Jn(h),x=h.getBoundingClientRect(),u=ur(h),w=x.left+(h.clientLeft+parseFloat(u.paddingLeft))*v.x,N=x.top+(h.clientTop+parseFloat(u.paddingTop))*v.y;c*=v.x,d*=v.y,j*=v.x,m*=v.y,c+=w,d+=N,y=Et(h),h=ju(y)}}return bl({width:j,height:m,x:c,y:d})}function _h(t,r){const s=tc(t).scrollLeft;return r?r.left+s:un(Gr(t)).left+s}function sb(t,r,s){s===void 0&&(s=!1);const n=t.getBoundingClientRect(),i=n.left+r.scrollLeft-(s?0:_h(t,n)),a=n.top+r.scrollTop;return{x:i,y:a}}function MM(t){let{elements:r,rect:s,offsetParent:n,strategy:i}=t;const a=i==="fixed",o=Gr(n),l=r?ec(r.floating):!1;if(n===o||l&&a)return s;let c={scrollLeft:0,scrollTop:0},d=Tr(1);const j=Tr(0),m=Er(n);if((m||!m&&!a)&&((Si(n)!=="body"||qa(o))&&(c=tc(n)),Er(n))){const g=un(n);d=Jn(n),j.x=g.x+n.clientLeft,j.y=g.y+n.clientTop}const b=o&&!m&&!a?sb(o,c,!0):Tr(0);return{width:s.width*d.x,height:s.height*d.y,x:s.x*d.x-c.scrollLeft*d.x+j.x+b.x,y:s.y*d.y-c.scrollTop*d.y+j.y+b.y}}function CM(t){return Array.from(t.getClientRects())}function SM(t){const r=Gr(t),s=tc(t),n=t.ownerDocument.body,i=Ct(r.scrollWidth,r.clientWidth,n.scrollWidth,n.clientWidth),a=Ct(r.scrollHeight,r.clientHeight,n.scrollHeight,n.clientHeight);let o=-s.scrollLeft+_h(t);const l=-s.scrollTop;return ur(n).direction==="rtl"&&(o+=Ct(r.clientWidth,n.clientWidth)-i),{width:i,height:a,x:o,y:l}}function TM(t,r){const s=Et(t),n=Gr(t),i=s.visualViewport;let a=n.clientWidth,o=n.clientHeight,l=0,c=0;if(i){a=i.width,o=i.height;const d=Hh();(!d||d&&r==="fixed")&&(l=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:l,y:c}}const PM=new Set(["absolute","fixed"]);function EM(t,r){const s=un(t,!0,r==="fixed"),n=s.top+t.clientTop,i=s.left+t.clientLeft,a=Er(t)?Jn(t):Tr(1),o=t.clientWidth*a.x,l=t.clientHeight*a.y,c=i*a.x,d=n*a.y;return{width:o,height:l,x:c,y:d}}function Qx(t,r,s){let n;if(r==="viewport")n=TM(t,s);else if(r==="document")n=SM(Gr(t));else if(dr(r))n=EM(r,s);else{const i=rb(t);n={x:r.x-i.x,y:r.y-i.y,width:r.width,height:r.height}}return bl(n)}function nb(t,r){const s=Ds(t);return s===r||!dr(s)||bi(s)?!1:ur(s).position==="fixed"||nb(s,r)}function GM(t,r){const s=r.get(t);if(s)return s;let n=Ma(t,[],!1).filter(l=>dr(l)&&Si(l)!=="body"),i=null;const a=ur(t).position==="fixed";let o=a?Ds(t):t;for(;dr(o)&&!bi(o);){const l=ur(o),c=zh(o);!c&&l.position==="fixed"&&(i=null),(a?!c&&!i:!c&&l.position==="static"&&!!i&&PM.has(i.position)||qa(o)&&!c&&nb(t,o))?n=n.filter(j=>j!==o):i=l,o=Ds(o)}return r.set(t,n),n}function BM(t){let{element:r,boundary:s,rootBoundary:n,strategy:i}=t;const o=[...s==="clippingAncestors"?ec(r)?[]:GM(r,this._c):[].concat(s),n],l=o[0],c=o.reduce((d,j)=>{const m=Qx(r,j,i);return d.top=Ct(m.top,d.top),d.right=Rs(m.right,d.right),d.bottom=Rs(m.bottom,d.bottom),d.left=Ct(m.left,d.left),d},Qx(r,l,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function AM(t){const{width:r,height:s}=tb(t);return{width:r,height:s}}function RM(t,r,s){const n=Er(r),i=Gr(r),a=s==="fixed",o=un(t,!0,a,r);let l={scrollLeft:0,scrollTop:0};const c=Tr(0);function d(){c.x=_h(i)}if(n||!n&&!a)if((Si(r)!=="body"||qa(i))&&(l=tc(r)),n){const g=un(r,!0,a,r);c.x=g.x+r.clientLeft,c.y=g.y+r.clientTop}else i&&d();a&&!n&&i&&d();const j=i&&!n&&!a?sb(i,l):Tr(0),m=o.left+l.scrollLeft-c.x-j.x,b=o.top+l.scrollTop-c.y-j.y;return{x:m,y:b,width:o.width,height:o.height}}function ed(t){return ur(t).position==="static"}function Xx(t,r){if(!Er(t)||ur(t).position==="fixed")return null;if(r)return r(t);let s=t.offsetParent;return Gr(t)===s&&(s=s.ownerDocument.body),s}function ib(t,r){const s=Et(t);if(ec(t))return s;if(!Er(t)){let i=Ds(t);for(;i&&!bi(i);){if(dr(i)&&!ed(i))return i;i=Ds(i)}return s}let n=Xx(t,r);for(;n&&fM(n)&&ed(n);)n=Xx(n,r);return n&&bi(n)&&ed(n)&&!zh(n)?s:n||vM(t)||s}const DM=async function(t){const r=this.getOffsetParent||ib,s=this.getDimensions,n=await s(t.floating);return{reference:RM(t.reference,await r(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function IM(t){return ur(t).direction==="rtl"}const FM={convertOffsetParentRelativeRectToViewportRelativeRect:MM,getDocumentElement:Gr,getClippingRect:BM,getOffsetParent:ib,getElementRects:DM,getClientRects:CM,getDimensions:AM,getScale:Jn,isElement:dr,isRTL:IM};function ab(t,r){return t.x===r.x&&t.y===r.y&&t.width===r.width&&t.height===r.height}function LM(t,r){let s=null,n;const i=Gr(t);function a(){var l;clearTimeout(n),(l=s)==null||l.disconnect(),s=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),a();const d=t.getBoundingClientRect(),{left:j,top:m,width:b,height:g}=d;if(l||r(),!b||!g)return;const y=yo(m),h=yo(i.clientWidth-(j+b)),v=yo(i.clientHeight-(m+g)),x=yo(j),w={rootMargin:-y+"px "+-h+"px "+-v+"px "+-x+"px",threshold:Ct(0,Rs(1,c))||1};let N=!0;function k(M){const C=M[0].intersectionRatio;if(C!==c){if(!N)return o();C?o(!1,C):n=setTimeout(()=>{o(!1,1e-7)},1e3)}C===1&&!ab(d,t.getBoundingClientRect())&&o(),N=!1}try{s=new IntersectionObserver(k,{...w,root:i.ownerDocument})}catch{s=new IntersectionObserver(k,w)}s.observe(t)}return o(!0),a}function OM(t,r,s,n){n===void 0&&(n={});const{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,d=qh(t),j=i||a?[...d?Ma(d):[],...Ma(r)]:[];j.forEach(x=>{i&&x.addEventListener("scroll",s,{passive:!0}),a&&x.addEventListener("resize",s)});const m=d&&l?LM(d,s):null;let b=-1,g=null;o&&(g=new ResizeObserver(x=>{let[u]=x;u&&u.target===d&&g&&(g.unobserve(r),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var w;(w=g)==null||w.observe(r)})),s()}),d&&!c&&g.observe(d),g.observe(r));let y,h=c?un(t):null;c&&v();function v(){const x=un(t);h&&!ab(h,x)&&s(),h=x,y=requestAnimationFrame(v)}return s(),()=>{var x;j.forEach(u=>{i&&u.removeEventListener("scroll",s),a&&u.removeEventListener("resize",s)}),m==null||m(),(x=g)==null||x.disconnect(),g=null,c&&cancelAnimationFrame(y)}}const zM=dM,HM=uM,qM=oM,_M=mM,UM=lM,Jx=aM,WM=hM,$M=(t,r,s)=>{const n=new Map,i={platform:FM,...s},a={...i.platform,_c:n};return iM(t,r,{...i,platform:a})};var VM=typeof document<"u",YM=function(){},Ho=VM?f.useLayoutEffect:YM;function yl(t,r){if(t===r)return!0;if(typeof t!=typeof r)return!1;if(typeof t=="function"&&t.toString()===r.toString())return!0;let s,n,i;if(t&&r&&typeof t=="object"){if(Array.isArray(t)){if(s=t.length,s!==r.length)return!1;for(n=s;n--!==0;)if(!yl(t[n],r[n]))return!1;return!0}if(i=Object.keys(t),s=i.length,s!==Object.keys(r).length)return!1;for(n=s;n--!==0;)if(!{}.hasOwnProperty.call(r,i[n]))return!1;for(n=s;n--!==0;){const a=i[n];if(!(a==="_owner"&&t.$$typeof)&&!yl(t[a],r[a]))return!1}return!0}return t!==t&&r!==r}function ob(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Zx(t,r){const s=ob(t);return Math.round(r*s)/s}function td(t){const r=f.useRef(t);return Ho(()=>{r.current=t}),r}function KM(t){t===void 0&&(t={});const{placement:r="bottom",strategy:s="absolute",middleware:n=[],platform:i,elements:{reference:a,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=t,[j,m]=f.useState({x:0,y:0,strategy:s,placement:r,middlewareData:{},isPositioned:!1}),[b,g]=f.useState(n);yl(b,n)||g(n);const[y,h]=f.useState(null),[v,x]=f.useState(null),u=f.useCallback(E=>{E!==M.current&&(M.current=E,h(E))},[]),w=f.useCallback(E=>{E!==C.current&&(C.current=E,x(E))},[]),N=a||y,k=o||v,M=f.useRef(null),C=f.useRef(null),P=f.useRef(j),R=c!=null,B=td(c),I=td(i),z=td(d),X=f.useCallback(()=>{if(!M.current||!C.current)return;const E={placement:r,strategy:s,middleware:b};I.current&&(E.platform=I.current),$M(M.current,C.current,E).then(T=>{const H={...T,isPositioned:z.current!==!1};q.current&&!yl(P.current,H)&&(P.current=H,Oa.flushSync(()=>{m(H)}))})},[b,r,s,I,z]);Ho(()=>{d===!1&&P.current.isPositioned&&(P.current.isPositioned=!1,m(E=>({...E,isPositioned:!1})))},[d]);const q=f.useRef(!1);Ho(()=>(q.current=!0,()=>{q.current=!1}),[]),Ho(()=>{if(N&&(M.current=N),k&&(C.current=k),N&&k){if(B.current)return B.current(N,k,X);X()}},[N,k,X,B,R]);const ne=f.useMemo(()=>({reference:M,floating:C,setReference:u,setFloating:w}),[u,w]),Y=f.useMemo(()=>({reference:N,floating:k}),[N,k]),re=f.useMemo(()=>{const E={position:s,left:0,top:0};if(!Y.floating)return E;const T=Zx(Y.floating,j.x),H=Zx(Y.floating,j.y);return l?{...E,transform:"translate("+T+"px, "+H+"px)",...ob(Y.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:T,top:H}},[s,l,Y.floating,j.x,j.y]);return f.useMemo(()=>({...j,update:X,refs:ne,elements:Y,floatingStyles:re}),[j,X,ne,Y,re])}const QM=t=>{function r(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:t,fn(s){const{element:n,padding:i}=typeof t=="function"?t(s):t;return n&&r(n)?n.current!=null?Jx({element:n.current,padding:i}).fn(s):{}:n?Jx({element:n,padding:i}).fn(s):{}}}},XM=(t,r)=>({...zM(t),options:[t,r]}),JM=(t,r)=>({...HM(t),options:[t,r]}),ZM=(t,r)=>({...WM(t),options:[t,r]}),eC=(t,r)=>({...qM(t),options:[t,r]}),tC=(t,r)=>({..._M(t),options:[t,r]}),rC=(t,r)=>({...UM(t),options:[t,r]}),sC=(t,r)=>({...QM(t),options:[t,r]});var nC="Arrow",lb=f.forwardRef((t,r)=>{const{children:s,width:n=10,height:i=5,...a}=t;return e.jsx(he.svg,{...a,ref:r,width:n,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?s:e.jsx("polygon",{points:"0,0 30,0 15,10"})})});lb.displayName=nC;var iC=lb;function Uh(t){const[r,s]=f.useState(void 0);return Pr(()=>{if(t){s({width:t.offsetWidth,height:t.offsetHeight});const n=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const a=i[0];let o,l;if("borderBoxSize"in a){const c=a.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=t.offsetWidth,l=t.offsetHeight;s({width:o,height:l})});return n.observe(t,{box:"border-box"}),()=>n.unobserve(t)}else s(void 0)},[t]),r}var Wh="Popper",[cb,rc]=Wt(Wh),[aC,db]=cb(Wh),ub=t=>{const{__scopePopper:r,children:s}=t,[n,i]=f.useState(null);return e.jsx(aC,{scope:r,anchor:n,onAnchorChange:i,children:s})};ub.displayName=Wh;var hb="PopperAnchor",mb=f.forwardRef((t,r)=>{const{__scopePopper:s,virtualRef:n,...i}=t,a=db(hb,s),o=f.useRef(null),l=be(r,o);return f.useEffect(()=>{a.onAnchorChange((n==null?void 0:n.current)||o.current)}),n?null:e.jsx(he.div,{...i,ref:l})});mb.displayName=hb;var $h="PopperContent",[oC,lC]=cb($h),xb=f.forwardRef((t,r)=>{var me,Br,Ye,fr,Zr,Nn;const{__scopePopper:s,side:n="bottom",sideOffset:i=0,align:a="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:j=0,sticky:m="partial",hideWhenDetached:b=!1,updatePositionStrategy:g="optimized",onPlaced:y,...h}=t,v=db($h,s),[x,u]=f.useState(null),w=be(r,es=>u(es)),[N,k]=f.useState(null),M=Uh(N),C=(M==null?void 0:M.width)??0,P=(M==null?void 0:M.height)??0,R=n+(a!=="center"?"-"+a:""),B=typeof j=="number"?j:{top:0,right:0,bottom:0,left:0,...j},I=Array.isArray(d)?d:[d],z=I.length>0,X={padding:B,boundary:I.filter(dC),altBoundary:z},{refs:q,floatingStyles:ne,placement:Y,isPositioned:re,middlewareData:E}=KM({strategy:"fixed",placement:R,whileElementsMounted:(...es)=>OM(...es,{animationFrame:g==="always"}),elements:{reference:v.anchor},middleware:[XM({mainAxis:i+P,alignmentAxis:o}),c&&JM({mainAxis:!0,crossAxis:!1,limiter:m==="partial"?ZM():void 0,...X}),c&&eC({...X}),tC({...X,apply:({elements:es,rects:Ya,availableWidth:bc,availableHeight:Ka})=>{const{width:yc,height:Gi}=Ya.reference,kn=es.floating.style;kn.setProperty("--radix-popper-available-width",`${bc}px`),kn.setProperty("--radix-popper-available-height",`${Ka}px`),kn.setProperty("--radix-popper-anchor-width",`${yc}px`),kn.setProperty("--radix-popper-anchor-height",`${Gi}px`)}}),N&&sC({element:N,padding:l}),uC({arrowWidth:C,arrowHeight:P}),b&&rC({strategy:"referenceHidden",...X})]}),[T,H]=pb(Y),J=Bt(y);Pr(()=>{re&&(J==null||J())},[re,J]);const K=(me=E.arrow)==null?void 0:me.x,le=(Br=E.arrow)==null?void 0:Br.y,ue=((Ye=E.arrow)==null?void 0:Ye.centerOffset)!==0,[Ge,De]=f.useState();return Pr(()=>{x&&De(window.getComputedStyle(x).zIndex)},[x]),e.jsx("div",{ref:q.setFloating,"data-radix-popper-content-wrapper":"",style:{...ne,transform:re?ne.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Ge,"--radix-popper-transform-origin":[(fr=E.transformOrigin)==null?void 0:fr.x,(Zr=E.transformOrigin)==null?void 0:Zr.y].join(" "),...((Nn=E.hide)==null?void 0:Nn.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:e.jsx(oC,{scope:s,placedSide:T,onArrowChange:k,arrowX:K,arrowY:le,shouldHideArrow:ue,children:e.jsx(he.div,{"data-side":T,"data-align":H,...h,ref:w,style:{...h.style,animation:re?void 0:"none"}})})})});xb.displayName=$h;var gb="PopperArrow",cC={top:"bottom",right:"left",bottom:"top",left:"right"},fb=f.forwardRef(function(r,s){const{__scopePopper:n,...i}=r,a=lC(gb,n),o=cC[a.placedSide];return e.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:e.jsx(iC,{...i,ref:s,style:{...i.style,display:"block"}})})});fb.displayName=gb;function dC(t){return t!==null}var uC=t=>({name:"transformOrigin",options:t,fn(r){var v,x,u;const{placement:s,rects:n,middlewareData:i}=r,o=((v=i.arrow)==null?void 0:v.centerOffset)!==0,l=o?0:t.arrowWidth,c=o?0:t.arrowHeight,[d,j]=pb(s),m={start:"0%",center:"50%",end:"100%"}[j],b=(((x=i.arrow)==null?void 0:x.x)??0)+l/2,g=(((u=i.arrow)==null?void 0:u.y)??0)+c/2;let y="",h="";return d==="bottom"?(y=o?m:`${b}px`,h=`${-c}px`):d==="top"?(y=o?m:`${b}px`,h=`${n.floating.height+c}px`):d==="right"?(y=`${-c}px`,h=o?m:`${g}px`):d==="left"&&(y=`${n.floating.width+c}px`,h=o?m:`${g}px`),{data:{x:y,y:h}}}});function pb(t){const[r,s="center"]=t.split("-");return[r,s]}var hC=ub,jb=mb,bb=xb,yb=fb,[sc,fE]=Wt("Tooltip",[rc]),Vh=rc(),vb="TooltipProvider",mC=700,eg="tooltip.open",[xC,wb]=sc(vb),Nb=t=>{const{__scopeTooltip:r,delayDuration:s=mC,skipDelayDuration:n=300,disableHoverableContent:i=!1,children:a}=t,o=f.useRef(!0),l=f.useRef(!1),c=f.useRef(0);return f.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),e.jsx(xC,{scope:r,isOpenDelayedRef:o,delayDuration:s,onOpen:f.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,n)},[n]),isPointerInTransitRef:l,onPointerInTransitChange:f.useCallback(d=>{l.current=d},[]),disableHoverableContent:i,children:a})};Nb.displayName=vb;var kb="Tooltip",[pE,nc]=sc(kb),bu="TooltipTrigger",gC=f.forwardRef((t,r)=>{const{__scopeTooltip:s,...n}=t,i=nc(bu,s),a=wb(bu,s),o=Vh(s),l=f.useRef(null),c=be(r,l,i.onTriggerChange),d=f.useRef(!1),j=f.useRef(!1),m=f.useCallback(()=>d.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),e.jsx(jb,{asChild:!0,...o,children:e.jsx(he.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...n,ref:c,onPointerMove:V(t.onPointerMove,b=>{b.pointerType!=="touch"&&!j.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),j.current=!0)}),onPointerLeave:V(t.onPointerLeave,()=>{i.onTriggerLeave(),j.current=!1}),onPointerDown:V(t.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:V(t.onFocus,()=>{d.current||i.onOpen()}),onBlur:V(t.onBlur,i.onClose),onClick:V(t.onClick,i.onClose)})})});gC.displayName=bu;var fC="TooltipPortal",[jE,pC]=sc(fC,{forceMount:void 0}),yi="TooltipContent",Mb=f.forwardRef((t,r)=>{const s=pC(yi,t.__scopeTooltip),{forceMount:n=s.forceMount,side:i="top",...a}=t,o=nc(yi,t.__scopeTooltip);return e.jsx(Qr,{present:n||o.open,children:o.disableHoverableContent?e.jsx(Cb,{side:i,...a,ref:r}):e.jsx(jC,{side:i,...a,ref:r})})}),jC=f.forwardRef((t,r)=>{const s=nc(yi,t.__scopeTooltip),n=wb(yi,t.__scopeTooltip),i=f.useRef(null),a=be(r,i),[o,l]=f.useState(null),{trigger:c,onClose:d}=s,j=i.current,{onPointerInTransitChange:m}=n,b=f.useCallback(()=>{l(null),m(!1)},[m]),g=f.useCallback((y,h)=>{const v=y.currentTarget,x={x:y.clientX,y:y.clientY},u=NC(x,v.getBoundingClientRect()),w=kC(x,u),N=MC(h.getBoundingClientRect()),k=SC([...w,...N]);l(k),m(!0)},[m]);return f.useEffect(()=>()=>b(),[b]),f.useEffect(()=>{if(c&&j){const y=v=>g(v,j),h=v=>g(v,c);return c.addEventListener("pointerleave",y),j.addEventListener("pointerleave",h),()=>{c.removeEventListener("pointerleave",y),j.removeEventListener("pointerleave",h)}}},[c,j,g,b]),f.useEffect(()=>{if(o){const y=h=>{const v=h.target,x={x:h.clientX,y:h.clientY},u=(c==null?void 0:c.contains(v))||(j==null?void 0:j.contains(v)),w=!CC(x,o);u?b():w&&(b(),d())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[c,j,o,d,b]),e.jsx(Cb,{...t,ref:a})}),[bC,yC]=sc(kb,{isInside:!1}),vC=h0("TooltipContent"),Cb=f.forwardRef((t,r)=>{const{__scopeTooltip:s,children:n,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...l}=t,c=nc(yi,s),d=Vh(s),{onClose:j}=c;return f.useEffect(()=>(document.addEventListener(eg,j),()=>document.removeEventListener(eg,j)),[j]),f.useEffect(()=>{if(c.trigger){const m=b=>{const g=b.target;g!=null&&g.contains(c.trigger)&&j()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[c.trigger,j]),e.jsx(Wl,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:m=>m.preventDefault(),onDismiss:j,children:e.jsxs(bb,{"data-state":c.stateAttribute,...d,...l,ref:r,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[e.jsx(vC,{children:n}),e.jsx(bC,{scope:s,isInside:!0,children:e.jsx(D0,{id:c.contentId,role:"tooltip",children:i||n})})]})})});Mb.displayName=yi;var Sb="TooltipArrow",wC=f.forwardRef((t,r)=>{const{__scopeTooltip:s,...n}=t,i=Vh(s);return yC(Sb,s).isInside?null:e.jsx(yb,{...i,...n,ref:r})});wC.displayName=Sb;function NC(t,r){const s=Math.abs(r.top-t.y),n=Math.abs(r.bottom-t.y),i=Math.abs(r.right-t.x),a=Math.abs(r.left-t.x);switch(Math.min(s,n,i,a)){case a:return"left";case i:return"right";case s:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function kC(t,r,s=5){const n=[];switch(r){case"top":n.push({x:t.x-s,y:t.y+s},{x:t.x+s,y:t.y+s});break;case"bottom":n.push({x:t.x-s,y:t.y-s},{x:t.x+s,y:t.y-s});break;case"left":n.push({x:t.x+s,y:t.y-s},{x:t.x+s,y:t.y+s});break;case"right":n.push({x:t.x-s,y:t.y-s},{x:t.x-s,y:t.y+s});break}return n}function MC(t){const{top:r,right:s,bottom:n,left:i}=t;return[{x:i,y:r},{x:s,y:r},{x:s,y:n},{x:i,y:n}]}function CC(t,r){const{x:s,y:n}=t;let i=!1;for(let a=0,o=r.length-1;a<r.length;o=a++){const l=r[a],c=r[o],d=l.x,j=l.y,m=c.x,b=c.y;j>n!=b>n&&s<(m-d)*(n-j)/(b-j)+d&&(i=!i)}return i}function SC(t){const r=t.slice();return r.sort((s,n)=>s.x<n.x?-1:s.x>n.x?1:s.y<n.y?-1:s.y>n.y?1:0),TC(r)}function TC(t){if(t.length<=1)return t.slice();const r=[];for(let n=0;n<t.length;n++){const i=t[n];for(;r.length>=2;){const a=r[r.length-1],o=r[r.length-2];if((a.x-o.x)*(i.y-o.y)>=(a.y-o.y)*(i.x-o.x))r.pop();else break}r.push(i)}r.pop();const s=[];for(let n=t.length-1;n>=0;n--){const i=t[n];for(;s.length>=2;){const a=s[s.length-1],o=s[s.length-2];if((a.x-o.x)*(i.y-o.y)>=(a.y-o.y)*(i.x-o.x))s.pop();else break}s.push(i)}return s.pop(),r.length===1&&s.length===1&&r[0].x===s[0].x&&r[0].y===s[0].y?r:r.concat(s)}var PC=Nb,Tb=Mb;const EC=PC,GC=f.forwardRef(({className:t,sideOffset:r=4,...s},n)=>e.jsx(Tb,{ref:n,sideOffset:r,className:de("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s}));GC.displayName=Tb.displayName;var ic=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ac=typeof window>"u"||"Deno"in globalThis;function rr(){}function BC(t,r){return typeof t=="function"?t(r):t}function AC(t){return typeof t=="number"&&t>=0&&t!==1/0}function RC(t,r){return Math.max(t+(r||0)-Date.now(),0)}function yu(t,r){return typeof t=="function"?t(r):t}function DC(t,r){return typeof t=="function"?t(r):t}function tg(t,r){const{type:s="all",exact:n,fetchStatus:i,predicate:a,queryKey:o,stale:l}=t;if(o){if(n){if(r.queryHash!==Yh(o,r.options))return!1}else if(!Sa(r.queryKey,o))return!1}if(s!=="all"){const c=r.isActive();if(s==="active"&&!c||s==="inactive"&&c)return!1}return!(typeof l=="boolean"&&r.isStale()!==l||i&&i!==r.state.fetchStatus||a&&!a(r))}function rg(t,r){const{exact:s,status:n,predicate:i,mutationKey:a}=t;if(a){if(!r.options.mutationKey)return!1;if(s){if(Ca(r.options.mutationKey)!==Ca(a))return!1}else if(!Sa(r.options.mutationKey,a))return!1}return!(n&&r.state.status!==n||i&&!i(r))}function Yh(t,r){return((r==null?void 0:r.queryKeyHashFn)||Ca)(t)}function Ca(t){return JSON.stringify(t,(r,s)=>vu(s)?Object.keys(s).sort().reduce((n,i)=>(n[i]=s[i],n),{}):s)}function Sa(t,r){return t===r?!0:typeof t!=typeof r?!1:t&&r&&typeof t=="object"&&typeof r=="object"?Object.keys(r).every(s=>Sa(t[s],r[s])):!1}function Pb(t,r){if(t===r)return t;const s=sg(t)&&sg(r);if(s||vu(t)&&vu(r)){const n=s?t:Object.keys(t),i=n.length,a=s?r:Object.keys(r),o=a.length,l=s?[]:{},c=new Set(n);let d=0;for(let j=0;j<o;j++){const m=s?j:a[j];(!s&&c.has(m)||s)&&t[m]===void 0&&r[m]===void 0?(l[m]=void 0,d++):(l[m]=Pb(t[m],r[m]),l[m]===t[m]&&t[m]!==void 0&&d++)}return i===o&&d===i?t:l}return r}function sg(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function vu(t){if(!ng(t))return!1;const r=t.constructor;if(r===void 0)return!0;const s=r.prototype;return!(!ng(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function ng(t){return Object.prototype.toString.call(t)==="[object Object]"}function IC(t){return new Promise(r=>{setTimeout(r,t)})}function FC(t,r,s){return typeof s.structuralSharing=="function"?s.structuralSharing(t,r):s.structuralSharing!==!1?Pb(t,r):r}function LC(t,r,s=0){const n=[...t,r];return s&&n.length>s?n.slice(1):n}function OC(t,r,s=0){const n=[r,...t];return s&&n.length>s?n.slice(0,-1):n}var Kh=Symbol();function Eb(t,r){return!t.queryFn&&(r!=null&&r.initialPromise)?()=>r.initialPromise:!t.queryFn||t.queryFn===Kh?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}var Xs,xs,ti,Rg,zC=(Rg=class extends ic{constructor(){super();fe(this,Xs);fe(this,xs);fe(this,ti);ae(this,ti,r=>{if(!ac&&window.addEventListener){const s=()=>r();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){A(this,xs)||this.setEventListener(A(this,ti))}onUnsubscribe(){var r;this.hasListeners()||((r=A(this,xs))==null||r.call(this),ae(this,xs,void 0))}setEventListener(r){var s;ae(this,ti,r),(s=A(this,xs))==null||s.call(this),ae(this,xs,r(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(r){A(this,Xs)!==r&&(ae(this,Xs,r),this.onFocus())}onFocus(){const r=this.isFocused();this.listeners.forEach(s=>{s(r)})}isFocused(){var r;return typeof A(this,Xs)=="boolean"?A(this,Xs):((r=globalThis.document)==null?void 0:r.visibilityState)!=="hidden"}},Xs=new WeakMap,xs=new WeakMap,ti=new WeakMap,Rg),Gb=new zC,ri,gs,si,Dg,HC=(Dg=class extends ic{constructor(){super();fe(this,ri,!0);fe(this,gs);fe(this,si);ae(this,si,r=>{if(!ac&&window.addEventListener){const s=()=>r(!0),n=()=>r(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",n)}}})}onSubscribe(){A(this,gs)||this.setEventListener(A(this,si))}onUnsubscribe(){var r;this.hasListeners()||((r=A(this,gs))==null||r.call(this),ae(this,gs,void 0))}setEventListener(r){var s;ae(this,si,r),(s=A(this,gs))==null||s.call(this),ae(this,gs,r(this.setOnline.bind(this)))}setOnline(r){A(this,ri)!==r&&(ae(this,ri,r),this.listeners.forEach(n=>{n(r)}))}isOnline(){return A(this,ri)}},ri=new WeakMap,gs=new WeakMap,si=new WeakMap,Dg),vl=new HC;function qC(){let t,r;const s=new Promise((i,a)=>{t=i,r=a});s.status="pending",s.catch(()=>{});function n(i){Object.assign(s,i),delete s.resolve,delete s.reject}return s.resolve=i=>{n({status:"fulfilled",value:i}),t(i)},s.reject=i=>{n({status:"rejected",reason:i}),r(i)},s}function _C(t){return Math.min(1e3*2**t,3e4)}function Bb(t){return(t??"online")==="online"?vl.isOnline():!0}var Ab=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function rd(t){return t instanceof Ab}function Rb(t){let r=!1,s=0,n=!1,i;const a=qC(),o=h=>{var v;n||(b(new Ab(h)),(v=t.abort)==null||v.call(t))},l=()=>{r=!0},c=()=>{r=!1},d=()=>Gb.isFocused()&&(t.networkMode==="always"||vl.isOnline())&&t.canRun(),j=()=>Bb(t.networkMode)&&t.canRun(),m=h=>{var v;n||(n=!0,(v=t.onSuccess)==null||v.call(t,h),i==null||i(),a.resolve(h))},b=h=>{var v;n||(n=!0,(v=t.onError)==null||v.call(t,h),i==null||i(),a.reject(h))},g=()=>new Promise(h=>{var v;i=x=>{(n||d())&&h(x)},(v=t.onPause)==null||v.call(t)}).then(()=>{var h;i=void 0,n||(h=t.onContinue)==null||h.call(t)}),y=()=>{if(n)return;let h;const v=s===0?t.initialPromise:void 0;try{h=v??t.fn()}catch(x){h=Promise.reject(x)}Promise.resolve(h).then(m).catch(x=>{var M;if(n)return;const u=t.retry??(ac?0:3),w=t.retryDelay??_C,N=typeof w=="function"?w(s,x):w,k=u===!0||typeof u=="number"&&s<u||typeof u=="function"&&u(s,x);if(r||!k){b(x);return}s++,(M=t.onFail)==null||M.call(t,s,x),IC(N).then(()=>d()?void 0:g()).then(()=>{r?b(x):y()})})};return{promise:a,cancel:o,continue:()=>(i==null||i(),a),cancelRetry:l,continueRetry:c,canStart:j,start:()=>(j()?y():g().then(y),a)}}var UC=t=>setTimeout(t,0);function WC(){let t=[],r=0,s=l=>{l()},n=l=>{l()},i=UC;const a=l=>{r?t.push(l):i(()=>{s(l)})},o=()=>{const l=t;t=[],l.length&&i(()=>{n(()=>{l.forEach(c=>{s(c)})})})};return{batch:l=>{let c;r++;try{c=l()}finally{r--,r||o()}return c},batchCalls:l=>(...c)=>{a(()=>{l(...c)})},schedule:a,setNotifyFunction:l=>{s=l},setBatchNotifyFunction:l=>{n=l},setScheduler:l=>{i=l}}}var ut=WC(),Js,Ig,Db=(Ig=class{constructor(){fe(this,Js)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),AC(this.gcTime)&&ae(this,Js,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(ac?1/0:5*60*1e3))}clearGcTimeout(){A(this,Js)&&(clearTimeout(A(this,Js)),ae(this,Js,void 0))}},Js=new WeakMap,Ig),ni,Zs,Ft,en,nt,Ba,tn,sr,Rr,Fg,$C=(Fg=class extends Db{constructor(r){super();fe(this,sr);fe(this,ni);fe(this,Zs);fe(this,Ft);fe(this,en);fe(this,nt);fe(this,Ba);fe(this,tn);ae(this,tn,!1),ae(this,Ba,r.defaultOptions),this.setOptions(r.options),this.observers=[],ae(this,en,r.client),ae(this,Ft,A(this,en).getQueryCache()),this.queryKey=r.queryKey,this.queryHash=r.queryHash,ae(this,ni,YC(this.options)),this.state=r.state??A(this,ni),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var r;return(r=A(this,nt))==null?void 0:r.promise}setOptions(r){this.options={...A(this,Ba),...r},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&A(this,Ft).remove(this)}setData(r,s){const n=FC(this.state.data,r,this.options);return tt(this,sr,Rr).call(this,{data:n,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),n}setState(r,s){tt(this,sr,Rr).call(this,{type:"setState",state:r,setStateOptions:s})}cancel(r){var n,i;const s=(n=A(this,nt))==null?void 0:n.promise;return(i=A(this,nt))==null||i.cancel(r),s?s.then(rr).catch(rr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(A(this,ni))}isActive(){return this.observers.some(r=>DC(r.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Kh||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(r=>yu(r.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(r=>r.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(r=0){return this.state.data===void 0?!0:r==="static"?!1:this.state.isInvalidated?!0:!RC(this.state.dataUpdatedAt,r)}onFocus(){var s;const r=this.observers.find(n=>n.shouldFetchOnWindowFocus());r==null||r.refetch({cancelRefetch:!1}),(s=A(this,nt))==null||s.continue()}onOnline(){var s;const r=this.observers.find(n=>n.shouldFetchOnReconnect());r==null||r.refetch({cancelRefetch:!1}),(s=A(this,nt))==null||s.continue()}addObserver(r){this.observers.includes(r)||(this.observers.push(r),this.clearGcTimeout(),A(this,Ft).notify({type:"observerAdded",query:this,observer:r}))}removeObserver(r){this.observers.includes(r)&&(this.observers=this.observers.filter(s=>s!==r),this.observers.length||(A(this,nt)&&(A(this,tn)?A(this,nt).cancel({revert:!0}):A(this,nt).cancelRetry()),this.scheduleGc()),A(this,Ft).notify({type:"observerRemoved",query:this,observer:r}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||tt(this,sr,Rr).call(this,{type:"invalidate"})}fetch(r,s){var d,j,m;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(A(this,nt))return A(this,nt).continueRetry(),A(this,nt).promise}if(r&&this.setOptions(r),!this.options.queryFn){const b=this.observers.find(g=>g.options.queryFn);b&&this.setOptions(b.options)}const n=new AbortController,i=b=>{Object.defineProperty(b,"signal",{enumerable:!0,get:()=>(ae(this,tn,!0),n.signal)})},a=()=>{const b=Eb(this.options,s),y=(()=>{const h={client:A(this,en),queryKey:this.queryKey,meta:this.meta};return i(h),h})();return ae(this,tn,!1),this.options.persister?this.options.persister(b,y,this):b(y)},l=(()=>{const b={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:A(this,en),state:this.state,fetchFn:a};return i(b),b})();(d=this.options.behavior)==null||d.onFetch(l,this),ae(this,Zs,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((j=l.fetchOptions)==null?void 0:j.meta))&&tt(this,sr,Rr).call(this,{type:"fetch",meta:(m=l.fetchOptions)==null?void 0:m.meta});const c=b=>{var g,y,h,v;rd(b)&&b.silent||tt(this,sr,Rr).call(this,{type:"error",error:b}),rd(b)||((y=(g=A(this,Ft).config).onError)==null||y.call(g,b,this),(v=(h=A(this,Ft).config).onSettled)==null||v.call(h,this.state.data,b,this)),this.scheduleGc()};return ae(this,nt,Rb({initialPromise:s==null?void 0:s.initialPromise,fn:l.fetchFn,abort:n.abort.bind(n),onSuccess:b=>{var g,y,h,v;if(b===void 0){c(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(b)}catch(x){c(x);return}(y=(g=A(this,Ft).config).onSuccess)==null||y.call(g,b,this),(v=(h=A(this,Ft).config).onSettled)==null||v.call(h,b,this.state.error,this),this.scheduleGc()},onError:c,onFail:(b,g)=>{tt(this,sr,Rr).call(this,{type:"failed",failureCount:b,error:g})},onPause:()=>{tt(this,sr,Rr).call(this,{type:"pause"})},onContinue:()=>{tt(this,sr,Rr).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0})),A(this,nt).start()}},ni=new WeakMap,Zs=new WeakMap,Ft=new WeakMap,en=new WeakMap,nt=new WeakMap,Ba=new WeakMap,tn=new WeakMap,sr=new WeakSet,Rr=function(r){const s=n=>{switch(r.type){case"failed":return{...n,fetchFailureCount:r.failureCount,fetchFailureReason:r.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...VC(n.data,this.options),fetchMeta:r.meta??null};case"success":return ae(this,Zs,void 0),{...n,data:r.data,dataUpdateCount:n.dataUpdateCount+1,dataUpdatedAt:r.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!r.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const i=r.error;return rd(i)&&i.revert&&A(this,Zs)?{...A(this,Zs),fetchStatus:"idle"}:{...n,error:i,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...r.state}}};this.state=s(this.state),ut.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),A(this,Ft).notify({query:this,type:"updated",action:r})})},Fg);function VC(t,r){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Bb(r.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function YC(t){const r=typeof t.initialData=="function"?t.initialData():t.initialData,s=r!==void 0,n=s?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:r,dataUpdateCount:0,dataUpdatedAt:s?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var br,Lg,KC=(Lg=class extends ic{constructor(r={}){super();fe(this,br);this.config=r,ae(this,br,new Map)}build(r,s,n){const i=s.queryKey,a=s.queryHash??Yh(i,s);let o=this.get(a);return o||(o=new $C({client:r,queryKey:i,queryHash:a,options:r.defaultQueryOptions(s),state:n,defaultOptions:r.getQueryDefaults(i)}),this.add(o)),o}add(r){A(this,br).has(r.queryHash)||(A(this,br).set(r.queryHash,r),this.notify({type:"added",query:r}))}remove(r){const s=A(this,br).get(r.queryHash);s&&(r.destroy(),s===r&&A(this,br).delete(r.queryHash),this.notify({type:"removed",query:r}))}clear(){ut.batch(()=>{this.getAll().forEach(r=>{this.remove(r)})})}get(r){return A(this,br).get(r)}getAll(){return[...A(this,br).values()]}find(r){const s={exact:!0,...r};return this.getAll().find(n=>tg(s,n))}findAll(r={}){const s=this.getAll();return Object.keys(r).length>0?s.filter(n=>tg(r,n)):s}notify(r){ut.batch(()=>{this.listeners.forEach(s=>{s(r)})})}onFocus(){ut.batch(()=>{this.getAll().forEach(r=>{r.onFocus()})})}onOnline(){ut.batch(()=>{this.getAll().forEach(r=>{r.onOnline()})})}},br=new WeakMap,Lg),yr,ct,rn,vr,os,Og,QC=(Og=class extends Db{constructor(r){super();fe(this,vr);fe(this,yr);fe(this,ct);fe(this,rn);this.mutationId=r.mutationId,ae(this,ct,r.mutationCache),ae(this,yr,[]),this.state=r.state||XC(),this.setOptions(r.options),this.scheduleGc()}setOptions(r){this.options=r,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(r){A(this,yr).includes(r)||(A(this,yr).push(r),this.clearGcTimeout(),A(this,ct).notify({type:"observerAdded",mutation:this,observer:r}))}removeObserver(r){ae(this,yr,A(this,yr).filter(s=>s!==r)),this.scheduleGc(),A(this,ct).notify({type:"observerRemoved",mutation:this,observer:r})}optionalRemove(){A(this,yr).length||(this.state.status==="pending"?this.scheduleGc():A(this,ct).remove(this))}continue(){var r;return((r=A(this,rn))==null?void 0:r.continue())??this.execute(this.state.variables)}async execute(r){var a,o,l,c,d,j,m,b,g,y,h,v,x,u,w,N,k,M,C,P;const s=()=>{tt(this,vr,os).call(this,{type:"continue"})};ae(this,rn,Rb({fn:()=>this.options.mutationFn?this.options.mutationFn(r):Promise.reject(new Error("No mutationFn found")),onFail:(R,B)=>{tt(this,vr,os).call(this,{type:"failed",failureCount:R,error:B})},onPause:()=>{tt(this,vr,os).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>A(this,ct).canRun(this)}));const n=this.state.status==="pending",i=!A(this,rn).canStart();try{if(n)s();else{tt(this,vr,os).call(this,{type:"pending",variables:r,isPaused:i}),await((o=(a=A(this,ct).config).onMutate)==null?void 0:o.call(a,r,this));const B=await((c=(l=this.options).onMutate)==null?void 0:c.call(l,r));B!==this.state.context&&tt(this,vr,os).call(this,{type:"pending",context:B,variables:r,isPaused:i})}const R=await A(this,rn).start();return await((j=(d=A(this,ct).config).onSuccess)==null?void 0:j.call(d,R,r,this.state.context,this)),await((b=(m=this.options).onSuccess)==null?void 0:b.call(m,R,r,this.state.context)),await((y=(g=A(this,ct).config).onSettled)==null?void 0:y.call(g,R,null,this.state.variables,this.state.context,this)),await((v=(h=this.options).onSettled)==null?void 0:v.call(h,R,null,r,this.state.context)),tt(this,vr,os).call(this,{type:"success",data:R}),R}catch(R){try{throw await((u=(x=A(this,ct).config).onError)==null?void 0:u.call(x,R,r,this.state.context,this)),await((N=(w=this.options).onError)==null?void 0:N.call(w,R,r,this.state.context)),await((M=(k=A(this,ct).config).onSettled)==null?void 0:M.call(k,void 0,R,this.state.variables,this.state.context,this)),await((P=(C=this.options).onSettled)==null?void 0:P.call(C,void 0,R,r,this.state.context)),R}finally{tt(this,vr,os).call(this,{type:"error",error:R})}}finally{A(this,ct).runNext(this)}}},yr=new WeakMap,ct=new WeakMap,rn=new WeakMap,vr=new WeakSet,os=function(r){const s=n=>{switch(r.type){case"failed":return{...n,failureCount:r.failureCount,failureReason:r.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:r.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:r.isPaused,status:"pending",variables:r.variables,submittedAt:Date.now()};case"success":return{...n,data:r.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:r.error,failureCount:n.failureCount+1,failureReason:r.error,isPaused:!1,status:"error"}}};this.state=s(this.state),ut.batch(()=>{A(this,yr).forEach(n=>{n.onMutationUpdate(r)}),A(this,ct).notify({mutation:this,type:"updated",action:r})})},Og);function XC(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Fr,nr,Aa,zg,JC=(zg=class extends ic{constructor(r={}){super();fe(this,Fr);fe(this,nr);fe(this,Aa);this.config=r,ae(this,Fr,new Set),ae(this,nr,new Map),ae(this,Aa,0)}build(r,s,n){const i=new QC({mutationCache:this,mutationId:++Xa(this,Aa)._,options:r.defaultMutationOptions(s),state:n});return this.add(i),i}add(r){A(this,Fr).add(r);const s=vo(r);if(typeof s=="string"){const n=A(this,nr).get(s);n?n.push(r):A(this,nr).set(s,[r])}this.notify({type:"added",mutation:r})}remove(r){if(A(this,Fr).delete(r)){const s=vo(r);if(typeof s=="string"){const n=A(this,nr).get(s);if(n)if(n.length>1){const i=n.indexOf(r);i!==-1&&n.splice(i,1)}else n[0]===r&&A(this,nr).delete(s)}}this.notify({type:"removed",mutation:r})}canRun(r){const s=vo(r);if(typeof s=="string"){const n=A(this,nr).get(s),i=n==null?void 0:n.find(a=>a.state.status==="pending");return!i||i===r}else return!0}runNext(r){var n;const s=vo(r);if(typeof s=="string"){const i=(n=A(this,nr).get(s))==null?void 0:n.find(a=>a!==r&&a.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){ut.batch(()=>{A(this,Fr).forEach(r=>{this.notify({type:"removed",mutation:r})}),A(this,Fr).clear(),A(this,nr).clear()})}getAll(){return Array.from(A(this,Fr))}find(r){const s={exact:!0,...r};return this.getAll().find(n=>rg(s,n))}findAll(r={}){return this.getAll().filter(s=>rg(r,s))}notify(r){ut.batch(()=>{this.listeners.forEach(s=>{s(r)})})}resumePausedMutations(){const r=this.getAll().filter(s=>s.state.isPaused);return ut.batch(()=>Promise.all(r.map(s=>s.continue().catch(rr))))}},Fr=new WeakMap,nr=new WeakMap,Aa=new WeakMap,zg);function vo(t){var r;return(r=t.options.scope)==null?void 0:r.id}function ig(t){return{onFetch:(r,s)=>{var j,m,b,g,y;const n=r.options,i=(b=(m=(j=r.fetchOptions)==null?void 0:j.meta)==null?void 0:m.fetchMore)==null?void 0:b.direction,a=((g=r.state.data)==null?void 0:g.pages)||[],o=((y=r.state.data)==null?void 0:y.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const d=async()=>{let h=!1;const v=w=>{Object.defineProperty(w,"signal",{enumerable:!0,get:()=>(r.signal.aborted?h=!0:r.signal.addEventListener("abort",()=>{h=!0}),r.signal)})},x=Eb(r.options,r.fetchOptions),u=async(w,N,k)=>{if(h)return Promise.reject();if(N==null&&w.pages.length)return Promise.resolve(w);const C=(()=>{const I={client:r.client,queryKey:r.queryKey,pageParam:N,direction:k?"backward":"forward",meta:r.options.meta};return v(I),I})(),P=await x(C),{maxPages:R}=r.options,B=k?OC:LC;return{pages:B(w.pages,P,R),pageParams:B(w.pageParams,N,R)}};if(i&&a.length){const w=i==="backward",N=w?ZC:ag,k={pages:a,pageParams:o},M=N(n,k);l=await u(k,M,w)}else{const w=t??a.length;do{const N=c===0?o[0]??n.initialPageParam:ag(n,l);if(c>0&&N==null)break;l=await u(l,N),c++}while(c<w)}return l};r.options.persister?r.fetchFn=()=>{var h,v;return(v=(h=r.options).persister)==null?void 0:v.call(h,d,{client:r.client,queryKey:r.queryKey,meta:r.options.meta,signal:r.signal},s)}:r.fetchFn=d}}}function ag(t,{pages:r,pageParams:s}){const n=r.length-1;return r.length>0?t.getNextPageParam(r[n],r,s[n],s):void 0}function ZC(t,{pages:r,pageParams:s}){var n;return r.length>0?(n=t.getPreviousPageParam)==null?void 0:n.call(t,r[0],r,s[0],s):void 0}var Ie,fs,ps,ii,ai,js,oi,li,Hg,eS=(Hg=class{constructor(t={}){fe(this,Ie);fe(this,fs);fe(this,ps);fe(this,ii);fe(this,ai);fe(this,js);fe(this,oi);fe(this,li);ae(this,Ie,t.queryCache||new KC),ae(this,fs,t.mutationCache||new JC),ae(this,ps,t.defaultOptions||{}),ae(this,ii,new Map),ae(this,ai,new Map),ae(this,js,0)}mount(){Xa(this,js)._++,A(this,js)===1&&(ae(this,oi,Gb.subscribe(async t=>{t&&(await this.resumePausedMutations(),A(this,Ie).onFocus())})),ae(this,li,vl.subscribe(async t=>{t&&(await this.resumePausedMutations(),A(this,Ie).onOnline())})))}unmount(){var t,r;Xa(this,js)._--,A(this,js)===0&&((t=A(this,oi))==null||t.call(this),ae(this,oi,void 0),(r=A(this,li))==null||r.call(this),ae(this,li,void 0))}isFetching(t){return A(this,Ie).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return A(this,fs).findAll({...t,status:"pending"}).length}getQueryData(t){var s;const r=this.defaultQueryOptions({queryKey:t});return(s=A(this,Ie).get(r.queryHash))==null?void 0:s.state.data}ensureQueryData(t){const r=this.defaultQueryOptions(t),s=A(this,Ie).build(this,r),n=s.state.data;return n===void 0?this.fetchQuery(t):(t.revalidateIfStale&&s.isStaleByTime(yu(r.staleTime,s))&&this.prefetchQuery(r),Promise.resolve(n))}getQueriesData(t){return A(this,Ie).findAll(t).map(({queryKey:r,state:s})=>{const n=s.data;return[r,n]})}setQueryData(t,r,s){const n=this.defaultQueryOptions({queryKey:t}),i=A(this,Ie).get(n.queryHash),a=i==null?void 0:i.state.data,o=BC(r,a);if(o!==void 0)return A(this,Ie).build(this,n).setData(o,{...s,manual:!0})}setQueriesData(t,r,s){return ut.batch(()=>A(this,Ie).findAll(t).map(({queryKey:n})=>[n,this.setQueryData(n,r,s)]))}getQueryState(t){var s;const r=this.defaultQueryOptions({queryKey:t});return(s=A(this,Ie).get(r.queryHash))==null?void 0:s.state}removeQueries(t){const r=A(this,Ie);ut.batch(()=>{r.findAll(t).forEach(s=>{r.remove(s)})})}resetQueries(t,r){const s=A(this,Ie);return ut.batch(()=>(s.findAll(t).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...t},r)))}cancelQueries(t,r={}){const s={revert:!0,...r},n=ut.batch(()=>A(this,Ie).findAll(t).map(i=>i.cancel(s)));return Promise.all(n).then(rr).catch(rr)}invalidateQueries(t,r={}){return ut.batch(()=>(A(this,Ie).findAll(t).forEach(s=>{s.invalidate()}),(t==null?void 0:t.refetchType)==="none"?Promise.resolve():this.refetchQueries({...t,type:(t==null?void 0:t.refetchType)??(t==null?void 0:t.type)??"active"},r)))}refetchQueries(t,r={}){const s={...r,cancelRefetch:r.cancelRefetch??!0},n=ut.batch(()=>A(this,Ie).findAll(t).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let a=i.fetch(void 0,s);return s.throwOnError||(a=a.catch(rr)),i.state.fetchStatus==="paused"?Promise.resolve():a}));return Promise.all(n).then(rr)}fetchQuery(t){const r=this.defaultQueryOptions(t);r.retry===void 0&&(r.retry=!1);const s=A(this,Ie).build(this,r);return s.isStaleByTime(yu(r.staleTime,s))?s.fetch(r):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(rr).catch(rr)}fetchInfiniteQuery(t){return t.behavior=ig(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(rr).catch(rr)}ensureInfiniteQueryData(t){return t.behavior=ig(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return vl.isOnline()?A(this,fs).resumePausedMutations():Promise.resolve()}getQueryCache(){return A(this,Ie)}getMutationCache(){return A(this,fs)}getDefaultOptions(){return A(this,ps)}setDefaultOptions(t){ae(this,ps,t)}setQueryDefaults(t,r){A(this,ii).set(Ca(t),{queryKey:t,defaultOptions:r})}getQueryDefaults(t){const r=[...A(this,ii).values()],s={};return r.forEach(n=>{Sa(t,n.queryKey)&&Object.assign(s,n.defaultOptions)}),s}setMutationDefaults(t,r){A(this,ai).set(Ca(t),{mutationKey:t,defaultOptions:r})}getMutationDefaults(t){const r=[...A(this,ai).values()],s={};return r.forEach(n=>{Sa(t,n.mutationKey)&&Object.assign(s,n.defaultOptions)}),s}defaultQueryOptions(t){if(t._defaulted)return t;const r={...A(this,ps).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return r.queryHash||(r.queryHash=Yh(r.queryKey,r)),r.refetchOnReconnect===void 0&&(r.refetchOnReconnect=r.networkMode!=="always"),r.throwOnError===void 0&&(r.throwOnError=!!r.suspense),!r.networkMode&&r.persister&&(r.networkMode="offlineFirst"),r.queryFn===Kh&&(r.enabled=!1),r}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...A(this,ps).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){A(this,Ie).clear(),A(this,fs).clear()}},Ie=new WeakMap,fs=new WeakMap,ps=new WeakMap,ii=new WeakMap,ai=new WeakMap,js=new WeakMap,oi=new WeakMap,li=new WeakMap,Hg),tS=f.createContext(void 0),rS=({client:t,children:r})=>(f.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),e.jsx(tS.Provider,{value:t,children:r}));/**
* @remix-run/router v1.23.0
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/function Ta(){return Ta=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var s=arguments[r];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n])}return t},Ta.apply(this,arguments)}var vs;(function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"})(vs||(vs={}));const og="popstate";function sS(t){t===void 0&&(t={});function r(n,i){let{pathname:a,search:o,hash:l}=n.location;return wu("",{pathname:a,search:o,hash:l},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function s(n,i){return typeof i=="string"?i:wl(i)}return iS(r,s,null,t)}function We(t,r){if(t===!1||t===null||typeof t>"u")throw new Error(r)}function Ib(t,r){if(!t){typeof console<"u"&&console.warn(r);try{throw new Error(r)}catch{}}}function nS(){return Math.random().toString(36).substr(2,8)}function lg(t,r){return{usr:t.state,key:t.key,idx:r}}function wu(t,r,s,n){return s===void 0&&(s=null),Ta({pathname:typeof t=="string"?t:t.pathname,search:"",hash:""},typeof r=="string"?Ti(r):r,{state:s,key:r&&r.key||n||nS()})}function wl(t){let{pathname:r="/",search:s="",hash:n=""}=t;return s&&s!=="?"&&(r+=s.charAt(0)==="?"?s:"?"+s),n&&n!=="#"&&(r+=n.charAt(0)==="#"?n:"#"+n),r}function Ti(t){let r={};if(t){let s=t.indexOf("#");s>=0&&(r.hash=t.substr(s),t=t.substr(0,s));let n=t.indexOf("?");n>=0&&(r.search=t.substr(n),t=t.substr(0,n)),t&&(r.pathname=t)}return r}function iS(t,r,s,n){n===void 0&&(n={});let{window:i=document.defaultView,v5Compat:a=!1}=n,o=i.history,l=vs.Pop,c=null,d=j();d==null&&(d=0,o.replaceState(Ta({},o.state,{idx:d}),""));function j(){return(o.state||{idx:null}).idx}function m(){l=vs.Pop;let v=j(),x=v==null?null:v-d;d=v,c&&c({action:l,location:h.location,delta:x})}function b(v,x){l=vs.Push;let u=wu(h.location,v,x);d=j()+1;let w=lg(u,d),N=h.createHref(u);try{o.pushState(w,"",N)}catch(k){if(k instanceof DOMException&&k.name==="DataCloneError")throw k;i.location.assign(N)}a&&c&&c({action:l,location:h.location,delta:1})}function g(v,x){l=vs.Replace;let u=wu(h.location,v,x);d=j();let w=lg(u,d),N=h.createHref(u);o.replaceState(w,"",N),a&&c&&c({action:l,location:h.location,delta:0})}function y(v){let x=i.location.origin!=="null"?i.location.origin:i.location.href,u=typeof v=="string"?v:wl(v);return u=u.replace(/ $/,"%20"),We(x,"No window.location.(origin|href) available to create URL for href: "+u),new URL(u,x)}let h={get action(){return l},get location(){return t(i,o)},listen(v){if(c)throw new Error("A history only accepts one active listener");return i.addEventListener(og,m),c=v,()=>{i.removeEventListener(og,m),c=null}},createHref(v){return r(i,v)},createURL:y,encodeLocation(v){let x=y(v);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:b,replace:g,go(v){return o.go(v)}};return h}var cg;(function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"})(cg||(cg={}));function aS(t,r,s){return s===void 0&&(s="/"),oS(t,r,s,!1)}function oS(t,r,s,n){let i=typeof r=="string"?Ti(r):r,a=Qh(i.pathname||"/",s);if(a==null)return null;let o=Fb(t);lS(o);let l=null;for(let c=0;l==null&&c<o.length;++c){let d=bS(a);l=pS(o[c],d,n)}return l}function Fb(t,r,s,n){r===void 0&&(r=[]),s===void 0&&(s=[]),n===void 0&&(n="");let i=(a,o,l)=>{let c={relativePath:l===void 0?a.path||"":l,caseSensitive:a.caseSensitive===!0,childrenIndex:o,route:a};c.relativePath.startsWith("/")&&(We(c.relativePath.startsWith(n),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(n.length));let d=Gs([n,c.relativePath]),j=s.concat(c);a.children&&a.children.length>0&&(We(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),Fb(a.children,r,j,d)),!(a.path==null&&!a.index)&&r.push({path:d,score:gS(d,a.index),routesMeta:j})};return t.forEach((a,o)=>{var l;if(a.path===""||!((l=a.path)!=null&&l.includes("?")))i(a,o);else for(let c of Lb(a.path))i(a,o,c)}),r}function Lb(t){let r=t.split("/");if(r.length===0)return[];let[s,...n]=r,i=s.endsWith("?"),a=s.replace(/\?$/,"");if(n.length===0)return i?[a,""]:[a];let o=Lb(n.join("/")),l=[];return l.push(...o.map(c=>c===""?a:[a,c].join("/"))),i&&l.push(...o),l.map(c=>t.startsWith("/")&&c===""?"/":c)}function lS(t){t.sort((r,s)=>r.score!==s.score?s.score-r.score:fS(r.routesMeta.map(n=>n.childrenIndex),s.routesMeta.map(n=>n.childrenIndex)))}const cS=/^:[\w-]+$/,dS=3,uS=2,hS=1,mS=10,xS=-2,dg=t=>t==="*";function gS(t,r){let s=t.split("/"),n=s.length;return s.some(dg)&&(n+=xS),r&&(n+=uS),s.filter(i=>!dg(i)).reduce((i,a)=>i+(cS.test(a)?dS:a===""?hS:mS),n)}function fS(t,r){return t.length===r.length&&t.slice(0,-1).every((n,i)=>n===r[i])?t[t.length-1]-r[r.length-1]:0}function pS(t,r,s){let{routesMeta:n}=t,i={},a="/",o=[];for(let l=0;l<n.length;++l){let c=n[l],d=l===n.length-1,j=a==="/"?r:r.slice(a.length)||"/",m=ug({path:c.relativePath,caseSensitive:c.caseSensitive,end:d},j),b=c.route;if(!m&&d&&s&&!n[n.length-1].route.index&&(m=ug({path:c.relativePath,caseSensitive:c.caseSensitive,end:!1},j)),!m)return null;Object.assign(i,m.params),o.push({params:i,pathname:Gs([a,m.pathname]),pathnameBase:NS(Gs([a,m.pathnameBase])),route:b}),m.pathnameBase!=="/"&&(a=Gs([a,m.pathnameBase]))}return o}function ug(t,r){typeof t=="string"&&(t={path:t,caseSensitive:!1,end:!0});let[s,n]=jS(t.path,t.caseSensitive,t.end),i=r.match(s);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,"$1"),l=i.slice(1);return{params:n.reduce((d,j,m)=>{let{paramName:b,isOptional:g}=j;if(b==="*"){let h=l[m]||"";o=a.slice(0,a.length-h.length).replace(/(.)\/+$/,"$1")}const y=l[m];return g&&!y?d[b]=void 0:d[b]=(y||"").replace(/%2F/g,"/"),d},{}),pathname:a,pathnameBase:o,pattern:t}}function jS(t,r,s){r===void 0&&(r=!1),s===void 0&&(s=!0),Ib(t==="*"||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were '+('"'+t.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+t.replace(/\*$/,"/*")+'".'));let n=[],i="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,c)=>(n.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return t.endsWith("*")?(n.push({paramName:"*"}),i+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?i+="\\/*$":t!==""&&t!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,r?void 0:"i"),n]}function bS(t){try{return t.split("/").map(r=>decodeURIComponent(r).replace(/\//g,"%2F")).join("/")}catch(r){return Ib(!1,'The URL path "'+t+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+r+").")),t}}function Qh(t,r){if(r==="/")return t;if(!t.toLowerCase().startsWith(r.toLowerCase()))return null;let s=r.endsWith("/")?r.length-1:r.length,n=t.charAt(s);return n&&n!=="/"?null:t.slice(s)||"/"}function yS(t,r){r===void 0&&(r="/");let{pathname:s,search:n="",hash:i=""}=typeof t=="string"?Ti(t):t;return{pathname:s?s.startsWith("/")?s:vS(s,r):r,search:kS(n),hash:MS(i)}}function vS(t,r){let s=r.replace(/\/+$/,"").split("/");return t.split("/").forEach(i=>{i===".."?s.length>1&&s.pop():i!=="."&&s.push(i)}),s.length>1?s.join("/"):"/"}function sd(t,r,s,n){return"Cannot include a '"+t+"' character in a manually specified "+("`to."+r+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+s+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function wS(t){return t.filter((r,s)=>s===0||r.route.path&&r.route.path.length>0)}function Ob(t,r){let s=wS(t);return r?s.map((n,i)=>i===s.length-1?n.pathname:n.pathnameBase):s.map(n=>n.pathnameBase)}function zb(t,r,s,n){n===void 0&&(n=!1);let i;typeof t=="string"?i=Ti(t):(i=Ta({},t),We(!i.pathname||!i.pathname.includes("?"),sd("?","pathname","search",i)),We(!i.pathname||!i.pathname.includes("#"),sd("#","pathname","hash",i)),We(!i.search||!i.search.includes("#"),sd("#","search","hash",i)));let a=t===""||i.pathname==="",o=a?"/":i.pathname,l;if(o==null)l=s;else{let m=r.length-1;if(!n&&o.startsWith("..")){let b=o.split("/");for(;b[0]==="..";)b.shift(),m-=1;i.pathname=b.join("/")}l=m>=0?r[m]:"/"}let c=yS(i,l),d=o&&o!=="/"&&o.endsWith("/"),j=(a||o===".")&&s.endsWith("/");return!c.pathname.endsWith("/")&&(d||j)&&(c.pathname+="/"),c}const Gs=t=>t.join("/").replace(/\/\/+/g,"/"),NS=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),kS=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,MS=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function CS(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}const Hb=["post","put","patch","delete"];new Set(Hb);const SS=["get",...Hb];new Set(SS);/**
* React Router v6.30.1
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/function Pa(){return Pa=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var s=arguments[r];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n])}return t},Pa.apply(this,arguments)}const Xh=f.createContext(null),TS=f.createContext(null),fn=f.createContext(null),oc=f.createContext(null),pn=f.createContext({outlet:null,matches:[],isDataRoute:!1}),qb=f.createContext(null);function PS(t,r){let{relative:s}=r===void 0?{}:r;_a()||We(!1);let{basename:n,navigator:i}=f.useContext(fn),{hash:a,pathname:o,search:l}=Ub(t,{relative:s}),c=o;return n!=="/"&&(c=o==="/"?n:Gs([n,o])),i.createHref({pathname:c,search:l,hash:a})}function _a(){return f.useContext(oc)!=null}function Pi(){return _a()||We(!1),f.useContext(oc).location}function _b(t){f.useContext(fn).static||f.useLayoutEffect(t)}function ES(){let{isDataRoute:t}=f.useContext(pn);return t?_S():GS()}function GS(){_a()||We(!1);let t=f.useContext(Xh),{basename:r,future:s,navigator:n}=f.useContext(fn),{matches:i}=f.useContext(pn),{pathname:a}=Pi(),o=JSON.stringify(Ob(i,s.v7_relativeSplatPath)),l=f.useRef(!1);return _b(()=>{l.current=!0}),f.useCallback(function(d,j){if(j===void 0&&(j={}),!l.current)return;if(typeof d=="number"){n.go(d);return}let m=zb(d,JSON.parse(o),a,j.relative==="path");t==null&&r!=="/"&&(m.pathname=m.pathname==="/"?r:Gs([r,m.pathname])),(j.replace?n.replace:n.push)(m,j.state,j)},[r,n,o,a,t])}function Ub(t,r){let{relative:s}=r===void 0?{}:r,{future:n}=f.useContext(fn),{matches:i}=f.useContext(pn),{pathname:a}=Pi(),o=JSON.stringify(Ob(i,n.v7_relativeSplatPath));return f.useMemo(()=>zb(t,JSON.parse(o),a,s==="path"),[t,o,a,s])}function BS(t,r){return AS(t,r)}function AS(t,r,s,n){_a()||We(!1);let{navigator:i}=f.useContext(fn),{matches:a}=f.useContext(pn),o=a[a.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let d=Pi(),j;if(r){var m;let v=typeof r=="string"?Ti(r):r;c==="/"||(m=v.pathname)!=null&&m.startsWith(c)||We(!1),j=v}else j=d;let b=j.pathname||"/",g=b;if(c!=="/"){let v=c.replace(/^\//,"").split("/");g="/"+b.replace(/^\//,"").split("/").slice(v.length).join("/")}let y=aS(t,{pathname:g}),h=LS(y&&y.map(v=>Object.assign({},v,{params:Object.assign({},l,v.params),pathname:Gs([c,i.encodeLocation?i.encodeLocation(v.pathname).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?c:Gs([c,i.encodeLocation?i.encodeLocation(v.pathnameBase).pathname:v.pathnameBase])})),a,s,n);return r&&h?f.createElement(oc.Provider,{value:{location:Pa({pathname:"/",search:"",hash:"",state:null,key:"default"},j),navigationType:vs.Pop}},h):h}function RS(){let t=qS(),r=CS(t)?t.status+" "+t.statusText:t instanceof Error?t.message:JSON.stringify(t),s=t instanceof Error?t.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},r),s?f.createElement("pre",{style:i},s):null,null)}const DS=f.createElement(RS,null);class IS extends f.Component{constructor(r){super(r),this.state={location:r.location,revalidation:r.revalidation,error:r.error}}static getDerivedStateFromError(r){return{error:r}}static getDerivedStateFromProps(r,s){return s.location!==r.location||s.revalidation!=="idle"&&r.revalidation==="idle"?{error:r.error,location:r.location,revalidation:r.revalidation}:{error:r.error!==void 0?r.error:s.error,location:s.location,revalidation:r.revalidation||s.revalidation}}componentDidCatch(r,s){console.error("React Router caught the following error during render",r,s)}render(){return this.state.error!==void 0?f.createElement(pn.Provider,{value:this.props.routeContext},f.createElement(qb.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function FS(t){let{routeContext:r,match:s,children:n}=t,i=f.useContext(Xh);return i&&i.static&&i.staticContext&&(s.route.errorElement||s.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=s.route.id),f.createElement(pn.Provider,{value:r},n)}function LS(t,r,s,n){var i;if(r===void 0&&(r=[]),s===void 0&&(s=null),n===void 0&&(n=null),t==null){var a;if(!s)return null;if(s.errors)t=s.matches;else if((a=n)!=null&&a.v7_partialHydration&&r.length===0&&!s.initialized&&s.matches.length>0)t=s.matches;else return null}let o=t,l=(i=s)==null?void 0:i.errors;if(l!=null){let j=o.findIndex(m=>m.route.id&&(l==null?void 0:l[m.route.id])!==void 0);j>=0||We(!1),o=o.slice(0,Math.min(o.length,j+1))}let c=!1,d=-1;if(s&&n&&n.v7_partialHydration)for(let j=0;j<o.length;j++){let m=o[j];if((m.route.HydrateFallback||m.route.hydrateFallbackElement)&&(d=j),m.route.id){let{loaderData:b,errors:g}=s,y=m.route.loader&&b[m.route.id]===void 0&&(!g||g[m.route.id]===void 0);if(m.route.lazy||y){c=!0,d>=0?o=o.slice(0,d+1):o=[o[0]];break}}}return o.reduceRight((j,m,b)=>{let g,y=!1,h=null,v=null;s&&(g=l&&m.route.id?l[m.route.id]:void 0,h=m.route.errorElement||DS,c&&(d<0&&b===0?(y=!0,v=null):d===b&&(y=!0,v=m.route.hydrateFallbackElement||null)));let x=r.concat(o.slice(0,b+1)),u=()=>{let w;return g?w=h:y?w=v:m.route.Component?w=f.createElement(m.route.Component,null):m.route.element?w=m.route.element:w=j,f.createElement(FS,{match:m,routeContext:{outlet:j,matches:x,isDataRoute:s!=null},children:w})};return s&&(m.route.ErrorBoundary||m.route.errorElement||b===0)?f.createElement(IS,{location:s.location,revalidation:s.revalidation,component:h,error:g,children:u(),routeContext:{outlet:null,matches:x,isDataRoute:!0}}):u()},null)}var Wb=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(Wb||{}),Nl=function(t){return t.UseBlocker="useBlocker",t.UseLoaderData="useLoaderData",t.UseActionData="useActionData",t.UseRouteError="useRouteError",t.UseNavigation="useNavigation",t.UseRouteLoaderData="useRouteLoaderData",t.UseMatches="useMatches",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t.UseRouteId="useRouteId",t}(Nl||{});function OS(t){let r=f.useContext(Xh);return r||We(!1),r}function zS(t){let r=f.useContext(TS);return r||We(!1),r}function HS(t){let r=f.useContext(pn);return r||We(!1),r}function $b(t){let r=HS(),s=r.matches[r.matches.length-1];return s.route.id||We(!1),s.route.id}function qS(){var t;let r=f.useContext(qb),s=zS(Nl.UseRouteError),n=$b(Nl.UseRouteError);return r!==void 0?r:(t=s.errors)==null?void 0:t[n]}function _S(){let{router:t}=OS(Wb.UseNavigateStable),r=$b(Nl.UseNavigateStable),s=f.useRef(!1);return _b(()=>{s.current=!0}),f.useCallback(function(i,a){a===void 0&&(a={}),s.current&&(typeof i=="number"?t.navigate(i):t.navigate(i,Pa({fromRouteId:r},a)))},[t,r])}function US(t,r){t==null||t.v7_startTransition,t==null||t.v7_relativeSplatPath}function Z(t){We(!1)}function WS(t){let{basename:r="/",children:s=null,location:n,navigationType:i=vs.Pop,navigator:a,static:o=!1,future:l}=t;_a()&&We(!1);let c=r.replace(/^\/*/,"/"),d=f.useMemo(()=>({basename:c,navigator:a,static:o,future:Pa({v7_relativeSplatPath:!1},l)}),[c,l,a,o]);typeof n=="string"&&(n=Ti(n));let{pathname:j="/",search:m="",hash:b="",state:g=null,key:y="default"}=n,h=f.useMemo(()=>{let v=Qh(j,c);return v==null?null:{location:{pathname:v,search:m,hash:b,state:g,key:y},navigationType:i}},[c,j,m,b,g,y,i]);return h==null?null:f.createElement(fn.Provider,{value:d},f.createElement(oc.Provider,{children:s,value:h}))}function $S(t){let{children:r,location:s}=t;return BS(Nu(r),s)}new Promise(()=>{});function Nu(t,r){r===void 0&&(r=[]);let s=[];return f.Children.forEach(t,(n,i)=>{if(!f.isValidElement(n))return;let a=[...r,i];if(n.type===f.Fragment){s.push.apply(s,Nu(n.props.children,a));return}n.type!==Z&&We(!1),!n.props.index||!n.props.children||We(!1);let o={id:n.props.id||a.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(o.children=Nu(n.props.children,a)),s.push(o)}),s}/**
* React Router DOM v6.30.1
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/function ku(){return ku=Object.assign?Object.assign.bind():function(t){for(var r=1;r<arguments.length;r++){var s=arguments[r];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n])}return t},ku.apply(this,arguments)}function VS(t,r){if(t==null)return{};var s={},n=Object.keys(t),i,a;for(a=0;a<n.length;a++)i=n[a],!(r.indexOf(i)>=0)&&(s[i]=t[i]);return s}function YS(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function KS(t,r){return t.button===0&&(!r||r==="_self")&&!YS(t)}const QS=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],XS="6";try{window.__reactRouterVersion=XS}catch{}const JS="startTransition",hg=Ou[JS];function ZS(t){let{basename:r,children:s,future:n,window:i}=t,a=f.useRef();a.current==null&&(a.current=sS({window:i,v5Compat:!0}));let o=a.current,[l,c]=f.useState({action:o.action,location:o.location}),{v7_startTransition:d}=n||{},j=f.useCallback(m=>{d&&hg?hg(()=>c(m)):c(m)},[c,d]);return f.useLayoutEffect(()=>o.listen(j),[o,j]),f.useEffect(()=>US(n),[n]),f.createElement(WS,{basename:r,children:s,location:l.location,navigationType:l.action,navigator:o,future:n})}const e4=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",t4=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,p=f.forwardRef(function(r,s){let{onClick:n,relative:i,reloadDocument:a,replace:o,state:l,target:c,to:d,preventScrollReset:j,viewTransition:m}=r,b=VS(r,QS),{basename:g}=f.useContext(fn),y,h=!1;if(typeof d=="string"&&t4.test(d)&&(y=d,e4))try{let w=new URL(window.location.href),N=d.startsWith("//")?new URL(w.protocol+d):new URL(d),k=Qh(N.pathname,g);N.origin===w.origin&&k!=null?d=k+N.search+N.hash:h=!0}catch{}let v=PS(d,{relative:i}),x=r4(d,{replace:o,state:l,target:c,preventScrollReset:j,relative:i,viewTransition:m});function u(w){n&&n(w),w.defaultPrevented||x(w)}return f.createElement("a",ku({},b,{href:y||v,onClick:h||a?n:u,ref:s,target:c}))});var mg;(function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"})(mg||(mg={}));var xg;(function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"})(xg||(xg={}));function r4(t,r){let{target:s,replace:n,state:i,preventScrollReset:a,relative:o,viewTransition:l}=r===void 0?{}:r,c=ES(),d=Pi(),j=Ub(t,{relative:o});return f.useCallback(m=>{if(KS(m,s)){m.preventDefault();let b=n!==void 0?n:wl(d)===wl(j);c(t,{replace:b,state:i,preventScrollReset:a,relative:o,viewTransition:l})}},[d,c,j,n,i,s,t,a,o,l])}const Jh=[{code:"en",name:"English",nativeName:"English"},{code:"es",name:"Spanish",nativeName:"Español"},{code:"de",name:"German",nativeName:"Deutsch"},{code:"fr",name:"French",nativeName:"Français"},{code:"pt",name:"Portuguese",nativeName:"Português"},{code:"it",name:"Italian",nativeName:"Italiano"},{code:"ru",name:"Russian",nativeName:"Русский"},{code:"ja",name:"Japanese",nativeName:"日本語"},{code:"ko",name:"Korean",nativeName:"한국어"},{code:"zh",name:"Chinese",nativeName:"中文"},{code:"id",name:"Indonesian",nativeName:"Bahasa Indonesia"}],gg={en:{"nav.home":"Home","nav.about":"About","nav.faq":"FAQ","nav.contact":"Contact","nav.privacy":"Privacy Policy","nav.terms":"Terms of Service","hero.title":"Minecraft Circle Generator","hero.subtitle":"Create perfect pixel circles and ovals for your Minecraft builds. Free online tool with instant preview.","hero.cta":"Start Creating","generator.title":"Circle Generator","generator.width":"Width","generator.height":"Height","generator.diameter":"Diameter","generator.radius":"Radius","generator.forceCircle":"Force Circle","generator.render":"Render Style","generator.border":"Border Only","generator.filled":"Filled","generator.thick":"Thick","generator.thin":"Thin","generator.scale":"Scale","generator.download":"Download","generator.downloadPng":"Download PNG","generator.downloadSvg":"Download SVG","generator.blocks":"Blocks","generator.stacks64":"Stacks of 64","generator.stacks16":"Stacks of 16","generator.reset":"Reset","generator.showGrid":"Show Grid Lines","generator.showNumbers":"Show Block Count","features.title":"Why Use Our Minecraft Circle Generator?","features.accurate.title":"Pixel Perfect Accuracy","features.accurate.desc":"Generate mathematically precise circles and ovals that look perfect in Minecraft.","features.easy.title":"Easy to Use","features.easy.desc":"Simply enter your dimensions and get instant visual results.","features.download.title":"Multiple Export Options","features.download.desc":"Download your circles as PNG or SVG for easy reference while building.","features.free.title":"Completely Free","features.free.desc":"No registration, no limits. Use as much as you need.","howto.title":"How to Use the Minecraft Circle Generator","howto.step1.title":"Step 1: Set Dimensions","howto.step1.desc":'Enter the width and height of your circle. Use "Force Circle" for perfect circles.',"howto.step2.title":"Step 2: Choose Style","howto.step2.desc":"Select between border only or filled circle, and thick or thin lines.","howto.step3.title":"Step 3: Build in Minecraft","howto.step3.desc":"Use the visual grid as a guide to place blocks in your Minecraft world.","seo.title":"The Ultimate Guide to Building Circles in Minecraft","seo.intro":"Building perfect circles in Minecraft can be challenging because the game uses square blocks. Our Minecraft circle generator tool helps you create pixel-perfect circular shapes by showing exactly which blocks to place.","footer.description":"The best free Minecraft circle generator tool for creating perfect pixel circles and ovals.","footer.quickLinks":"Quick Links","footer.legal":"Legal","footer.tools":"Tools","footer.copyright":"© 2026 Minecraft Circle Generate. All rights reserved.","footer.disclaimer":"This site is not affiliated with Mojang or Microsoft.","about.title":"About Minecraft Circle Generator","about.description":"Learn about our free online tool for creating perfect circles in Minecraft.","faq.title":"Frequently Asked Questions","faq.description":"Common questions about using the Minecraft circle generator tool.","contact.title":"Contact Us","contact.description":"Get in touch with us for support or feedback.","contact.name":"Your Name","contact.email":"Email Address","contact.message":"Message","contact.send":"Send Message","privacy.title":"Privacy Policy","privacy.description":"Our privacy policy and data handling practices.","terms.title":"Terms of Service","terms.description":"Terms and conditions for using our service.","common.learnMore":"Learn More","common.readMore":"Read More","common.backHome":"Back to Home","nav.blog":"Blog","blog.title":"Minecraft Building Blog","blog.description":"Tutorials, tips, and guides for Minecraft building","blog.readMore":"Read Full Guide","blog.relatedTools":"Related Tools","blog.relatedArticles":"Related Articles","tools.title":"Minecraft Building Tools","tools.description":"Free online shape generators for Minecraft","tools.allTools":"All Tools","tools.popular":"Popular","tools.features":"Features","meta.homeTitle":"Minecraft Circle Generator - Free Online Pixel Circle Tool 2026","meta.homeDesc":"Create perfect pixel circles for Minecraft builds. Free circle generator with instant preview, PNG/SVG download. Works Java, Bedrock & PE!","meta.toolsTitle":"Free Minecraft Building Tools - 7 Shape Generators","meta.toolsDesc":"Free Minecraft shape generators: circles, ovals, hexagons, triangles, diamonds, spiral staircases & 3D spheres.","meta.blogTitle":"Minecraft Building Blog - Tutorials & Guides","meta.blogDesc":"Expert Minecraft building tutorials. Learn circles, domes, towers, geometric patterns and more.","meta.faqTitle":"Minecraft Circle Generator FAQ - Questions Answered","meta.faqDesc":"Get answers about Minecraft circle generator. Learn circles, domes, spheres and building techniques."},es:{"nav.home":"Inicio","nav.about":"Acerca de","nav.faq":"Preguntas Frecuentes","nav.contact":"Contacto","nav.privacy":"Política de Privacidad","nav.terms":"Términos de Servicio","hero.title":"Generador de Círculos de Minecraft","hero.subtitle":"Crea círculos y óvalos de píxeles perfectos para tus construcciones de Minecraft. Herramienta online gratuita con vista previa instantánea.","hero.cta":"Comenzar a Crear","generator.title":"Generador de Círculos","generator.width":"Ancho","generator.height":"Alto","generator.diameter":"Diámetro","generator.radius":"Radio","generator.forceCircle":"Forzar Círculo","generator.render":"Estilo de Renderizado","generator.border":"Solo Borde","generator.filled":"Relleno","generator.thick":"Grueso","generator.thin":"Fino","generator.scale":"Escala","generator.download":"Descargar","generator.downloadPng":"Descargar PNG","generator.downloadSvg":"Descargar SVG","generator.blocks":"Bloques","generator.stacks64":"Pilas de 64","generator.stacks16":"Pilas de 16","generator.reset":"Reiniciar","generator.showGrid":"Mostrar Líneas de Cuadrícula","generator.showNumbers":"Mostrar Conteo de Bloques","features.title":"¿Por Qué Usar Nuestro Generador de Círculos?","features.accurate.title":"Precisión de Píxel Perfecta","features.accurate.desc":"Genera círculos y óvalos matemáticamente precisos que se ven perfectos en Minecraft.","features.easy.title":"Fácil de Usar","features.easy.desc":"Simplemente ingresa tus dimensiones y obtén resultados visuales instantáneos.","features.download.title":"Múltiples Opciones de Exportación","features.download.desc":"Descarga tus círculos como PNG o SVG para fácil referencia mientras construyes.","features.free.title":"Completamente Gratis","features.free.desc":"Sin registro, sin límites. Usa tanto como necesites.","howto.title":"Cómo Usar el Generador de Círculos","howto.step1.title":"Paso 1: Establece las Dimensiones","howto.step1.desc":'Ingresa el ancho y alto de tu círculo. Usa "Forzar Círculo" para círculos perfectos.',"howto.step2.title":"Paso 2: Elige el Estilo","howto.step2.desc":"Selecciona entre solo borde o círculo relleno, y líneas gruesas o finas.","howto.step3.title":"Paso 3: Construye en Minecraft","howto.step3.desc":"Usa la cuadrícula visual como guía para colocar bloques en tu mundo de Minecraft.","footer.description":"La mejor herramienta gratuita para crear círculos perfectos en Minecraft.","footer.quickLinks":"Enlaces Rápidos","footer.legal":"Legal","footer.tools":"Herramientas","footer.copyright":"© 2026 Minecraft Circle Generate. Todos los derechos reservados.","footer.disclaimer":"Este sitio no está afiliado con Mojang o Microsoft.","about.title":"Acerca del Generador de Círculos","about.description":"Aprende sobre nuestra herramienta gratuita para crear círculos perfectos.","faq.title":"Preguntas Frecuentes","faq.description":"Preguntas comunes sobre el uso del generador.","contact.title":"Contáctanos","contact.description":"Ponte en contacto con nosotros.","contact.name":"Tu Nombre","contact.email":"Correo Electrónico","contact.message":"Mensaje","contact.send":"Enviar Mensaje","privacy.title":"Política de Privacidad","privacy.description":"Nuestra política de privacidad.","terms.title":"Términos de Servicio","terms.description":"Términos y condiciones de uso.","common.learnMore":"Aprender Más","common.readMore":"Leer Más","common.backHome":"Volver al Inicio","seo.title":"La Guía Definitiva para Construir Círculos en Minecraft","seo.intro":"Construir círculos perfectos en Minecraft puede ser un desafío porque el juego usa bloques cuadrados. Nuestra herramienta generadora de círculos de Minecraft te ayuda a crear formas circulares perfectas mostrando exactamente qué bloques colocar."},de:{"nav.home":"Startseite","nav.about":"Über uns","nav.faq":"FAQ","nav.contact":"Kontakt","nav.privacy":"Datenschutz","nav.terms":"Nutzungsbedingungen","hero.title":"Minecraft Kreis Generator","hero.subtitle":"Erstelle perfekte Pixelkreise und Ovale für deine Minecraft-Bauten. Kostenloses Online-Tool mit sofortiger Vorschau.","hero.cta":"Jetzt Erstellen","generator.title":"Kreis Generator","generator.width":"Breite","generator.height":"Höhe","generator.diameter":"Durchmesser","generator.radius":"Radius","generator.forceCircle":"Kreis Erzwingen","generator.render":"Darstellungsstil","generator.border":"Nur Rand","generator.filled":"Gefüllt","generator.thick":"Dick","generator.thin":"Dünn","generator.scale":"Skalierung","generator.download":"Herunterladen","generator.downloadPng":"PNG Herunterladen","generator.downloadSvg":"SVG Herunterladen","generator.blocks":"Blöcke","generator.stacks64":"Stapel à 64","generator.stacks16":"Stapel à 16","generator.reset":"Zurücksetzen","generator.showGrid":"Gitterlinien Anzeigen","generator.showNumbers":"Blockanzahl Anzeigen","features.title":"Warum Unseren Kreis Generator Nutzen?","features.accurate.title":"Pixelgenaue Präzision","features.accurate.desc":"Erstelle mathematisch präzise Kreise und Ovale, die in Minecraft perfekt aussehen.","features.easy.title":"Einfach zu Bedienen","features.easy.desc":"Gib einfach deine Maße ein und erhalte sofortige visuelle Ergebnisse.","features.download.title":"Mehrere Exportoptionen","features.download.desc":"Lade deine Kreise als PNG oder SVG herunter.","features.free.title":"Komplett Kostenlos","features.free.desc":"Keine Registrierung, keine Limits. Nutze es so viel du willst.","footer.description":"Das beste kostenlose Tool für perfekte Minecraft-Kreise.","footer.quickLinks":"Schnelllinks","footer.legal":"Rechtliches","footer.tools":"Werkzeuge","footer.copyright":"© 2026 Minecraft Circle Generate. Alle Rechte vorbehalten.","footer.disclaimer":"Diese Seite ist nicht mit Mojang oder Microsoft verbunden.","about.title":"Über den Kreis Generator","about.description":"Erfahre mehr über unser kostenloses Tool.","faq.title":"Häufig Gestellte Fragen","faq.description":"Häufige Fragen zur Nutzung des Generators.","contact.title":"Kontaktiere Uns","contact.description":"Nimm Kontakt mit uns auf.","contact.name":"Dein Name","contact.email":"E-Mail-Adresse","contact.message":"Nachricht","contact.send":"Nachricht Senden","privacy.title":"Datenschutzerklärung","privacy.description":"Unsere Datenschutzrichtlinie.","terms.title":"Nutzungsbedingungen","terms.description":"Geschäftsbedingungen für die Nutzung.","common.learnMore":"Mehr Erfahren","common.readMore":"Weiterlesen","common.backHome":"Zurück zur Startseite","howto.title":"So Verwendest Du den Kreis Generator","howto.step1.title":"Schritt 1: Maße Festlegen","howto.step1.desc":"Gib Breite und Höhe deines Kreises ein.","howto.step2.title":"Schritt 2: Stil Wählen","howto.step2.desc":"Wähle zwischen Rand oder gefüllt.","howto.step3.title":"Schritt 3: In Minecraft Bauen","howto.step3.desc":"Nutze das Raster als Bauanleitung.","seo.title":"Der Ultimative Leitfaden zum Bauen von Kreisen","seo.intro":"Perfekte Kreise in Minecraft zu bauen kann schwierig sein. Unser Generator hilft dir dabei."},fr:{"nav.home":"Accueil","nav.about":"À Propos","nav.faq":"FAQ","nav.contact":"Contact","nav.privacy":"Politique de Confidentialité","nav.terms":"Conditions d'Utilisation","hero.title":"Générateur de Cercles Minecraft","hero.subtitle":"Créez des cercles et des ovales parfaits pour vos constructions Minecraft. Outil en ligne gratuit avec aperçu instantané.","hero.cta":"Commencer","generator.title":"Générateur de Cercles","generator.width":"Largeur","generator.height":"Hauteur","generator.diameter":"Diamètre","generator.radius":"Rayon","generator.forceCircle":"Forcer Cercle","generator.render":"Style de Rendu","generator.border":"Bordure Seule","generator.filled":"Rempli","generator.thick":"Épais","generator.thin":"Fin","generator.scale":"Échelle","generator.download":"Télécharger","generator.downloadPng":"Télécharger PNG","generator.downloadSvg":"Télécharger SVG","generator.blocks":"Blocs","generator.stacks64":"Piles de 64","generator.stacks16":"Piles de 16","generator.reset":"Réinitialiser","generator.showGrid":"Afficher la Grille","generator.showNumbers":"Afficher le Nombre","features.title":"Pourquoi Utiliser Notre Générateur?","features.accurate.title":"Précision Pixel Perfect","features.accurate.desc":"Générez des cercles mathématiquement précis.","features.easy.title":"Facile à Utiliser","features.easy.desc":"Entrez vos dimensions et obtenez des résultats instantanés.","features.download.title":"Options d'Exportation","features.download.desc":"Téléchargez en PNG ou SVG.","features.free.title":"Entièrement Gratuit","features.free.desc":"Pas d'inscription, pas de limites.","footer.description":"Le meilleur outil gratuit pour les cercles Minecraft.","footer.quickLinks":"Liens Rapides","footer.legal":"Légal","footer.tools":"Outils","footer.copyright":"© 2026 Minecraft Circle Generate. Tous droits réservés.","footer.disclaimer":"Ce site n'est pas affilié à Mojang ou Microsoft.","about.title":"À Propos du Générateur","about.description":"En savoir plus sur notre outil gratuit.","faq.title":"Questions Fréquentes","faq.description":"Questions courantes sur le générateur.","contact.title":"Contactez-Nous","contact.description":"Contactez-nous pour toute question.","contact.name":"Votre Nom","contact.email":"Adresse Email","contact.message":"Message","contact.send":"Envoyer","privacy.title":"Politique de Confidentialité","privacy.description":"Notre politique de confidentialité.","terms.title":"Conditions d'Utilisation","terms.description":"Conditions générales d'utilisation.","common.learnMore":"En Savoir Plus","common.readMore":"Lire Plus","common.backHome":"Retour à l'Accueil","howto.title":"Comment Utiliser le Générateur","howto.step1.title":"Étape 1: Définir les Dimensions","howto.step1.desc":"Entrez la largeur et la hauteur.","howto.step2.title":"Étape 2: Choisir le Style","howto.step2.desc":"Sélectionnez bordure ou rempli.","howto.step3.title":"Étape 3: Construire","howto.step3.desc":"Utilisez la grille comme guide.","seo.title":"Guide Ultime des Cercles Minecraft","seo.intro":"Construire des cercles parfaits dans Minecraft peut être difficile. Notre générateur vous aide."},pt:{"nav.home":"Início","nav.about":"Sobre","nav.faq":"Perguntas Frequentes","nav.contact":"Contato","nav.privacy":"Política de Privacidade","nav.terms":"Termos de Serviço","hero.title":"Gerador de Círculos Minecraft","hero.subtitle":"Crie círculos e ovais perfeitos para suas construções no Minecraft. Ferramenta online gratuita.","hero.cta":"Começar","generator.title":"Gerador de Círculos","generator.width":"Largura","generator.height":"Altura","generator.diameter":"Diâmetro","generator.radius":"Raio","generator.forceCircle":"Forçar Círculo","generator.render":"Estilo","generator.border":"Apenas Borda","generator.filled":"Preenchido","generator.thick":"Grosso","generator.thin":"Fino","generator.scale":"Escala","generator.download":"Baixar","generator.downloadPng":"Baixar PNG","generator.downloadSvg":"Baixar SVG","generator.blocks":"Blocos","generator.stacks64":"Pilhas de 64","generator.stacks16":"Pilhas de 16","generator.reset":"Reiniciar","generator.showGrid":"Mostrar Grade","generator.showNumbers":"Mostrar Contagem","features.title":"Por Que Usar Nosso Gerador?","features.accurate.title":"Precisão Pixel Perfect","features.accurate.desc":"Gere círculos matematicamente precisos.","features.easy.title":"Fácil de Usar","features.easy.desc":"Digite as dimensões e veja os resultados.","features.download.title":"Opções de Exportação","features.download.desc":"Baixe em PNG ou SVG.","features.free.title":"Totalmente Grátis","features.free.desc":"Sem registro, sem limites.","footer.description":"A melhor ferramenta gratuita para círculos Minecraft.","footer.quickLinks":"Links Rápidos","footer.legal":"Legal","footer.tools":"Ferramentas","footer.copyright":"© 2026 Minecraft Circle Generate. Todos os direitos reservados.","footer.disclaimer":"Este site não é afiliado à Mojang ou Microsoft.","about.title":"Sobre o Gerador","about.description":"Saiba mais sobre nossa ferramenta.","faq.title":"Perguntas Frequentes","faq.description":"Perguntas comuns sobre o gerador.","contact.title":"Contato","contact.description":"Entre em contato conosco.","contact.name":"Seu Nome","contact.email":"Email","contact.message":"Mensagem","contact.send":"Enviar","privacy.title":"Política de Privacidade","privacy.description":"Nossa política de privacidade.","terms.title":"Termos de Serviço","terms.description":"Termos e condições.","common.learnMore":"Saiba Mais","common.readMore":"Leia Mais","common.backHome":"Voltar ao Início","howto.title":"Como Usar o Gerador","howto.step1.title":"Passo 1: Definir Dimensões","howto.step1.desc":"Digite largura e altura.","howto.step2.title":"Passo 2: Escolher Estilo","howto.step2.desc":"Selecione borda ou preenchido.","howto.step3.title":"Passo 3: Construir","howto.step3.desc":"Use a grade como guia.","seo.title":"Guia Definitivo de Círculos Minecraft","seo.intro":"Construir círculos perfeitos no Minecraft pode ser difícil. Nosso gerador ajuda você."},it:{"nav.home":"Home","nav.about":"Chi Siamo","nav.faq":"FAQ","nav.contact":"Contatti","nav.privacy":"Privacy","nav.terms":"Termini","hero.title":"Generatore di Cerchi Minecraft","hero.subtitle":"Crea cerchi e ovali perfetti per le tue costruzioni Minecraft. Strumento online gratuito.","hero.cta":"Inizia","generator.title":"Generatore di Cerchi","generator.width":"Larghezza","generator.height":"Altezza","generator.diameter":"Diametro","generator.radius":"Raggio","generator.forceCircle":"Forza Cerchio","generator.render":"Stile","generator.border":"Solo Bordo","generator.filled":"Riempito","generator.thick":"Spesso","generator.thin":"Sottile","generator.scale":"Scala","generator.download":"Scarica","generator.downloadPng":"Scarica PNG","generator.downloadSvg":"Scarica SVG","generator.blocks":"Blocchi","generator.stacks64":"Pile di 64","generator.stacks16":"Pile di 16","generator.reset":"Reset","generator.showGrid":"Mostra Griglia","generator.showNumbers":"Mostra Conteggio","features.title":"Perché Usare il Nostro Generatore?","features.accurate.title":"Precisione Pixel Perfect","features.accurate.desc":"Genera cerchi matematicamente precisi.","features.easy.title":"Facile da Usare","features.easy.desc":"Inserisci le dimensioni e ottieni risultati istantanei.","features.download.title":"Opzioni di Esportazione","features.download.desc":"Scarica in PNG o SVG.","features.free.title":"Completamente Gratuito","features.free.desc":"Nessuna registrazione, nessun limite.","footer.description":"Il miglior strumento gratuito per cerchi Minecraft.","footer.quickLinks":"Link Rapidi","footer.legal":"Legale","footer.tools":"Strumenti","footer.copyright":"© 2026 Minecraft Circle Generate. Tutti i diritti riservati.","footer.disclaimer":"Questo sito non è affiliato a Mojang o Microsoft.","about.title":"Chi Siamo","about.description":"Scopri di più sul nostro strumento.","faq.title":"Domande Frequenti","faq.description":"Domande comuni sul generatore.","contact.title":"Contattaci","contact.description":"Contattaci per qualsiasi domanda.","contact.name":"Il Tuo Nome","contact.email":"Email","contact.message":"Messaggio","contact.send":"Invia","privacy.title":"Privacy Policy","privacy.description":"La nostra politica sulla privacy.","terms.title":"Termini di Servizio","terms.description":"Termini e condizioni.","common.learnMore":"Scopri di Più","common.readMore":"Leggi di Più","common.backHome":"Torna alla Home","howto.title":"Come Usare il Generatore","howto.step1.title":"Passo 1: Imposta Dimensioni","howto.step1.desc":"Inserisci larghezza e altezza.","howto.step2.title":"Passo 2: Scegli Stile","howto.step2.desc":"Seleziona bordo o riempito.","howto.step3.title":"Passo 3: Costruisci","howto.step3.desc":"Usa la griglia come guida.","seo.title":"Guida Definitiva ai Cerchi Minecraft","seo.intro":"Costruire cerchi perfetti in Minecraft può essere difficile. Il nostro generatore ti aiuta."},ru:{"nav.home":"Главная","nav.about":"О нас","nav.faq":"FAQ","nav.contact":"Контакты","nav.privacy":"Конфиденциальность","nav.terms":"Условия","hero.title":"Генератор Кругов Minecraft","hero.subtitle":"Создавайте идеальные пиксельные круги для ваших построек в Minecraft.","hero.cta":"Начать","generator.title":"Генератор Кругов","generator.width":"Ширина","generator.height":"Высота","generator.diameter":"Диаметр","generator.radius":"Радиус","generator.forceCircle":"Идеальный Круг","generator.render":"Стиль","generator.border":"Только Контур","generator.filled":"Заливка","generator.thick":"Толстый","generator.thin":"Тонкий","generator.scale":"Масштаб","generator.download":"Скачать","generator.downloadPng":"Скачать PNG","generator.downloadSvg":"Скачать SVG","generator.blocks":"Блоки","generator.stacks64":"Стаки по 64","generator.stacks16":"Стаки по 16","generator.reset":"Сброс","generator.showGrid":"Показать Сетку","generator.showNumbers":"Показать Счётчик","features.title":"Почему Наш Генератор?","features.accurate.title":"Точность до Пикселя","features.accurate.desc":"Создавайте математически точные круги.","features.easy.title":"Простой в Использовании","features.easy.desc":"Введите размеры и получите результат.","features.download.title":"Экспорт","features.download.desc":"Скачивайте в PNG или SVG.","features.free.title":"Полностью Бесплатно","features.free.desc":"Без регистрации, без ограничений.","footer.description":"Лучший бесплатный инструмент для кругов Minecraft.","footer.quickLinks":"Быстрые Ссылки","footer.legal":"Юридическая Информация","footer.tools":"Инструменты","footer.copyright":"© 2026 Minecraft Circle Generate. Все права защищены.","footer.disclaimer":"Сайт не связан с Mojang или Microsoft.","about.title":"О Генераторе","about.description":"Узнайте больше о нашем инструменте.","faq.title":"Частые Вопросы","faq.description":"Ответы на частые вопросы.","contact.title":"Связаться","contact.description":"Свяжитесь с нами.","contact.name":"Ваше Имя","contact.email":"Email","contact.message":"Сообщение","contact.send":"Отправить","privacy.title":"Политика Конфиденциальности","privacy.description":"Наша политика конфиденциальности.","terms.title":"Условия Использования","terms.description":"Условия использования сервиса.","common.learnMore":"Узнать Больше","common.readMore":"Читать Далее","common.backHome":"На Главную","howto.title":"Как Использовать","howto.step1.title":"Шаг 1: Размеры","howto.step1.desc":"Введите ширину и высоту.","howto.step2.title":"Шаг 2: Стиль","howto.step2.desc":"Выберите контур или заливку.","howto.step3.title":"Шаг 3: Стройте","howto.step3.desc":"Используйте сетку как руководство.","seo.title":"Руководство по Кругам в Minecraft","seo.intro":"Строить круги в Minecraft сложно. Наш генератор поможет вам."},ja:{"nav.home":"ホーム","nav.about":"概要","nav.faq":"よくある質問","nav.contact":"お問い合わせ","nav.privacy":"プライバシーポリシー","nav.terms":"利用規約","hero.title":"マインクラフト円形ジェネレーター","hero.subtitle":"マインクラフトの建築に最適なピクセル円を作成します。無料オンラインツール。","hero.cta":"作成開始","generator.title":"円形ジェネレーター","generator.width":"幅","generator.height":"高さ","generator.diameter":"直径","generator.radius":"半径","generator.forceCircle":"正円を強制","generator.render":"スタイル","generator.border":"枠線のみ","generator.filled":"塗りつぶし","generator.thick":"太い","generator.thin":"細い","generator.scale":"スケール","generator.download":"ダウンロード","generator.downloadPng":"PNGダウンロード","generator.downloadSvg":"SVGダウンロード","generator.blocks":"ブロック","generator.stacks64":"64個スタック","generator.stacks16":"16個スタック","generator.reset":"リセット","generator.showGrid":"グリッド表示","generator.showNumbers":"カウント表示","features.title":"なぜこのジェネレーター?","features.accurate.title":"ピクセルパーフェクト","features.accurate.desc":"数学的に正確な円を生成します。","features.easy.title":"簡単操作","features.easy.desc":"寸法を入力するだけで結果が得られます。","features.download.title":"エクスポートオプション","features.download.desc":"PNGまたはSVGでダウンロード。","features.free.title":"完全無料","features.free.desc":"登録不要、制限なし。","footer.description":"最高の無料マインクラフト円ツール。","footer.quickLinks":"クイックリンク","footer.legal":"法的情報","footer.tools":"ツール","footer.copyright":"© 2026 Minecraft Circle Generate. All rights reserved.","footer.disclaimer":"このサイトはMojangまたはMicrosoftとは関係ありません。","about.title":"ジェネレーターについて","about.description":"ツールの詳細をご覧ください。","faq.title":"よくある質問","faq.description":"よくある質問への回答。","contact.title":"お問い合わせ","contact.description":"ご質問はこちらから。","contact.name":"お名前","contact.email":"メールアドレス","contact.message":"メッセージ","contact.send":"送信","privacy.title":"プライバシーポリシー","privacy.description":"当サイトのプライバシーポリシー。","terms.title":"利用規約","terms.description":"サービス利用規約。","common.learnMore":"詳細を見る","common.readMore":"続きを読む","common.backHome":"ホームに戻る","howto.title":"使い方","howto.step1.title":"ステップ1:サイズ設定","howto.step1.desc":"幅と高さを入力します。","howto.step2.title":"ステップ2:スタイル選択","howto.step2.desc":"枠線または塗りつぶしを選択。","howto.step3.title":"ステップ3:建築","howto.step3.desc":"グリッドをガイドとして使用。","seo.title":"マインクラフト円形建築ガイド","seo.intro":"マインクラフトで完璧な円を作るのは難しいです。このジェネレーターがお手伝いします。"},ko:{"nav.home":"홈","nav.about":"소개","nav.faq":"FAQ","nav.contact":"문의","nav.privacy":"개인정보처리방침","nav.terms":"이용약관","hero.title":"마인크래프트 원형 생성기","hero.subtitle":"마인크래프트 건축을 위한 완벽한 픽셀 원을 만드세요. 무료 온라인 도구.","hero.cta":"시작하기","generator.title":"원형 생성기","generator.width":"너비","generator.height":"높이","generator.diameter":"직경","generator.radius":"반지름","generator.forceCircle":"정원 강제","generator.render":"스타일","generator.border":"테두리만","generator.filled":"채우기","generator.thick":"두꺼운","generator.thin":"얇은","generator.scale":"크기","generator.download":"다운로드","generator.downloadPng":"PNG 다운로드","generator.downloadSvg":"SVG 다운로드","generator.blocks":"블록","generator.stacks64":"64개 스택","generator.stacks16":"16개 스택","generator.reset":"초기화","generator.showGrid":"그리드 표시","generator.showNumbers":"카운트 표시","features.title":"왜 이 생성기를 사용하나요?","features.accurate.title":"픽셀 퍼펙트","features.accurate.desc":"수학적으로 정확한 원을 생성합니다.","features.easy.title":"쉬운 사용","features.easy.desc":"치수를 입력하면 바로 결과를 볼 수 있습니다.","features.download.title":"내보내기 옵션","features.download.desc":"PNG 또는 SVG로 다운로드.","features.free.title":"완전 무료","features.free.desc":"가입 불필요, 제한 없음.","footer.description":"최고의 무료 마인크래프트 원형 도구.","footer.quickLinks":"빠른 링크","footer.legal":"법적 정보","footer.tools":"도구","footer.copyright":"© 2026 Minecraft Circle Generate. All rights reserved.","footer.disclaimer":"이 사이트는 Mojang 또는 Microsoft와 관련이 없습니다.","about.title":"생성기 소개","about.description":"도구에 대해 자세히 알아보세요.","faq.title":"자주 묻는 질문","faq.description":"일반적인 질문에 대한 답변.","contact.title":"문의하기","contact.description":"질문이 있으시면 연락해 주세요.","contact.name":"이름","contact.email":"이메일","contact.message":"메시지","contact.send":"보내기","privacy.title":"개인정보처리방침","privacy.description":"당사의 개인정보 처리방침.","terms.title":"이용약관","terms.description":"서비스 이용약관.","common.learnMore":"더 알아보기","common.readMore":"더 읽기","common.backHome":"홈으로","howto.title":"사용 방법","howto.step1.title":"1단계: 크기 설정","howto.step1.desc":"너비와 높이를 입력하세요.","howto.step2.title":"2단계: 스타일 선택","howto.step2.desc":"테두리 또는 채우기를 선택하세요.","howto.step3.title":"3단계: 건축","howto.step3.desc":"그리드를 가이드로 사용하세요.","seo.title":"마인크래프트 원형 건축 가이드","seo.intro":"마인크래프트에서 완벽한 원을 만드는 것은 어렵습니다. 이 생성기가 도와드립니다."},zh:{"nav.home":"首页","nav.about":"关于","nav.faq":"常见问题","nav.contact":"联系我们","nav.privacy":"隐私政策","nav.terms":"服务条款","hero.title":"Minecraft圆形生成器","hero.subtitle":"为您的Minecraft建筑创建完美的像素圆形。免费在线工具。","hero.cta":"开始创建","generator.title":"圆形生成器","generator.width":"宽度","generator.height":"高度","generator.diameter":"直径","generator.radius":"半径","generator.forceCircle":"强制正圆","generator.render":"样式","generator.border":"仅边框","generator.filled":"填充","generator.thick":"粗","generator.thin":"细","generator.scale":"缩放","generator.download":"下载","generator.downloadPng":"下载PNG","generator.downloadSvg":"下载SVG","generator.blocks":"方块","generator.stacks64":"64个堆叠","generator.stacks16":"16个堆叠","generator.reset":"重置","generator.showGrid":"显示网格","generator.showNumbers":"显示计数","features.title":"为什么使用我们的生成器?","features.accurate.title":"像素级精确","features.accurate.desc":"生成数学精确的圆形。","features.easy.title":"易于使用","features.easy.desc":"输入尺寸即可获得即时结果。","features.download.title":"导出选项","features.download.desc":"下载PNG或SVG格式。","features.free.title":"完全免费","features.free.desc":"无需注册,无限制。","footer.description":"最好的免费Minecraft圆形工具。","footer.quickLinks":"快速链接","footer.legal":"法律信息","footer.tools":"工具","footer.copyright":"© 2026 Minecraft Circle Generate. 保留所有权利。","footer.disclaimer":"本站与Mojang或Microsoft无关。","about.title":"关于生成器","about.description":"了解更多关于我们的工具。","faq.title":"常见问题","faq.description":"关于生成器的常见问题。","contact.title":"联系我们","contact.description":"如有问题请联系我们。","contact.name":"您的姓名","contact.email":"电子邮件","contact.message":"留言","contact.send":"发送","privacy.title":"隐私政策","privacy.description":"我们的隐私政策。","terms.title":"服务条款","terms.description":"服务使用条款。","common.learnMore":"了解更多","common.readMore":"阅读更多","common.backHome":"返回首页","howto.title":"如何使用","howto.step1.title":"步骤1:设置尺寸","howto.step1.desc":"输入宽度和高度。","howto.step2.title":"步骤2:选择样式","howto.step2.desc":"选择边框或填充。","howto.step3.title":"步骤3:建造","howto.step3.desc":"使用网格作为指南。","seo.title":"Minecraft圆形建筑终极指南","seo.intro":"在Minecraft中建造完美的圆形很困难。我们的生成器可以帮助您。"},id:{"nav.home":"Beranda","nav.about":"Tentang","nav.faq":"FAQ","nav.contact":"Kontak","nav.privacy":"Kebijakan Privasi","nav.terms":"Syarat Layanan","hero.title":"Generator Lingkaran Minecraft","hero.subtitle":"Buat lingkaran dan oval pixel sempurna untuk bangunan Minecraft Anda. Alat online gratis dengan preview instan.","hero.cta":"Mulai Membuat","generator.title":"Generator Lingkaran","generator.width":"Lebar","generator.height":"Tinggi","generator.diameter":"Diameter","generator.radius":"Radius","generator.forceCircle":"Paksa Lingkaran","generator.render":"Gaya Render","generator.border":"Border Saja","generator.filled":"Terisi","generator.thick":"Tebal","generator.thin":"Tipis","generator.scale":"Skala","generator.download":"Unduh","generator.downloadPng":"Unduh PNG","generator.downloadSvg":"Unduh SVG","generator.blocks":"Blok","generator.stacks64":"Tumpukan 64","generator.stacks16":"Tumpukan 16","generator.reset":"Reset","generator.showGrid":"Tampilkan Garis Grid","generator.showNumbers":"Tampilkan Jumlah Blok","features.title":"Mengapa Menggunakan Generator Lingkaran Kami?","features.accurate.title":"Akurasi Pixel Sempurna","features.accurate.desc":"Hasilkan lingkaran dan oval yang presisi secara matematis yang terlihat sempurna di Minecraft.","features.easy.title":"Mudah Digunakan","features.easy.desc":"Cukup masukkan dimensi dan dapatkan hasil visual secara instan.","features.download.title":"Opsi Ekspor Beragam","features.download.desc":"Unduh lingkaran Anda sebagai PNG atau SVG untuk referensi saat membangun.","features.free.title":"Gratis Sepenuhnya","features.free.desc":"Tanpa registrasi, tanpa batasan. Gunakan sebanyak yang Anda butuhkan.","footer.description":"Alat generator lingkaran Minecraft gratis terbaik untuk membuat lingkaran dan oval pixel sempurna.","footer.quickLinks":"Link Cepat","footer.legal":"Legal","footer.tools":"Alat","footer.copyright":"© 2026 Minecraft Circle Generate. Hak cipta dilindungi.","footer.disclaimer":"Situs ini tidak berafiliasi dengan Mojang atau Microsoft.","about.title":"Tentang Generator Lingkaran Minecraft","about.description":"Pelajari tentang alat online gratis kami untuk membuat lingkaran sempurna di Minecraft.","faq.title":"Pertanyaan yang Sering Diajukan","faq.description":"Pertanyaan umum tentang penggunaan generator lingkaran Minecraft.","contact.title":"Hubungi Kami","contact.description":"Hubungi kami untuk dukungan atau masukan.","contact.name":"Nama Anda","contact.email":"Alamat Email","contact.message":"Pesan","contact.send":"Kirim Pesan","privacy.title":"Kebijakan Privasi","privacy.description":"Kebijakan privasi dan praktik penanganan data kami.","terms.title":"Syarat Layanan","terms.description":"Syarat dan ketentuan untuk menggunakan layanan kami.","common.learnMore":"Pelajari Lebih Lanjut","common.readMore":"Baca Selengkapnya","common.backHome":"Kembali ke Beranda","howto.title":"Cara Menggunakan Generator Lingkaran Minecraft","howto.step1.title":"Langkah 1: Atur Dimensi","howto.step1.desc":'Masukkan lebar dan tinggi lingkaran Anda. Gunakan "Paksa Lingkaran" untuk lingkaran sempurna.',"howto.step2.title":"Langkah 2: Pilih Gaya","howto.step2.desc":"Pilih antara border saja atau lingkaran terisi, dan garis tebal atau tipis.","howto.step3.title":"Langkah 3: Bangun di Minecraft","howto.step3.desc":"Gunakan grid visual sebagai panduan untuk menempatkan blok di dunia Minecraft Anda.","seo.title":"Panduan Lengkap Membangun Lingkaran di Minecraft","seo.intro":"Membangun lingkaran sempurna di Minecraft bisa menjadi tantangan karena game ini menggunakan blok persegi. Generator kami membantu Anda.","nav.blog":"Blog","blog.title":"Blog Building Minecraft","blog.description":"Tutorial, tips, dan panduan untuk building Minecraft","blog.readMore":"Baca Panduan Lengkap","blog.relatedTools":"Alat Terkait","blog.relatedArticles":"Artikel Terkait","tools.title":"Alat Building Minecraft","tools.description":"Generator bentuk online gratis untuk Minecraft","tools.allTools":"Semua Alat","tools.popular":"Populer","tools.features":"Fitur","meta.homeTitle":"Generator Lingkaran Minecraft - Alat Pixel Circle Gratis Online 2026","meta.homeDesc":"Buat lingkaran pixel sempurna untuk bangunan Minecraft. Generator lingkaran gratis dengan preview instan, download PNG/SVG. Bekerja Java, Bedrock & PE!","meta.toolsTitle":"Alat Building Minecraft Gratis - 7 Generator Bentuk","meta.toolsDesc":"Generator bentuk Minecraft gratis: lingkaran, oval, hexagon, segitiga, berlian, tangga spiral & bola 3D.","meta.blogTitle":"Blog Building Minecraft - Tutorial & Panduan","meta.blogDesc":"Tutorial building Minecraft ahli. Pelajari lingkaran, dome, menara, pola geometris dan lainnya.","meta.faqTitle":"FAQ Generator Lingkaran Minecraft - Pertanyaan Terjawab","meta.faqDesc":"Dapatkan jawaban tentang generator lingkaran Minecraft. Pelajari lingkaran, dome, bola dan teknik building."}},s4=()=>{if(typeof window>"u")return"en";const t=navigator.language.split("-")[0];return Jh.some(r=>r.code===t)?t:"en"},n4=(t,r)=>{var s;return((s=gg[r])==null?void 0:s[t])||gg.en[t]||t},Vb=f.createContext(void 0),i4=({children:t})=>{const[r,s]=f.useState(()=>{if(typeof window<"u"){const a=localStorage.getItem("preferred-language");if(a)return a}return s4()}),n=a=>{s(a),localStorage.setItem("preferred-language",a),document.documentElement.lang=a};f.useEffect(()=>{document.documentElement.lang=r},[r]);const i=a=>n4(a,r);return e.jsx(Vb.Provider,{value:{language:r,setLanguage:n,t:i},children:t})},lt=()=>{const t=f.useContext(Vb);if(!t)throw new Error("useLanguage must be used within a LanguageProvider");return t},a4=Yl("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),O=f.forwardRef(({className:t,variant:r,size:s,asChild:n=!1,...i},a)=>{const o=n?nj:"button";return e.jsx(o,{className:de(a4({variant:r,size:s,className:t})),ref:a,...i})});O.displayName="Button";var o4=f.createContext(void 0);function Ua(t){const r=f.useContext(o4);return t||r||"ltr"}var nd=0;function l4(){f.useEffect(()=>{const t=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",t[0]??fg()),document.body.insertAdjacentElement("beforeend",t[1]??fg()),nd++,()=>{nd===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),nd--}},[])}function fg(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var id="focusScope.autoFocusOnMount",ad="focusScope.autoFocusOnUnmount",pg={bubbles:!1,cancelable:!0},c4="FocusScope",Yb=f.forwardRef((t,r)=>{const{loop:s=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=t,[l,c]=f.useState(null),d=Bt(i),j=Bt(a),m=f.useRef(null),b=be(r,h=>c(h)),g=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(n){let h=function(w){if(g.paused||!l)return;const N=w.target;l.contains(N)?m.current=N:ls(m.current,{select:!0})},v=function(w){if(g.paused||!l)return;const N=w.relatedTarget;N!==null&&(l.contains(N)||ls(m.current,{select:!0}))},x=function(w){if(document.activeElement===document.body)for(const k of w)k.removedNodes.length>0&&ls(l)};document.addEventListener("focusin",h),document.addEventListener("focusout",v);const u=new MutationObserver(x);return l&&u.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",h),document.removeEventListener("focusout",v),u.disconnect()}}},[n,l,g.paused]),f.useEffect(()=>{if(l){bg.add(g);const h=document.activeElement;if(!l.contains(h)){const x=new CustomEvent(id,pg);l.addEventListener(id,d),l.dispatchEvent(x),x.defaultPrevented||(d4(g4(Kb(l)),{select:!0}),document.activeElement===h&&ls(l))}return()=>{l.removeEventListener(id,d),setTimeout(()=>{const x=new CustomEvent(ad,pg);l.addEventListener(ad,j),l.dispatchEvent(x),x.defaultPrevented||ls(h??document.body,{select:!0}),l.removeEventListener(ad,j),bg.remove(g)},0)}}},[l,d,j,g]);const y=f.useCallback(h=>{if(!s&&!n||g.paused)return;const v=h.key==="Tab"&&!h.altKey&&!h.ctrlKey&&!h.metaKey,x=document.activeElement;if(v&&x){const u=h.currentTarget,[w,N]=u4(u);w&&N?!h.shiftKey&&x===N?(h.preventDefault(),s&&ls(w,{select:!0})):h.shiftKey&&x===w&&(h.preventDefault(),s&&ls(N,{select:!0})):x===u&&h.preventDefault()}},[s,n,g.paused]);return e.jsx(he.div,{tabIndex:-1,...o,ref:b,onKeyDown:y})});Yb.displayName=c4;function d4(t,{select:r=!1}={}){const s=document.activeElement;for(const n of t)if(ls(n,{select:r}),document.activeElement!==s)return}function u4(t){const r=Kb(t),s=jg(r,t),n=jg(r.reverse(),t);return[s,n]}function Kb(t){const r=[],s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)r.push(s.currentNode);return r}function jg(t,r){for(const s of t)if(!h4(s,{upTo:r}))return s}function h4(t,{upTo:r}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(r!==void 0&&t===r)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function m4(t){return t instanceof HTMLInputElement&&"select"in t}function ls(t,{select:r=!1}={}){if(t&&t.focus){const s=document.activeElement;t.focus({preventScroll:!0}),t!==s&&m4(t)&&r&&t.select()}}var bg=x4();function x4(){let t=[];return{add(r){const s=t[0];r!==s&&(s==null||s.pause()),t=yg(t,r),t.unshift(r)},remove(r){var s;t=yg(t,r),(s=t[0])==null||s.resume()}}}function yg(t,r){const s=[...t],n=s.indexOf(r);return n!==-1&&s.splice(n,1),s}function g4(t){return t.filter(r=>r.tagName!=="A")}var od="rovingFocusGroup.onEntryFocus",f4={bubbles:!1,cancelable:!0},Wa="RovingFocusGroup",[Mu,Qb,p4]=za(Wa),[j4,lc]=Wt(Wa,[p4]),[b4,y4]=j4(Wa),Xb=f.forwardRef((t,r)=>e.jsx(Mu.Provider,{scope:t.__scopeRovingFocusGroup,children:e.jsx(Mu.Slot,{scope:t.__scopeRovingFocusGroup,children:e.jsx(v4,{...t,ref:r})})}));Xb.displayName=Wa;var v4=f.forwardRef((t,r)=>{const{__scopeRovingFocusGroup:s,orientation:n,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:j=!1,...m}=t,b=f.useRef(null),g=be(r,b),y=Ua(a),[h,v]=Xr({prop:o,defaultProp:l??null,onChange:c,caller:Wa}),[x,u]=f.useState(!1),w=Bt(d),N=Qb(s),k=f.useRef(!1),[M,C]=f.useState(0);return f.useEffect(()=>{const P=b.current;if(P)return P.addEventListener(od,w),()=>P.removeEventListener(od,w)},[w]),e.jsx(b4,{scope:s,orientation:n,dir:y,loop:i,currentTabStopId:h,onItemFocus:f.useCallback(P=>v(P),[v]),onItemShiftTab:f.useCallback(()=>u(!0),[]),onFocusableItemAdd:f.useCallback(()=>C(P=>P+1),[]),onFocusableItemRemove:f.useCallback(()=>C(P=>P-1),[]),children:e.jsx(he.div,{tabIndex:x||M===0?-1:0,"data-orientation":n,...m,ref:g,style:{outline:"none",...t.style},onMouseDown:V(t.onMouseDown,()=>{k.current=!0}),onFocus:V(t.onFocus,P=>{const R=!k.current;if(P.target===P.currentTarget&&R&&!x){const B=new CustomEvent(od,f4);if(P.currentTarget.dispatchEvent(B),!B.defaultPrevented){const I=N().filter(Y=>Y.focusable),z=I.find(Y=>Y.active),X=I.find(Y=>Y.id===h),ne=[z,X,...I].filter(Boolean).map(Y=>Y.ref.current);ey(ne,j)}}k.current=!1}),onBlur:V(t.onBlur,()=>u(!1))})})}),Jb="RovingFocusGroupItem",Zb=f.forwardRef((t,r)=>{const{__scopeRovingFocusGroup:s,focusable:n=!0,active:i=!1,tabStopId:a,children:o,...l}=t,c=ji(),d=a||c,j=y4(Jb,s),m=j.currentTabStopId===d,b=Qb(s),{onFocusableItemAdd:g,onFocusableItemRemove:y,currentTabStopId:h}=j;return f.useEffect(()=>{if(n)return g(),()=>y()},[n,g,y]),e.jsx(Mu.ItemSlot,{scope:s,id:d,focusable:n,active:i,children:e.jsx(he.span,{tabIndex:m?0:-1,"data-orientation":j.orientation,...l,ref:r,onMouseDown:V(t.onMouseDown,v=>{n?j.onItemFocus(d):v.preventDefault()}),onFocus:V(t.onFocus,()=>j.onItemFocus(d)),onKeyDown:V(t.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){j.onItemShiftTab();return}if(v.target!==v.currentTarget)return;const x=k4(v,j.orientation,j.dir);if(x!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let w=b().filter(N=>N.focusable).map(N=>N.ref.current);if(x==="last")w.reverse();else if(x==="prev"||x==="next"){x==="prev"&&w.reverse();const N=w.indexOf(v.currentTarget);w=j.loop?M4(w,N+1):w.slice(N+1)}setTimeout(()=>ey(w))}}),children:typeof o=="function"?o({isCurrentTabStop:m,hasTabStop:h!=null}):o})})});Zb.displayName=Jb;var w4={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function N4(t,r){return r!=="rtl"?t:t==="ArrowLeft"?"ArrowRight":t==="ArrowRight"?"ArrowLeft":t}function k4(t,r,s){const n=N4(t.key,s);if(!(r==="vertical"&&["ArrowLeft","ArrowRight"].includes(n))&&!(r==="horizontal"&&["ArrowUp","ArrowDown"].includes(n)))return w4[n]}function ey(t,r=!1){const s=document.activeElement;for(const n of t)if(n===s||(n.focus({preventScroll:r}),document.activeElement!==s))return}function M4(t,r){return t.map((s,n)=>t[(r+n)%t.length])}var ty=Xb,ry=Zb,C4=function(t){if(typeof document>"u")return null;var r=Array.isArray(t)?t[0]:t;return r.ownerDocument.body},Pn=new WeakMap,wo=new WeakMap,No={},ld=0,sy=function(t){return t&&(t.host||sy(t.parentNode))},S4=function(t,r){return r.map(function(s){if(t.contains(s))return s;var n=sy(s);return n&&t.contains(n)?n:(console.error("aria-hidden",s,"in not contained inside",t,". Doing nothing"),null)}).filter(function(s){return!!s})},T4=function(t,r,s,n){var i=S4(r,Array.isArray(t)?t:[t]);No[s]||(No[s]=new WeakMap);var a=No[s],o=[],l=new Set,c=new Set(i),d=function(m){!m||l.has(m)||(l.add(m),d(m.parentNode))};i.forEach(d);var j=function(m){!m||c.has(m)||Array.prototype.forEach.call(m.children,function(b){if(l.has(b))j(b);else try{var g=b.getAttribute(n),y=g!==null&&g!=="false",h=(Pn.get(b)||0)+1,v=(a.get(b)||0)+1;Pn.set(b,h),a.set(b,v),o.push(b),h===1&&y&&wo.set(b,!0),v===1&&b.setAttribute(s,"true"),y||b.setAttribute(n,"true")}catch(x){console.error("aria-hidden: cannot operate on ",b,x)}})};return j(r),l.clear(),ld++,function(){o.forEach(function(m){var b=Pn.get(m)-1,g=a.get(m)-1;Pn.set(m,b),a.set(m,g),b||(wo.has(m)||m.removeAttribute(n),wo.delete(m)),g||m.removeAttribute(s)}),ld--,ld||(Pn=new WeakMap,Pn=new WeakMap,wo=new WeakMap,No={})}},P4=function(t,r,s){s===void 0&&(s="data-aria-hidden");var n=Array.from(Array.isArray(t)?t:[t]),i=C4(t);return i?(n.push.apply(n,Array.from(i.querySelectorAll("[aria-live]"))),T4(n,i,s,"aria-hidden")):function(){return null}},Nr=function(){return Nr=Object.assign||function(r){for(var s,n=1,i=arguments.length;n<i;n++){s=arguments[n];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(r[a]=s[a])}return r},Nr.apply(this,arguments)};function ny(t,r){var s={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&r.indexOf(n)<0&&(s[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(s[n[i]]=t[n[i]]);return s}function E4(t,r,s){if(s||arguments.length===2)for(var n=0,i=r.length,a;n<i;n++)(a||!(n in r))&&(a||(a=Array.prototype.slice.call(r,0,n)),a[n]=r[n]);return t.concat(a||Array.prototype.slice.call(r))}var qo="right-scroll-bar-position",_o="width-before-scroll-bar",G4="with-scroll-bars-hidden",B4="--removed-body-scroll-bar-size";function cd(t,r){return typeof t=="function"?t(r):t&&(t.current=r),t}function A4(t,r){var s=f.useState(function(){return{value:t,callback:r,facade:{get current(){return s.value},set current(n){var i=s.value;i!==n&&(s.value=n,s.callback(n,i))}}}})[0];return s.callback=r,s.facade}var R4=typeof window<"u"?f.useLayoutEffect:f.useEffect,vg=new WeakMap;function D4(t,r){var s=A4(null,function(n){return t.forEach(function(i){return cd(i,n)})});return R4(function(){var n=vg.get(s);if(n){var i=new Set(n),a=new Set(t),o=s.current;i.forEach(function(l){a.has(l)||cd(l,null)}),a.forEach(function(l){i.has(l)||cd(l,o)})}vg.set(s,t)},[t]),s}function I4(t){return t}function F4(t,r){r===void 0&&(r=I4);var s=[],n=!1,i={read:function(){if(n)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return s.length?s[s.length-1]:t},useMedium:function(a){var o=r(a,n);return s.push(o),function(){s=s.filter(function(l){return l!==o})}},assignSyncMedium:function(a){for(n=!0;s.length;){var o=s;s=[],o.forEach(a)}s={push:function(l){return a(l)},filter:function(){return s}}},assignMedium:function(a){n=!0;var o=[];if(s.length){var l=s;s=[],l.forEach(a),o=s}var c=function(){var j=o;o=[],j.forEach(a)},d=function(){return Promise.resolve().then(c)};d(),s={push:function(j){o.push(j),d()},filter:function(j){return o=o.filter(j),s}}}};return i}function L4(t){t===void 0&&(t={});var r=F4(null);return r.options=Nr({async:!0,ssr:!1},t),r}var iy=function(t){var r=t.sideCar,s=ny(t,["sideCar"]);if(!r)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var n=r.read();if(!n)throw new Error("Sidecar medium not found");return f.createElement(n,Nr({},s))};iy.isSideCarExport=!0;function O4(t,r){return t.useMedium(r),iy}var ay=L4(),dd=function(){},cc=f.forwardRef(function(t,r){var s=f.useRef(null),n=f.useState({onScrollCapture:dd,onWheelCapture:dd,onTouchMoveCapture:dd}),i=n[0],a=n[1],o=t.forwardProps,l=t.children,c=t.className,d=t.removeScrollBar,j=t.enabled,m=t.shards,b=t.sideCar,g=t.noRelative,y=t.noIsolation,h=t.inert,v=t.allowPinchZoom,x=t.as,u=x===void 0?"div":x,w=t.gapMode,N=ny(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),k=b,M=D4([s,r]),C=Nr(Nr({},N),i);return f.createElement(f.Fragment,null,j&&f.createElement(k,{sideCar:ay,removeScrollBar:d,shards:m,noRelative:g,noIsolation:y,inert:h,setCallbacks:a,allowPinchZoom:!!v,lockRef:s,gapMode:w}),o?f.cloneElement(f.Children.only(l),Nr(Nr({},C),{ref:M})):f.createElement(u,Nr({},C,{className:c,ref:M}),l))});cc.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};cc.classNames={fullWidth:_o,zeroRight:qo};var z4=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function H4(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var r=z4();return r&&t.setAttribute("nonce",r),t}function q4(t,r){t.styleSheet?t.styleSheet.cssText=r:t.appendChild(document.createTextNode(r))}function _4(t){var r=document.head||document.getElementsByTagName("head")[0];r.appendChild(t)}var U4=function(){var t=0,r=null;return{add:function(s){t==0&&(r=H4())&&(q4(r,s),_4(r)),t++},remove:function(){t--,!t&&r&&(r.parentNode&&r.parentNode.removeChild(r),r=null)}}},W4=function(){var t=U4();return function(r,s){f.useEffect(function(){return t.add(r),function(){t.remove()}},[r&&s])}},oy=function(){var t=W4(),r=function(s){var n=s.styles,i=s.dynamic;return t(n,i),null};return r},$4={left:0,top:0,right:0,gap:0},ud=function(t){return parseInt(t||"",10)||0},V4=function(t){var r=window.getComputedStyle(document.body),s=r[t==="padding"?"paddingLeft":"marginLeft"],n=r[t==="padding"?"paddingTop":"marginTop"],i=r[t==="padding"?"paddingRight":"marginRight"];return[ud(s),ud(n),ud(i)]},Y4=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return $4;var r=V4(t),s=document.documentElement.clientWidth,n=window.innerWidth;return{left:r[0],top:r[1],right:r[2],gap:Math.max(0,n-s+r[2]-r[0])}},K4=oy(),Zn="data-scroll-locked",Q4=function(t,r,s,n){var i=t.left,a=t.top,o=t.right,l=t.gap;return s===void 0&&(s="margin"),`
.`.concat(G4,` {
overflow: hidden `).concat(n,`;
padding-right: `).concat(l,"px ").concat(n,`;
}
body[`).concat(Zn,`] {
overflow: hidden `).concat(n,`;
overscroll-behavior: contain;
`).concat([r&&"position: relative ".concat(n,";"),s==="margin"&&`
padding-left: `.concat(i,`px;
padding-top: `).concat(a,`px;
padding-right: `).concat(o,`px;
margin-left:0;
margin-top:0;
margin-right: `).concat(l,"px ").concat(n,`;
`),s==="padding"&&"padding-right: ".concat(l,"px ").concat(n,";")].filter(Boolean).join(""),`
}
.`).concat(qo,` {
right: `).concat(l,"px ").concat(n,`;
}
.`).concat(_o,` {
margin-right: `).concat(l,"px ").concat(n,`;
}
.`).concat(qo," .").concat(qo,` {
right: 0 `).concat(n,`;
}
.`).concat(_o," .").concat(_o,` {
margin-right: 0 `).concat(n,`;
}
body[`).concat(Zn,`] {
`).concat(B4,": ").concat(l,`px;
}
`)},wg=function(){var t=parseInt(document.body.getAttribute(Zn)||"0",10);return isFinite(t)?t:0},X4=function(){f.useEffect(function(){return document.body.setAttribute(Zn,(wg()+1).toString()),function(){var t=wg()-1;t<=0?document.body.removeAttribute(Zn):document.body.setAttribute(Zn,t.toString())}},[])},J4=function(t){var r=t.noRelative,s=t.noImportant,n=t.gapMode,i=n===void 0?"margin":n;X4();var a=f.useMemo(function(){return Y4(i)},[i]);return f.createElement(K4,{styles:Q4(a,!r,i,s?"":"!important")})},Cu=!1;if(typeof window<"u")try{var ko=Object.defineProperty({},"passive",{get:function(){return Cu=!0,!0}});window.addEventListener("test",ko,ko),window.removeEventListener("test",ko,ko)}catch{Cu=!1}var En=Cu?{passive:!1}:!1,Z4=function(t){return t.tagName==="TEXTAREA"},ly=function(t,r){if(!(t instanceof Element))return!1;var s=window.getComputedStyle(t);return s[r]!=="hidden"&&!(s.overflowY===s.overflowX&&!Z4(t)&&s[r]==="visible")},e3=function(t){return ly(t,"overflowY")},t3=function(t){return ly(t,"overflowX")},Ng=function(t,r){var s=r.ownerDocument,n=r;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var i=cy(t,n);if(i){var a=dy(t,n),o=a[1],l=a[2];if(o>l)return!0}n=n.parentNode}while(n&&n!==s.body);return!1},r3=function(t){var r=t.scrollTop,s=t.scrollHeight,n=t.clientHeight;return[r,s,n]},s3=function(t){var r=t.scrollLeft,s=t.scrollWidth,n=t.clientWidth;return[r,s,n]},cy=function(t,r){return t==="v"?e3(r):t3(r)},dy=function(t,r){return t==="v"?r3(r):s3(r)},n3=function(t,r){return t==="h"&&r==="rtl"?-1:1},i3=function(t,r,s,n,i){var a=n3(t,window.getComputedStyle(r).direction),o=a*n,l=s.target,c=r.contains(l),d=!1,j=o>0,m=0,b=0;do{if(!l)break;var g=dy(t,l),y=g[0],h=g[1],v=g[2],x=h-v-a*y;(y||x)&&cy(t,l)&&(m+=x,b+=y);var u=l.parentNode;l=u&&u.nodeType===Node.DOCUMENT_FRAGMENT_NODE?u.host:u}while(!c&&l!==document.body||c&&(r.contains(l)||r===l));return(j&&(Math.abs(m)<1||!i)||!j&&(Math.abs(b)<1||!i))&&(d=!0),d},Mo=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},kg=function(t){return[t.deltaX,t.deltaY]},Mg=function(t){return t&&"current"in t?t.current:t},a3=function(t,r){return t[0]===r[0]&&t[1]===r[1]},o3=function(t){return`
.block-interactivity-`.concat(t,` {pointer-events: none;}
.allow-interactivity-`).concat(t,` {pointer-events: all;}
`)},l3=0,Gn=[];function c3(t){var r=f.useRef([]),s=f.useRef([0,0]),n=f.useRef(),i=f.useState(l3++)[0],a=f.useState(oy)[0],o=f.useRef(t);f.useEffect(function(){o.current=t},[t]),f.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(i));var h=E4([t.lockRef.current],(t.shards||[]).map(Mg),!0).filter(Boolean);return h.forEach(function(v){return v.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),h.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(i))})}}},[t.inert,t.lockRef.current,t.shards]);var l=f.useCallback(function(h,v){if("touches"in h&&h.touches.length===2||h.type==="wheel"&&h.ctrlKey)return!o.current.allowPinchZoom;var x=Mo(h),u=s.current,w="deltaX"in h?h.deltaX:u[0]-x[0],N="deltaY"in h?h.deltaY:u[1]-x[1],k,M=h.target,C=Math.abs(w)>Math.abs(N)?"h":"v";if("touches"in h&&C==="h"&&M.type==="range")return!1;var P=Ng(C,M);if(!P)return!0;if(P?k=C:(k=C==="v"?"h":"v",P=Ng(C,M)),!P)return!1;if(!n.current&&"changedTouches"in h&&(w||N)&&(n.current=k),!k)return!0;var R=n.current||k;return i3(R,v,h,R==="h"?w:N,!0)},[]),c=f.useCallback(function(h){var v=h;if(!(!Gn.length||Gn[Gn.length-1]!==a)){var x="deltaY"in v?kg(v):Mo(v),u=r.current.filter(function(k){return k.name===v.type&&(k.target===v.target||v.target===k.shadowParent)&&a3(k.delta,x)})[0];if(u&&u.should){v.cancelable&&v.preventDefault();return}if(!u){var w=(o.current.shards||[]).map(Mg).filter(Boolean).filter(function(k){return k.contains(v.target)}),N=w.length>0?l(v,w[0]):!o.current.noIsolation;N&&v.cancelable&&v.preventDefault()}}},[]),d=f.useCallback(function(h,v,x,u){var w={name:h,delta:v,target:x,should:u,shadowParent:d3(x)};r.current.push(w),setTimeout(function(){r.current=r.current.filter(function(N){return N!==w})},1)},[]),j=f.useCallback(function(h){s.current=Mo(h),n.current=void 0},[]),m=f.useCallback(function(h){d(h.type,kg(h),h.target,l(h,t.lockRef.current))},[]),b=f.useCallback(function(h){d(h.type,Mo(h),h.target,l(h,t.lockRef.current))},[]);f.useEffect(function(){return Gn.push(a),t.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:b}),document.addEventListener("wheel",c,En),document.addEventListener("touchmove",c,En),document.addEventListener("touchstart",j,En),function(){Gn=Gn.filter(function(h){return h!==a}),document.removeEventListener("wheel",c,En),document.removeEventListener("touchmove",c,En),document.removeEventListener("touchstart",j,En)}},[]);var g=t.removeScrollBar,y=t.inert;return f.createElement(f.Fragment,null,y?f.createElement(a,{styles:o3(i)}):null,g?f.createElement(J4,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function d3(t){for(var r=null;t!==null;)t instanceof ShadowRoot&&(r=t.host,t=t.host),t=t.parentNode;return r}const u3=O4(ay,c3);var uy=f.forwardRef(function(t,r){return f.createElement(cc,Nr({},t,{ref:r,sideCar:u3}))});uy.classNames=cc.classNames;var Su=["Enter"," "],h3=["ArrowDown","PageUp","Home"],hy=["ArrowUp","PageDown","End"],m3=[...h3,...hy],x3={ltr:[...Su,"ArrowRight"],rtl:[...Su,"ArrowLeft"]},g3={ltr:["ArrowLeft"],rtl:["ArrowRight"]},$a="Menu",[Ea,f3,p3]=za($a),[jn,my]=Wt($a,[p3,rc,lc]),dc=rc(),xy=lc(),[j3,bn]=jn($a),[b3,Va]=jn($a),gy=t=>{const{__scopeMenu:r,open:s=!1,children:n,dir:i,onOpenChange:a,modal:o=!0}=t,l=dc(r),[c,d]=f.useState(null),j=f.useRef(!1),m=Bt(a),b=Ua(i);return f.useEffect(()=>{const g=()=>{j.current=!0,document.addEventListener("pointerdown",y,{capture:!0,once:!0}),document.addEventListener("pointermove",y,{capture:!0,once:!0})},y=()=>j.current=!1;return document.addEventListener("keydown",g,{capture:!0}),()=>{document.removeEventListener("keydown",g,{capture:!0}),document.removeEventListener("pointerdown",y,{capture:!0}),document.removeEventListener("pointermove",y,{capture:!0})}},[]),e.jsx(hC,{...l,children:e.jsx(j3,{scope:r,open:s,onOpenChange:m,content:c,onContentChange:d,children:e.jsx(b3,{scope:r,onClose:f.useCallback(()=>m(!1),[m]),isUsingKeyboardRef:j,dir:b,modal:o,children:n})})})};gy.displayName=$a;var y3="MenuAnchor",Zh=f.forwardRef((t,r)=>{const{__scopeMenu:s,...n}=t,i=dc(s);return e.jsx(jb,{...i,...n,ref:r})});Zh.displayName=y3;var em="MenuPortal",[v3,fy]=jn(em,{forceMount:void 0}),py=t=>{const{__scopeMenu:r,forceMount:s,children:n,container:i}=t,a=bn(em,r);return e.jsx(v3,{scope:r,forceMount:s,children:e.jsx(Qr,{present:s||a.open,children:e.jsx(Gh,{asChild:!0,container:i,children:n})})})};py.displayName=em;var qt="MenuContent",[w3,tm]=jn(qt),jy=f.forwardRef((t,r)=>{const s=fy(qt,t.__scopeMenu),{forceMount:n=s.forceMount,...i}=t,a=bn(qt,t.__scopeMenu),o=Va(qt,t.__scopeMenu);return e.jsx(Ea.Provider,{scope:t.__scopeMenu,children:e.jsx(Qr,{present:n||a.open,children:e.jsx(Ea.Slot,{scope:t.__scopeMenu,children:o.modal?e.jsx(N3,{...i,ref:r}):e.jsx(k3,{...i,ref:r})})})})}),N3=f.forwardRef((t,r)=>{const s=bn(qt,t.__scopeMenu),n=f.useRef(null),i=be(r,n);return f.useEffect(()=>{const a=n.current;if(a)return P4(a)},[]),e.jsx(rm,{...t,ref:i,trapFocus:s.open,disableOutsidePointerEvents:s.open,disableOutsideScroll:!0,onFocusOutside:V(t.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>s.onOpenChange(!1)})}),k3=f.forwardRef((t,r)=>{const s=bn(qt,t.__scopeMenu);return e.jsx(rm,{...t,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>s.onOpenChange(!1)})}),M3=Na("MenuContent.ScrollLock"),rm=f.forwardRef((t,r)=>{const{__scopeMenu:s,loop:n=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:l,onEntryFocus:c,onEscapeKeyDown:d,onPointerDownOutside:j,onFocusOutside:m,onInteractOutside:b,onDismiss:g,disableOutsideScroll:y,...h}=t,v=bn(qt,s),x=Va(qt,s),u=dc(s),w=xy(s),N=f3(s),[k,M]=f.useState(null),C=f.useRef(null),P=be(r,C,v.onContentChange),R=f.useRef(0),B=f.useRef(""),I=f.useRef(0),z=f.useRef(null),X=f.useRef("right"),q=f.useRef(0),ne=y?uy:f.Fragment,Y=y?{as:M3,allowPinchZoom:!0}:void 0,re=T=>{var me,Br;const H=B.current+T,J=N().filter(Ye=>!Ye.disabled),K=document.activeElement,le=(me=J.find(Ye=>Ye.ref.current===K))==null?void 0:me.textValue,ue=J.map(Ye=>Ye.textValue),Ge=F3(ue,H,le),De=(Br=J.find(Ye=>Ye.textValue===Ge))==null?void 0:Br.ref.current;(function Ye(fr){B.current=fr,window.clearTimeout(R.current),fr!==""&&(R.current=window.setTimeout(()=>Ye(""),1e3))})(H),De&&setTimeout(()=>De.focus())};f.useEffect(()=>()=>window.clearTimeout(R.current),[]),l4();const E=f.useCallback(T=>{var J,K;return X.current===((J=z.current)==null?void 0:J.side)&&O3(T,(K=z.current)==null?void 0:K.area)},[]);return e.jsx(w3,{scope:s,searchRef:B,onItemEnter:f.useCallback(T=>{E(T)&&T.preventDefault()},[E]),onItemLeave:f.useCallback(T=>{var H;E(T)||((H=C.current)==null||H.focus(),M(null))},[E]),onTriggerLeave:f.useCallback(T=>{E(T)&&T.preventDefault()},[E]),pointerGraceTimerRef:I,onPointerGraceIntentChange:f.useCallback(T=>{z.current=T},[]),children:e.jsx(ne,{...Y,children:e.jsx(Yb,{asChild:!0,trapped:i,onMountAutoFocus:V(a,T=>{var H;T.preventDefault(),(H=C.current)==null||H.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:e.jsx(Wl,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:j,onFocusOutside:m,onInteractOutside:b,onDismiss:g,children:e.jsx(ty,{asChild:!0,...w,dir:x.dir,orientation:"vertical",loop:n,currentTabStopId:k,onCurrentTabStopIdChange:M,onEntryFocus:V(c,T=>{x.isUsingKeyboardRef.current||T.preventDefault()}),preventScrollOnEntryFocus:!0,children:e.jsx(bb,{role:"menu","aria-orientation":"vertical","data-state":Ry(v.open),"data-radix-menu-content":"",dir:x.dir,...u,...h,ref:P,style:{outline:"none",...h.style},onKeyDown:V(h.onKeyDown,T=>{const J=T.target.closest("[data-radix-menu-content]")===T.currentTarget,K=T.ctrlKey||T.altKey||T.metaKey,le=T.key.length===1;J&&(T.key==="Tab"&&T.preventDefault(),!K&&le&&re(T.key));const ue=C.current;if(T.target!==ue||!m3.includes(T.key))return;T.preventDefault();const De=N().filter(me=>!me.disabled).map(me=>me.ref.current);hy.includes(T.key)&&De.reverse(),D3(De)}),onBlur:V(t.onBlur,T=>{T.currentTarget.contains(T.target)||(window.clearTimeout(R.current),B.current="")}),onPointerMove:V(t.onPointerMove,Ga(T=>{const H=T.target,J=q.current!==T.clientX;if(T.currentTarget.contains(H)&&J){const K=T.clientX>q.current?"right":"left";X.current=K,q.current=T.clientX}}))})})})})})})});jy.displayName=qt;var C3="MenuGroup",sm=f.forwardRef((t,r)=>{const{__scopeMenu:s,...n}=t;return e.jsx(he.div,{role:"group",...n,ref:r})});sm.displayName=C3;var S3="MenuLabel",by=f.forwardRef((t,r)=>{const{__scopeMenu:s,...n}=t;return e.jsx(he.div,{...n,ref:r})});by.displayName=S3;var kl="MenuItem",Cg="menu.itemSelect",uc=f.forwardRef((t,r)=>{const{disabled:s=!1,onSelect:n,...i}=t,a=f.useRef(null),o=Va(kl,t.__scopeMenu),l=tm(kl,t.__scopeMenu),c=be(r,a),d=f.useRef(!1),j=()=>{const m=a.current;if(!s&&m){const b=new CustomEvent(Cg,{bubbles:!0,cancelable:!0});m.addEventListener(Cg,g=>n==null?void 0:n(g),{once:!0}),Eh(m,b),b.defaultPrevented?d.current=!1:o.onClose()}};return e.jsx(yy,{...i,ref:c,disabled:s,onClick:V(t.onClick,j),onPointerDown:m=>{var b;(b=t.onPointerDown)==null||b.call(t,m),d.current=!0},onPointerUp:V(t.onPointerUp,m=>{var b;d.current||(b=m.currentTarget)==null||b.click()}),onKeyDown:V(t.onKeyDown,m=>{const b=l.searchRef.current!=="";s||b&&m.key===" "||Su.includes(m.key)&&(m.currentTarget.click(),m.preventDefault())})})});uc.displayName=kl;var yy=f.forwardRef((t,r)=>{const{__scopeMenu:s,disabled:n=!1,textValue:i,...a}=t,o=tm(kl,s),l=xy(s),c=f.useRef(null),d=be(r,c),[j,m]=f.useState(!1),[b,g]=f.useState("");return f.useEffect(()=>{const y=c.current;y&&g((y.textContent??"").trim())},[a.children]),e.jsx(Ea.ItemSlot,{scope:s,disabled:n,textValue:i??b,children:e.jsx(ry,{asChild:!0,...l,focusable:!n,children:e.jsx(he.div,{role:"menuitem","data-highlighted":j?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...a,ref:d,onPointerMove:V(t.onPointerMove,Ga(y=>{n?o.onItemLeave(y):(o.onItemEnter(y),y.defaultPrevented||y.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:V(t.onPointerLeave,Ga(y=>o.onItemLeave(y))),onFocus:V(t.onFocus,()=>m(!0)),onBlur:V(t.onBlur,()=>m(!1))})})})}),T3="MenuCheckboxItem",vy=f.forwardRef((t,r)=>{const{checked:s=!1,onCheckedChange:n,...i}=t;return e.jsx(Cy,{scope:t.__scopeMenu,checked:s,children:e.jsx(uc,{role:"menuitemcheckbox","aria-checked":Ml(s)?"mixed":s,...i,ref:r,"data-state":im(s),onSelect:V(i.onSelect,()=>n==null?void 0:n(Ml(s)?!0:!s),{checkForDefaultPrevented:!1})})})});vy.displayName=T3;var wy="MenuRadioGroup",[P3,E3]=jn(wy,{value:void 0,onValueChange:()=>{}}),Ny=f.forwardRef((t,r)=>{const{value:s,onValueChange:n,...i}=t,a=Bt(n);return e.jsx(P3,{scope:t.__scopeMenu,value:s,onValueChange:a,children:e.jsx(sm,{...i,ref:r})})});Ny.displayName=wy;var ky="MenuRadioItem",My=f.forwardRef((t,r)=>{const{value:s,...n}=t,i=E3(ky,t.__scopeMenu),a=s===i.value;return e.jsx(Cy,{scope:t.__scopeMenu,checked:a,children:e.jsx(uc,{role:"menuitemradio","aria-checked":a,...n,ref:r,"data-state":im(a),onSelect:V(n.onSelect,()=>{var o;return(o=i.onValueChange)==null?void 0:o.call(i,s)},{checkForDefaultPrevented:!1})})})});My.displayName=ky;var nm="MenuItemIndicator",[Cy,G3]=jn(nm,{checked:!1}),Sy=f.forwardRef((t,r)=>{const{__scopeMenu:s,forceMount:n,...i}=t,a=G3(nm,s);return e.jsx(Qr,{present:n||Ml(a.checked)||a.checked===!0,children:e.jsx(he.span,{...i,ref:r,"data-state":im(a.checked)})})});Sy.displayName=nm;var B3="MenuSeparator",Ty=f.forwardRef((t,r)=>{const{__scopeMenu:s,...n}=t;return e.jsx(he.div,{role:"separator","aria-orientation":"horizontal",...n,ref:r})});Ty.displayName=B3;var A3="MenuArrow",Py=f.forwardRef((t,r)=>{const{__scopeMenu:s,...n}=t,i=dc(s);return e.jsx(yb,{...i,...n,ref:r})});Py.displayName=A3;var R3="MenuSub",[bE,Ey]=jn(R3),Ki="MenuSubTrigger",Gy=f.forwardRef((t,r)=>{const s=bn(Ki,t.__scopeMenu),n=Va(Ki,t.__scopeMenu),i=Ey(Ki,t.__scopeMenu),a=tm(Ki,t.__scopeMenu),o=f.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:c}=a,d={__scopeMenu:t.__scopeMenu},j=f.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return f.useEffect(()=>j,[j]),f.useEffect(()=>{const m=l.current;return()=>{window.clearTimeout(m),c(null)}},[l,c]),e.jsx(Zh,{asChild:!0,...d,children:e.jsx(yy,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":i.contentId,"data-state":Ry(s.open),...t,ref:Ul(r,i.onTriggerChange),onClick:m=>{var b;(b=t.onClick)==null||b.call(t,m),!(t.disabled||m.defaultPrevented)&&(m.currentTarget.focus(),s.open||s.onOpenChange(!0))},onPointerMove:V(t.onPointerMove,Ga(m=>{a.onItemEnter(m),!m.defaultPrevented&&!t.disabled&&!s.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{s.onOpenChange(!0),j()},100))})),onPointerLeave:V(t.onPointerLeave,Ga(m=>{var g,y;j();const b=(g=s.content)==null?void 0:g.getBoundingClientRect();if(b){const h=(y=s.content)==null?void 0:y.dataset.side,v=h==="right",x=v?-5:5,u=b[v?"left":"right"],w=b[v?"right":"left"];a.onPointerGraceIntentChange({area:[{x:m.clientX+x,y:m.clientY},{x:u,y:b.top},{x:w,y:b.top},{x:w,y:b.bottom},{x:u,y:b.bottom}],side:h}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(m),m.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:V(t.onKeyDown,m=>{var g;const b=a.searchRef.current!=="";t.disabled||b&&m.key===" "||x3[n.dir].includes(m.key)&&(s.onOpenChange(!0),(g=s.content)==null||g.focus(),m.preventDefault())})})})});Gy.displayName=Ki;var By="MenuSubContent",Ay=f.forwardRef((t,r)=>{const s=fy(qt,t.__scopeMenu),{forceMount:n=s.forceMount,...i}=t,a=bn(qt,t.__scopeMenu),o=Va(qt,t.__scopeMenu),l=Ey(By,t.__scopeMenu),c=f.useRef(null),d=be(r,c);return e.jsx(Ea.Provider,{scope:t.__scopeMenu,children:e.jsx(Qr,{present:n||a.open,children:e.jsx(Ea.Slot,{scope:t.__scopeMenu,children:e.jsx(rm,{id:l.contentId,"aria-labelledby":l.triggerId,...i,ref:d,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:j=>{var m;o.isUsingKeyboardRef.current&&((m=c.current)==null||m.focus()),j.preventDefault()},onCloseAutoFocus:j=>j.preventDefault(),onFocusOutside:V(t.onFocusOutside,j=>{j.target!==l.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:V(t.onEscapeKeyDown,j=>{o.onClose(),j.preventDefault()}),onKeyDown:V(t.onKeyDown,j=>{var g;const m=j.currentTarget.contains(j.target),b=g3[o.dir].includes(j.key);m&&b&&(a.onOpenChange(!1),(g=l.trigger)==null||g.focus(),j.preventDefault())})})})})})});Ay.displayName=By;function Ry(t){return t?"open":"closed"}function Ml(t){return t==="indeterminate"}function im(t){return Ml(t)?"indeterminate":t?"checked":"unchecked"}function D3(t){const r=document.activeElement;for(const s of t)if(s===r||(s.focus(),document.activeElement!==r))return}function I3(t,r){return t.map((s,n)=>t[(r+n)%t.length])}function F3(t,r,s){const i=r.length>1&&Array.from(r).every(d=>d===r[0])?r[0]:r,a=s?t.indexOf(s):-1;let o=I3(t,Math.max(a,0));i.length===1&&(o=o.filter(d=>d!==s));const c=o.find(d=>d.toLowerCase().startsWith(i.toLowerCase()));return c!==s?c:void 0}function L3(t,r){const{x:s,y:n}=t;let i=!1;for(let a=0,o=r.length-1;a<r.length;o=a++){const l=r[a],c=r[o],d=l.x,j=l.y,m=c.x,b=c.y;j>n!=b>n&&s<(m-d)*(n-j)/(b-j)+d&&(i=!i)}return i}function O3(t,r){if(!r)return!1;const s={x:t.clientX,y:t.clientY};return L3(s,r)}function Ga(t){return r=>r.pointerType==="mouse"?t(r):void 0}var z3=gy,H3=Zh,q3=py,_3=jy,U3=sm,W3=by,$3=uc,V3=vy,Y3=Ny,K3=My,Q3=Sy,X3=Ty,J3=Py,Z3=Gy,eT=Ay,hc="DropdownMenu",[tT,yE]=Wt(hc,[my]),pt=my(),[rT,Dy]=tT(hc),Iy=t=>{const{__scopeDropdownMenu:r,children:s,dir:n,open:i,defaultOpen:a,onOpenChange:o,modal:l=!0}=t,c=pt(r),d=f.useRef(null),[j,m]=Xr({prop:i,defaultProp:a??!1,onChange:o,caller:hc});return e.jsx(rT,{scope:r,triggerId:ji(),triggerRef:d,contentId:ji(),open:j,onOpenChange:m,onOpenToggle:f.useCallback(()=>m(b=>!b),[m]),modal:l,children:e.jsx(z3,{...c,open:j,onOpenChange:m,dir:n,modal:l,children:s})})};Iy.displayName=hc;var Fy="DropdownMenuTrigger",Ly=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,disabled:n=!1,...i}=t,a=Dy(Fy,s),o=pt(s);return e.jsx(H3,{asChild:!0,...o,children:e.jsx(he.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...i,ref:Ul(r,a.triggerRef),onPointerDown:V(t.onPointerDown,l=>{!n&&l.button===0&&l.ctrlKey===!1&&(a.onOpenToggle(),a.open||l.preventDefault())}),onKeyDown:V(t.onKeyDown,l=>{n||(["Enter"," "].includes(l.key)&&a.onOpenToggle(),l.key==="ArrowDown"&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(l.key)&&l.preventDefault())})})})});Ly.displayName=Fy;var sT="DropdownMenuPortal",Oy=t=>{const{__scopeDropdownMenu:r,...s}=t,n=pt(r);return e.jsx(q3,{...n,...s})};Oy.displayName=sT;var zy="DropdownMenuContent",Hy=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=Dy(zy,s),a=pt(s),o=f.useRef(!1);return e.jsx(_3,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...n,ref:r,onCloseAutoFocus:V(t.onCloseAutoFocus,l=>{var c;o.current||(c=i.triggerRef.current)==null||c.focus(),o.current=!1,l.preventDefault()}),onInteractOutside:V(t.onInteractOutside,l=>{const c=l.detail.originalEvent,d=c.button===0&&c.ctrlKey===!0,j=c.button===2||d;(!i.modal||j)&&(o.current=!0)}),style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Hy.displayName=zy;var nT="DropdownMenuGroup",iT=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(U3,{...i,...n,ref:r})});iT.displayName=nT;var aT="DropdownMenuLabel",qy=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(W3,{...i,...n,ref:r})});qy.displayName=aT;var oT="DropdownMenuItem",_y=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx($3,{...i,...n,ref:r})});_y.displayName=oT;var lT="DropdownMenuCheckboxItem",Uy=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(V3,{...i,...n,ref:r})});Uy.displayName=lT;var cT="DropdownMenuRadioGroup",dT=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(Y3,{...i,...n,ref:r})});dT.displayName=cT;var uT="DropdownMenuRadioItem",Wy=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(K3,{...i,...n,ref:r})});Wy.displayName=uT;var hT="DropdownMenuItemIndicator",$y=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(Q3,{...i,...n,ref:r})});$y.displayName=hT;var mT="DropdownMenuSeparator",Vy=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(X3,{...i,...n,ref:r})});Vy.displayName=mT;var xT="DropdownMenuArrow",gT=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(J3,{...i,...n,ref:r})});gT.displayName=xT;var fT="DropdownMenuSubTrigger",Yy=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(Z3,{...i,...n,ref:r})});Yy.displayName=fT;var pT="DropdownMenuSubContent",Ky=f.forwardRef((t,r)=>{const{__scopeDropdownMenu:s,...n}=t,i=pt(s);return e.jsx(eT,{...i,...n,ref:r,style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Ky.displayName=pT;var jT=Iy,bT=Ly,yT=Oy,Qy=Hy,Xy=qy,Jy=_y,Zy=Uy,ev=Wy,tv=$y,rv=Vy,sv=Yy,nv=Ky;const hd=jT,md=bT,vT=f.forwardRef(({className:t,inset:r,children:s,...n},i)=>e.jsxs(sv,{ref:i,className:de("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent",r&&"pl-8",t),...n,children:[s,e.jsx(fi,{className:"ml-auto h-4 w-4"})]}));vT.displayName=sv.displayName;const wT=f.forwardRef(({className:t,...r},s)=>e.jsx(nv,{ref:s,className:de("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...r}));wT.displayName=nv.displayName;const Uo=f.forwardRef(({className:t,sideOffset:r=4,...s},n)=>e.jsx(yT,{children:e.jsx(Qy,{ref:n,sideOffset:r,className:de("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...s})}));Uo.displayName=Qy.displayName;const Wo=f.forwardRef(({className:t,inset:r,...s},n)=>e.jsx(Jy,{ref:n,className:de("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",r&&"pl-8",t),...s}));Wo.displayName=Jy.displayName;const NT=f.forwardRef(({className:t,children:r,checked:s,...n},i)=>e.jsxs(Zy,{ref:i,className:de("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",t),checked:s,...n,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(tv,{children:e.jsx(Bj,{className:"h-4 w-4"})})}),r]}));NT.displayName=Zy.displayName;const kT=f.forwardRef(({className:t,children:r,...s},n)=>e.jsxs(ev,{ref:n,className:de("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",t),...s,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(tv,{children:e.jsx(we,{className:"h-2 w-2 fill-current"})})}),r]}));kT.displayName=ev.displayName;const MT=f.forwardRef(({className:t,inset:r,...s},n)=>e.jsx(Xy,{ref:n,className:de("px-2 py-1.5 text-sm font-semibold",r&&"pl-8",t),...s}));MT.displayName=Xy.displayName;const CT=f.forwardRef(({className:t,...r},s)=>e.jsx(rv,{ref:s,className:de("-mx-1 my-1 h-px bg-muted",t),...r}));CT.displayName=rv.displayName;const Os="/assets/logo-ChBrA9wA.png",ST=()=>{const{t,language:r,setLanguage:s}=lt(),[n,i]=D.useState(!1),a=Pi(),o=[{href:"/",label:"Circle Generator"},{href:"/oval-generator",label:"Oval Generator"},{href:"/hexagon-generator",label:"Hexagon Generator"},{href:"/triangle-generator",label:"Triangle Generator"},{href:"/diamond-generator",label:"Diamond Generator"},{href:"/spiral-staircase-generator",label:"Spiral Staircase"},{href:"/sphere-generator",label:"3D Sphere Generator"},{href:"/text-generator",label:"Text/Font Generator"},{href:"/rgb-generator",label:"RGB Color Generator"},{href:"/name-generator",label:"Name Generator"},{href:"/seed-generator",label:"Seed Generator"},{href:"/tools",label:"All Tools →"}],l=[{href:"/blog/how-to-build-circles",label:"How to Build Circles"},{href:"/blog/dome-building-guide",label:"Dome Building Guide"},{href:"/blog/medieval-castles-guide",label:"Medieval Castles"},{href:"/blog/best-skin-generators-2026",label:"Skin Generators 2026"},{href:"/blog/free-account-generators-scam",label:"Account Generator Scams"},{href:"/blog/best-ai-video-generators-2026",label:"AI Video Generators"},{href:"/blog/minecraft-logo-title-maker",label:"Logo & Title Maker"},{href:"/blog/how-to-make-cobblestone-generator",label:"Cobblestone Generator"},{href:"/blog/best-map-generators-2026",label:"Map Generators 2026"},{href:"/blog",label:"All Articles →"}],c=[{href:"/about",label:t("nav.about")},{href:"/faq",label:t("nav.faq")},{href:"/contact",label:t("nav.contact")}],d=b=>a.pathname===b,j=o.slice(0,-1).some(b=>d(b.href))||d("/tools"),m=l.some(b=>d(b.href))||a.pathname.startsWith("/blog");return e.jsx("header",{className:"sticky top-0 z-50 w-full border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("div",{className:"flex h-16 items-center justify-between",children:[e.jsxs(p,{to:"/",className:"flex items-center gap-2 font-heading text-xl font-bold",children:[e.jsx("img",{src:Os,alt:"Minecraft Circle Generator",className:"h-8 w-8 rounded"}),e.jsxs("span",{className:"hidden sm:inline",children:[e.jsx("span",{className:"text-primary",children:"Minecraft"})," Circle Generator"]})]}),e.jsxs("nav",{className:"hidden md:flex items-center gap-4",children:[e.jsxs(hd,{children:[e.jsx(md,{asChild:!0,children:e.jsxs(O,{variant:"ghost",size:"sm",className:`gap-1 ${j?"text-primary":"text-muted-foreground"}`,children:["Tools",e.jsx(mu,{className:"h-4 w-4"})]})}),e.jsx(Uo,{align:"start",children:o.map(b=>e.jsx(Wo,{asChild:!0,children:e.jsx(p,{to:b.href,className:d(b.href)?"bg-accent":"",children:b.label})},b.href))})]}),e.jsxs(hd,{children:[e.jsx(md,{asChild:!0,children:e.jsxs(O,{variant:"ghost",size:"sm",className:`gap-1 ${m?"text-primary":"text-muted-foreground"}`,children:["Blog",e.jsx(mu,{className:"h-4 w-4"})]})}),e.jsx(Uo,{align:"start",children:l.map(b=>e.jsx(Wo,{asChild:!0,children:e.jsx(p,{to:b.href,className:d(b.href)?"bg-accent":"",children:b.label})},b.href))})]}),c.map(b=>e.jsx(p,{to:b.href,className:`text-sm font-medium transition-colors hover:text-primary ${d(b.href)?"text-primary":"text-muted-foreground"}`,children:b.label},b.href))]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(hd,{children:[e.jsx(md,{asChild:!0,children:e.jsxs(O,{variant:"ghost",size:"sm",className:"gap-2",children:[e.jsx(Dt,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline uppercase",children:r})]})}),e.jsx(Uo,{align:"end",className:"max-h-[300px] overflow-y-auto",children:Jh.map(b=>e.jsx(Wo,{onClick:()=>s(b.code),className:r===b.code?"bg-accent":"",children:b.nativeName},b.code))})]}),e.jsx(O,{variant:"ghost",size:"sm",className:"md:hidden",onClick:()=>i(!n),children:n?e.jsx(zj,{className:"h-5 w-5"}):e.jsx(y2,{className:"h-5 w-5"})})]})]}),n&&e.jsxs("nav",{className:"md:hidden py-4 border-t border-border animate-fade-in",children:[e.jsx("div",{className:"text-xs font-semibold text-muted-foreground uppercase mb-2",children:"Tools"}),o.map(b=>e.jsx(p,{to:b.href,onClick:()=>i(!1),className:`block py-2 text-sm font-medium transition-colors ${d(b.href)?"text-primary":"text-muted-foreground"}`,children:b.label},b.href)),e.jsx("div",{className:"border-t border-border my-3"}),e.jsx("div",{className:"text-xs font-semibold text-muted-foreground uppercase mb-2",children:"Blog"}),l.map(b=>e.jsx(p,{to:b.href,onClick:()=>i(!1),className:`block py-2 text-sm font-medium transition-colors ${d(b.href)?"text-primary":"text-muted-foreground"}`,children:b.label},b.href)),e.jsx("div",{className:"border-t border-border my-3"}),c.map(b=>e.jsx(p,{to:b.href,onClick:()=>i(!1),className:`block py-2 text-sm font-medium transition-colors ${d(b.href)?"text-primary":"text-muted-foreground"}`,children:b.label},b.href))]})]})})},TT=()=>{const{t}=lt(),r=[{href:"/",label:"Circle Generator",icon:we},{href:"/oval-generator",label:"Oval Generator",icon:we},{href:"/hexagon-generator",label:"Hexagon Generator",icon:Vt},{href:"/triangle-generator",label:"Triangle Generator",icon:Yt},{href:"/diamond-generator",label:"Diamond Generator",icon:$t},{href:"/spiral-staircase-generator",label:"Spiral Staircase",icon:mr},{href:"/sphere-generator",label:"3D Sphere Generator",icon:Dt},{href:"/text-generator",label:"Text/Font Generator",icon:we},{href:"/rgb-generator",label:"RGB Color Generator",icon:we},{href:"/name-generator",label:"Name Generator",icon:we},{href:"/seed-generator",label:"Seed Generator",icon:we}],s=[{href:"/blog/how-to-build-circles",label:"How to Build Circles"},{href:"/blog/dome-building-guide",label:"Dome Building Guide"},{href:"/blog/medieval-castles-guide",label:"Medieval Castles Guide"},{href:"/blog/best-skin-generators-2026",label:"Skin Generators 2026"},{href:"/blog/free-account-generators-scam",label:"Account Generator Scams"},{href:"/blog/best-ai-video-generators-2026",label:"AI Video Generators 2026"},{href:"/blog/minecraft-logo-title-maker",label:"Logo & Title Maker"},{href:"/blog/how-to-make-cobblestone-generator",label:"Cobblestone Generator"},{href:"/blog/best-map-generators-2026",label:"Map Generators 2026"}];return e.jsx("footer",{className:"border-t border-border bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 py-12",children:[e.jsxs("div",{className:"grid gap-8 md:grid-cols-2 lg:grid-cols-5",children:[e.jsxs("div",{className:"lg:col-span-1",children:[e.jsxs(p,{to:"/",className:"flex items-center gap-2 font-heading text-lg font-bold mb-4",children:[e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded bg-primary",children:e.jsx(we,{className:"h-5 w-5 text-primary-foreground"})}),e.jsx("span",{children:"Circle Generator"})]}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:t("footer.description")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Free online Minecraft building tools for Java, Bedrock, and PE editions."})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-heading font-semibold mb-4",children:"Minecraft Tools"}),e.jsxs("ul",{className:"space-y-2 text-sm",children:[r.map(n=>e.jsx("li",{children:e.jsxs(p,{to:n.href,className:"text-muted-foreground hover:text-primary transition-colors flex items-center gap-2",children:[e.jsx(n.icon,{className:"h-3 w-3"}),n.label]})},n.href)),e.jsx("li",{children:e.jsx(p,{to:"/tools",className:"text-primary hover:underline font-medium",children:"View All Tools →"})})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-heading font-semibold mb-4",children:"Tutorials & Guides"}),e.jsxs("ul",{className:"space-y-2 text-sm",children:[s.map(n=>e.jsx("li",{children:e.jsx(p,{to:n.href,className:"text-muted-foreground hover:text-primary transition-colors",children:n.label})},n.href)),e.jsx("li",{children:e.jsx(p,{to:"/blog",className:"text-primary hover:underline font-medium",children:"View All Articles →"})})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-heading font-semibold mb-4",children:t("footer.quickLinks")}),e.jsxs("ul",{className:"space-y-2 text-sm",children:[e.jsx("li",{children:e.jsx(p,{to:"/",className:"text-muted-foreground hover:text-primary transition-colors",children:t("nav.home")})}),e.jsx("li",{children:e.jsx(p,{to:"/about",className:"text-muted-foreground hover:text-primary transition-colors",children:t("nav.about")})}),e.jsx("li",{children:e.jsx(p,{to:"/faq",className:"text-muted-foreground hover:text-primary transition-colors",children:t("nav.faq")})}),e.jsx("li",{children:e.jsx(p,{to:"/contact",className:"text-muted-foreground hover:text-primary transition-colors",children:t("nav.contact")})})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-heading font-semibold mb-4",children:t("footer.legal")}),e.jsxs("ul",{className:"space-y-2 text-sm",children:[e.jsx("li",{children:e.jsx(p,{to:"/privacy",className:"text-muted-foreground hover:text-primary transition-colors",children:t("nav.privacy")})}),e.jsx("li",{children:e.jsx(p,{to:"/terms",className:"text-muted-foreground hover:text-primary transition-colors",children:t("nav.terms")})}),e.jsx("li",{children:e.jsx(p,{to:"/sitemap",className:"text-muted-foreground hover:text-primary transition-colors",children:"Sitemap"})})]})]})]}),e.jsx("div",{className:"mt-8 pt-8 border-t border-border",children:e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between items-center gap-4",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:t("footer.copyright")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("footer.disclaimer")})]})})]})})},PT=({title:t="Minecraft Circle Generator - Free Online Tool",description:r="Create perfect pixel circles and ovals for your Minecraft builds. Free online Minecraft circle generator with instant preview and download options.",canonicalPath:s="/",image:n="/og-image.png",type:i="website",keywords:a="minecraft circle generator, pixel circle generator, minecraft circle chart, minecraft oval generator, minecraft building tool",breadcrumbs:o,faqs:l,reviews:c,howToSteps:d,howToName:j,howToDescription:m,datePublished:b,dateModified:g,author:y="Minecraft Circle Generate",articleSection:h})=>{const{language:v}=lt(),x="https://minecraftcirclegenerate.net",u=`${x}${s}`,w=t.includes("Minecraft")?t:`${t} | Minecraft Circle Generator`;return f.useEffect(()=>{document.title=w;const N=(R,B,I=!1)=>{const z=I?"property":"name";let X=document.querySelector(`meta[${z}="${R}"]`);X||(X=document.createElement("meta"),X.setAttribute(z,R),document.head.appendChild(X)),X.setAttribute("content",B)};N("description",r),N("keywords",a),N("author",y),N("robots","index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"),N("googlebot","index, follow"),N("og:title",w,!0),N("og:description",r,!0),N("og:type",i==="article"?"article":"website",!0),N("og:url",u,!0),N("og:image",`${x}${n}`,!0),N("og:image:width","1200",!0),N("og:image:height","630",!0),N("og:site_name","Minecraft Circle Generator",!0),N("og:locale",v,!0),N("twitter:card","summary_large_image"),N("twitter:title",w),N("twitter:description",r),N("twitter:image",`${x}${n}`),N("twitter:site","@MinecraftCircle"),N("theme-color","#22c55e"),N("apple-mobile-web-app-title","MC Circle Gen"),N("application-name","Minecraft Circle Generator"),document.querySelectorAll('link[rel="icon"], link[rel="shortcut icon"]').forEach(R=>R.remove());const k=document.createElement("link");k.rel="icon",k.type="image/png",k.href="/favicon.png",document.head.appendChild(k);let M=document.querySelector('link[rel="canonical"]');M||(M=document.createElement("link"),M.setAttribute("rel","canonical"),document.head.appendChild(M)),M.setAttribute("href",u),Jh.forEach(R=>{const B=`hreflang-${R.code}`;let I=document.getElementById(B);I||(I=document.createElement("link"),I.id=B,I.setAttribute("rel","alternate"),document.head.appendChild(I)),I.setAttribute("hreflang",R.code),I.setAttribute("href",`${x}${s}?lang=${R.code}`)});let C=document.getElementById("hreflang-x-default");C||(C=document.createElement("link"),C.id="hreflang-x-default",C.setAttribute("rel","alternate"),document.head.appendChild(C)),C.setAttribute("hreflang","x-default"),C.setAttribute("href",u),document.querySelectorAll('script[type="application/ld+json"]').forEach(R=>R.remove());const P=[];if(P.push({"@context":"https://schema.org","@type":"WebSite",name:"Minecraft Circle Generator",url:x,description:"Free online Minecraft building tools for circles, ovals, hexagons, triangles, diamonds, spheres, and spiral staircases.",potentialAction:{"@type":"SearchAction",target:`${x}/?search={search_term_string}`,"query-input":"required name=search_term_string"}}),(i==="WebApplication"||s==="/"||s.includes("generator"))&&P.push({"@context":"https://schema.org","@type":"WebApplication",name:w.split(" - ")[0]||"Minecraft Circle Generator",url:u,description:r,applicationCategory:"GameApplication",operatingSystem:"Any",browserRequirements:"Requires JavaScript",offers:{"@type":"Offer",price:"0",priceCurrency:"USD"},aggregateRating:{"@type":"AggregateRating",ratingValue:"4.9",ratingCount:"2847",bestRating:"5",worstRating:"1"}}),i==="article"&&b&&P.push({"@context":"https://schema.org","@type":"Article",headline:w,description:r,image:`${x}${n}`,author:{"@type":"Organization",name:y,url:x},publisher:{"@type":"Organization",name:"Minecraft Circle Generator",url:x,logo:{"@type":"ImageObject",url:`${x}/favicon.ico`}},datePublished:b,dateModified:g||b,mainEntityOfPage:{"@type":"WebPage","@id":u},articleSection:h||"Minecraft Building Tutorials"}),o&&o.length>0){const R={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:o.map((B,I)=>({"@type":"ListItem",position:I+1,name:B.name,item:B.url.startsWith("http")?B.url:`${x}${B.url}`}))};P.push(R)}if(l&&l.length>0){const R={"@context":"https://schema.org","@type":"FAQPage",mainEntity:l.map(B=>({"@type":"Question",name:B.question,acceptedAnswer:{"@type":"Answer",text:B.answer}}))};P.push(R)}if(c&&c.length>0){const B={"@context":"https://schema.org","@type":"SoftwareApplication",name:"Minecraft Circle Generator",applicationCategory:"GameApplication",operatingSystem:"Web Browser",aggregateRating:{"@type":"AggregateRating",ratingValue:(c.reduce((I,z)=>I+z.rating,0)/c.length).toFixed(1),reviewCount:c.length.toString(),bestRating:"5",worstRating:"1"},review:c.map(I=>({"@type":"Review",author:{"@type":"Person",name:I.author},reviewRating:{"@type":"Rating",ratingValue:I.rating.toString(),bestRating:"5",worstRating:"1"},reviewBody:I.reviewBody,datePublished:I.datePublished||"2026-01-01"}))};P.push(B)}if(d&&d.length>0){const R={"@context":"https://schema.org","@type":"HowTo",name:j||w,description:m||r,totalTime:"PT5M",tool:[{"@type":"HowToTool",name:"Minecraft"},{"@type":"HowToTool",name:"Web Browser"}],step:d.map((B,I)=>({"@type":"HowToStep",position:I+1,name:B.name,text:B.text,...B.image&&{image:`${x}${B.image}`}}))};P.push(R)}return P.push({"@context":"https://schema.org","@type":"Organization",name:"Minecraft Circle Generator",url:x,logo:`${x}/favicon.ico`,sameAs:["https://twitter.com/MinecraftCircle"],contactPoint:{"@type":"ContactPoint",contactType:"customer support",url:`${x}/contact`}}),P.forEach((R,B)=>{const I=document.createElement("script");I.type="application/ld+json",I.id=`structured-data-${B}`,I.textContent=JSON.stringify(R),document.head.appendChild(I)}),()=>{document.querySelectorAll('script[type="application/ld+json"]').forEach(R=>R.remove())}},[w,r,u,v,n,i,a,o,l,c,d,j,m,b,g,y,h,s]),null},S=f.forwardRef(({className:t,...r},s)=>e.jsx("div",{ref:s,className:de("rounded-lg border bg-card text-card-foreground shadow-sm",t),...r}));S.displayName="Card";const ee=f.forwardRef(({className:t,...r},s)=>e.jsx("div",{ref:s,className:de("flex flex-col space-y-1.5 p-6",t),...r}));ee.displayName="CardHeader";const te=f.forwardRef(({className:t,...r},s)=>e.jsx("h3",{ref:s,className:de("text-2xl font-semibold leading-none tracking-tight",t),...r}));te.displayName="CardTitle";const Cl=f.forwardRef(({className:t,...r},s)=>e.jsx("p",{ref:s,className:de("text-sm text-muted-foreground",t),...r}));Cl.displayName="CardDescription";const G=f.forwardRef(({className:t,...r},s)=>e.jsx("div",{ref:s,className:de("p-6 pt-0",t),...r}));G.displayName="CardContent";const ET=f.forwardRef(({className:t,...r},s)=>e.jsx("div",{ref:s,className:de("flex items-center p-6 pt-0",t),...r}));ET.displayName="CardFooter";const GT=()=>{const[t,r]=f.useState(!1);f.useEffect(()=>{if(!localStorage.getItem("cookie-consent")){const a=setTimeout(()=>r(!0),1500);return()=>clearTimeout(a)}},[]);const s=()=>{localStorage.setItem("cookie-consent","accepted"),r(!1)},n=()=>{localStorage.setItem("cookie-consent","declined"),r(!1)};return t?e.jsx("div",{className:"fixed bottom-0 left-0 right-0 z-50 p-4 animate-fade-in",children:e.jsx(S,{className:"max-w-4xl mx-auto border-2 border-primary/20 shadow-lg bg-background/95 backdrop-blur-sm",children:e.jsx(G,{className:"p-4 sm:p-6",children:e.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-4",children:[e.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[e.jsx(o2,{className:"h-6 w-6 text-primary flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-medium",children:"We use cookies"}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:['We use cookies to enhance your experience, analyze site traffic, and serve personalized ads. By clicking "Accept", you consent to our use of cookies.',e.jsx(p,{to:"/privacy",className:"text-primary hover:underline ml-1",children:"Learn more"})]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 w-full sm:w-auto",children:[e.jsx(O,{variant:"outline",size:"sm",onClick:n,className:"flex-1 sm:flex-none",children:"Decline"}),e.jsx(O,{size:"sm",onClick:s,className:"flex-1 sm:flex-none",children:"Accept All"})]})]})})})}):null},_=({slot:t,className:r})=>{const s=f.useRef(null),n=f.useRef(!1);return f.useEffect(()=>{if(n.current)return;const i=setTimeout(()=>{try{const a=window.adsbygoogle;a&&s.current&&(a.push({}),n.current=!0)}catch{}},100);return()=>clearTimeout(i)},[]),e.jsx("div",{className:de("w-full overflow-hidden",r),"data-ad-slot":t,"aria-label":"Advertisement",ref:s,children:e.jsx("ins",{className:"adsbygoogle",style:{display:"block",minHeight:"50px",width:"100%",maxWidth:"100%"},"data-ad-client":"ca-pub-9259244739540898","data-ad-format":"auto","data-full-width-responsive":"true"})})},se=({children:t,title:r,description:s,canonicalPath:n,keywords:i,type:a="website",breadcrumbs:o,faqs:l,reviews:c,howToSteps:d,howToName:j,howToDescription:m,datePublished:b,dateModified:g,author:y,articleSection:h})=>e.jsxs(e.Fragment,{children:[e.jsx(PT,{title:r,description:s,canonicalPath:n,keywords:i,type:a,breadcrumbs:o,faqs:l,reviews:c,howToSteps:d,howToName:j,howToDescription:m,datePublished:b,dateModified:g,author:y,articleSection:h}),e.jsxs("div",{className:"flex min-h-screen flex-col",children:[e.jsx(ST,{}),e.jsx(_,{slot:"header",className:"container mx-auto px-4 mt-2"}),e.jsx("main",{className:"flex-1",children:t}),e.jsx(_,{slot:"footer",className:"container mx-auto px-4 mb-2"}),e.jsx(TT,{})]}),e.jsx(GT,{})]}),BT=t=>{const{width:r,height:s,forceCircle:n,renderStyle:i,borderStyle:a}=t,o=n?r:s,l=[];let c=0;const d=r/2,j=o/2,m=r/2,b=o/2;for(let g=0;g<o;g++){l[g]=[];for(let y=0;y<r;y++){const h=(y+.5-d)/m,v=(g+.5-j)/b,x=h*h+v*v;let u=!1;if(i==="filled")u=x<=1;else{const N=1-(a==="thick"?.15:.08);if(u=x<=1&&x>=N*N,r<=10||o<=10){const k=(y+.5-d)/(m-.5),M=(g+.5-j)/(b-.5),C=k*k+M*M;u=x<=1&&C>1}}l[g][y]=u,u&&c++}}return{grid:l,blockCount:c,width:r,height:o}},AT=t=>{const[r,s]=f.useState({width:15,height:15,forceCircle:!0,renderStyle:"border",borderStyle:"thick",scale:1,showGrid:!0,...t}),n=f.useMemo(()=>BT(r),[r]),i=f.useCallback(h=>{s(v=>({...v,...h}))},[]),a=f.useCallback(h=>{i({width:Math.max(3,Math.min(200,h))})},[i]),o=f.useCallback(h=>{i({height:Math.max(3,Math.min(200,h))})},[i]),l=f.useCallback(h=>{i({forceCircle:h})},[i]),c=f.useCallback(h=>{i({renderStyle:h})},[i]),d=f.useCallback(h=>{i({borderStyle:h})},[i]),j=f.useCallback(h=>{i({scale:Math.max(.5,Math.min(3,h))})},[i]),m=f.useCallback(h=>{i({showGrid:h})},[i]),b=f.useCallback(()=>{s({width:15,height:15,forceCircle:!0,renderStyle:"border",borderStyle:"thick",scale:1,showGrid:!0})},[]),g=f.useCallback(()=>{const{grid:h,width:v,height:x}=n,u=20,w=document.createElement("canvas");w.width=v*u,w.height=x*u;const N=w.getContext("2d");if(!N)return;N.fillStyle="#f5f5f5",N.fillRect(0,0,w.width,w.height);for(let M=0;M<x;M++)for(let C=0;C<v;C++)h[M][C]?(N.fillStyle="#4a7c59",N.fillRect(C*u,M*u,u,u),N.strokeStyle="#3a5c45",N.lineWidth=1,N.strokeRect(C*u,M*u,u,u)):(N.strokeStyle="#ddd",N.lineWidth=.5,N.strokeRect(C*u,M*u,u,u));const k=document.createElement("a");k.download=`minecraft-circle-${v}x${x}.png`,k.href=w.toDataURL("image/png"),k.click()},[n]),y=f.useCallback(()=>{const{grid:h,width:v,height:x}=n,u=20;let w=`<svg xmlns="http://www.w3.org/2000/svg" width="${v*u}" height="${x*u}" viewBox="0 0 ${v*u} ${x*u}">`;w+='<rect width="100%" height="100%" fill="#f5f5f5"/>';for(let M=0;M<x;M++)for(let C=0;C<v;C++)h[M][C]?w+=`<rect x="${C*u}" y="${M*u}" width="${u}" height="${u}" fill="#4a7c59" stroke="#3a5c45" stroke-width="1"/>`:w+=`<rect x="${C*u}" y="${M*u}" width="${u}" height="${u}" fill="none" stroke="#ddd" stroke-width="0.5"/>`;w+="</svg>";const N=new Blob([w],{type:"image/svg+xml"}),k=document.createElement("a");k.download=`minecraft-circle-${v}x${x}.svg`,k.href=URL.createObjectURL(N),k.click()},[n]);return{settings:r,circleData:n,setWidth:a,setHeight:o,setForceCircle:l,setRenderStyle:c,setBorderStyle:d,setScale:j,setShowGrid:m,reset:b,downloadPNG:g,downloadSVG:y}},Le=f.forwardRef(({className:t,type:r,...s},n)=>e.jsx("input",{type:r,className:de("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",t),ref:n,...s}));Le.displayName="Input";var RT="Label",iv=f.forwardRef((t,r)=>e.jsx(he.label,{...t,ref:r,onMouseDown:s=>{var i;s.target.closest("button, input, select, textarea")||((i=t.onMouseDown)==null||i.call(t,s),!s.defaultPrevented&&s.detail>1&&s.preventDefault())}}));iv.displayName=RT;var av=iv;const DT=Yl("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),$=f.forwardRef(({className:t,...r},s)=>e.jsx(av,{ref:s,className:de(DT(),t),...r}));$.displayName=av.displayName;function ov(t){const r=f.useRef({value:t,previous:t});return f.useMemo(()=>(r.current.value!==t&&(r.current.previous=r.current.value,r.current.value=t),r.current.previous),[t])}var mc="Switch",[IT,vE]=Wt(mc),[FT,LT]=IT(mc),lv=f.forwardRef((t,r)=>{const{__scopeSwitch:s,name:n,checked:i,defaultChecked:a,required:o,disabled:l,value:c="on",onCheckedChange:d,form:j,...m}=t,[b,g]=f.useState(null),y=be(r,w=>g(w)),h=f.useRef(!1),v=b?j||!!b.closest("form"):!0,[x,u]=Xr({prop:i,defaultProp:a??!1,onChange:d,caller:mc});return e.jsxs(FT,{scope:s,checked:x,disabled:l,children:[e.jsx(he.button,{type:"button",role:"switch","aria-checked":x,"aria-required":o,"data-state":hv(x),"data-disabled":l?"":void 0,disabled:l,value:c,...m,ref:y,onClick:V(t.onClick,w=>{u(N=>!N),v&&(h.current=w.isPropagationStopped(),h.current||w.stopPropagation())})}),v&&e.jsx(uv,{control:b,bubbles:!h.current,name:n,value:c,checked:x,required:o,disabled:l,form:j,style:{transform:"translateX(-100%)"}})]})});lv.displayName=mc;var cv="SwitchThumb",dv=f.forwardRef((t,r)=>{const{__scopeSwitch:s,...n}=t,i=LT(cv,s);return e.jsx(he.span,{"data-state":hv(i.checked),"data-disabled":i.disabled?"":void 0,...n,ref:r})});dv.displayName=cv;var OT="SwitchBubbleInput",uv=f.forwardRef(({__scopeSwitch:t,control:r,checked:s,bubbles:n=!0,...i},a)=>{const o=f.useRef(null),l=be(o,a),c=ov(s),d=Uh(r);return f.useEffect(()=>{const j=o.current;if(!j)return;const m=window.HTMLInputElement.prototype,g=Object.getOwnPropertyDescriptor(m,"checked").set;if(c!==s&&g){const y=new Event("click",{bubbles:n});g.call(j,s),j.dispatchEvent(y)}},[c,s,n]),e.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...i,tabIndex:-1,ref:l,style:{...i.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});uv.displayName=OT;function hv(t){return t?"checked":"unchecked"}var mv=lv,zT=dv;const hr=f.forwardRef(({className:t,...r},s)=>e.jsx(mv,{className:de("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",t),...r,ref:s,children:e.jsx(zT,{className:de("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));hr.displayName=mv.displayName;function xv(t,[r,s]){return Math.min(s,Math.max(r,t))}var gv=["PageUp","PageDown"],fv=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],pv={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Ei="Slider",[Tu,HT,qT]=za(Ei),[jv,wE]=Wt(Ei,[qT]),[_T,xc]=jv(Ei),bv=f.forwardRef((t,r)=>{const{name:s,min:n=0,max:i=100,step:a=1,orientation:o="horizontal",disabled:l=!1,minStepsBetweenThumbs:c=0,defaultValue:d=[n],value:j,onValueChange:m=()=>{},onValueCommit:b=()=>{},inverted:g=!1,form:y,...h}=t,v=f.useRef(new Set),x=f.useRef(0),w=o==="horizontal"?UT:WT,[N=[],k]=Xr({prop:j,defaultProp:d,onChange:I=>{var X;(X=[...v.current][x.current])==null||X.focus(),m(I)}}),M=f.useRef(N);function C(I){const z=QT(N,I);B(I,z)}function P(I){B(I,x.current)}function R(){const I=M.current[x.current];N[x.current]!==I&&b(N)}function B(I,z,{commit:X}={commit:!1}){const q=eP(a),ne=tP(Math.round((I-n)/a)*a+n,q),Y=xv(ne,[n,i]);k((re=[])=>{const E=YT(re,Y,z);if(ZT(E,c*a)){x.current=E.indexOf(Y);const T=String(E)!==String(re);return T&&X&&b(E),T?E:re}else return re})}return e.jsx(_T,{scope:t.__scopeSlider,name:s,disabled:l,min:n,max:i,valueIndexToChangeRef:x,thumbs:v.current,values:N,orientation:o,form:y,children:e.jsx(Tu.Provider,{scope:t.__scopeSlider,children:e.jsx(Tu.Slot,{scope:t.__scopeSlider,children:e.jsx(w,{"aria-disabled":l,"data-disabled":l?"":void 0,...h,ref:r,onPointerDown:V(h.onPointerDown,()=>{l||(M.current=N)}),min:n,max:i,inverted:g,onSlideStart:l?void 0:C,onSlideMove:l?void 0:P,onSlideEnd:l?void 0:R,onHomeKeyDown:()=>!l&&B(n,0,{commit:!0}),onEndKeyDown:()=>!l&&B(i,N.length-1,{commit:!0}),onStepKeyDown:({event:I,direction:z})=>{if(!l){const ne=gv.includes(I.key)||I.shiftKey&&fv.includes(I.key)?10:1,Y=x.current,re=N[Y],E=a*ne*z;B(re+E,Y,{commit:!0})}}})})})})});bv.displayName=Ei;var[yv,vv]=jv(Ei,{startEdge:"left",endEdge:"right",size:"width",direction:1}),UT=f.forwardRef((t,r)=>{const{min:s,max:n,dir:i,inverted:a,onSlideStart:o,onSlideMove:l,onSlideEnd:c,onStepKeyDown:d,...j}=t,[m,b]=f.useState(null),g=be(r,w=>b(w)),y=f.useRef(void 0),h=Ua(i),v=h==="ltr",x=v&&!a||!v&&a;function u(w){const N=y.current||m.getBoundingClientRect(),k=[0,N.width],C=am(k,x?[s,n]:[n,s]);return y.current=N,C(w-N.left)}return e.jsx(yv,{scope:t.__scopeSlider,startEdge:x?"left":"right",endEdge:x?"right":"left",direction:x?1:-1,size:"width",children:e.jsx(wv,{dir:h,"data-orientation":"horizontal",...j,ref:g,style:{...j.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:w=>{const N=u(w.clientX);o==null||o(N)},onSlideMove:w=>{const N=u(w.clientX);l==null||l(N)},onSlideEnd:()=>{y.current=void 0,c==null||c()},onStepKeyDown:w=>{const k=pv[x?"from-left":"from-right"].includes(w.key);d==null||d({event:w,direction:k?-1:1})}})})}),WT=f.forwardRef((t,r)=>{const{min:s,max:n,inverted:i,onSlideStart:a,onSlideMove:o,onSlideEnd:l,onStepKeyDown:c,...d}=t,j=f.useRef(null),m=be(r,j),b=f.useRef(void 0),g=!i;function y(h){const v=b.current||j.current.getBoundingClientRect(),x=[0,v.height],w=am(x,g?[n,s]:[s,n]);return b.current=v,w(h-v.top)}return e.jsx(yv,{scope:t.__scopeSlider,startEdge:g?"bottom":"top",endEdge:g?"top":"bottom",size:"height",direction:g?1:-1,children:e.jsx(wv,{"data-orientation":"vertical",...d,ref:m,style:{...d.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:h=>{const v=y(h.clientY);a==null||a(v)},onSlideMove:h=>{const v=y(h.clientY);o==null||o(v)},onSlideEnd:()=>{b.current=void 0,l==null||l()},onStepKeyDown:h=>{const x=pv[g?"from-bottom":"from-top"].includes(h.key);c==null||c({event:h,direction:x?-1:1})}})})}),wv=f.forwardRef((t,r)=>{const{__scopeSlider:s,onSlideStart:n,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:l,onStepKeyDown:c,...d}=t,j=xc(Ei,s);return e.jsx(he.span,{...d,ref:r,onKeyDown:V(t.onKeyDown,m=>{m.key==="Home"?(o(m),m.preventDefault()):m.key==="End"?(l(m),m.preventDefault()):gv.concat(fv).includes(m.key)&&(c(m),m.preventDefault())}),onPointerDown:V(t.onPointerDown,m=>{const b=m.target;b.setPointerCapture(m.pointerId),m.preventDefault(),j.thumbs.has(b)?b.focus():n(m)}),onPointerMove:V(t.onPointerMove,m=>{m.target.hasPointerCapture(m.pointerId)&&i(m)}),onPointerUp:V(t.onPointerUp,m=>{const b=m.target;b.hasPointerCapture(m.pointerId)&&(b.releasePointerCapture(m.pointerId),a(m))})})}),Nv="SliderTrack",kv=f.forwardRef((t,r)=>{const{__scopeSlider:s,...n}=t,i=xc(Nv,s);return e.jsx(he.span,{"data-disabled":i.disabled?"":void 0,"data-orientation":i.orientation,...n,ref:r})});kv.displayName=Nv;var Pu="SliderRange",Mv=f.forwardRef((t,r)=>{const{__scopeSlider:s,...n}=t,i=xc(Pu,s),a=vv(Pu,s),o=f.useRef(null),l=be(r,o),c=i.values.length,d=i.values.map(b=>Tv(b,i.min,i.max)),j=c>1?Math.min(...d):0,m=100-Math.max(...d);return e.jsx(he.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?"":void 0,...n,ref:l,style:{...t.style,[a.startEdge]:j+"%",[a.endEdge]:m+"%"}})});Mv.displayName=Pu;var Eu="SliderThumb",Cv=f.forwardRef((t,r)=>{const s=HT(t.__scopeSlider),[n,i]=f.useState(null),a=be(r,l=>i(l)),o=f.useMemo(()=>n?s().findIndex(l=>l.ref.current===n):-1,[s,n]);return e.jsx($T,{...t,ref:a,index:o})}),$T=f.forwardRef((t,r)=>{const{__scopeSlider:s,index:n,name:i,...a}=t,o=xc(Eu,s),l=vv(Eu,s),[c,d]=f.useState(null),j=be(r,u=>d(u)),m=c?o.form||!!c.closest("form"):!0,b=Uh(c),g=o.values[n],y=g===void 0?0:Tv(g,o.min,o.max),h=KT(n,o.values.length),v=b==null?void 0:b[l.size],x=v?XT(v,y,l.direction):0;return f.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]),e.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[l.startEdge]:`calc(${y}% + ${x}px)`},children:[e.jsx(Tu.ItemSlot,{scope:t.__scopeSlider,children:e.jsx(he.span,{role:"slider","aria-label":t["aria-label"]||h,"aria-valuemin":o.min,"aria-valuenow":g,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,tabIndex:o.disabled?void 0:0,...a,ref:j,style:g===void 0?{display:"none"}:t.style,onFocus:V(t.onFocus,()=>{o.valueIndexToChangeRef.current=n})})}),m&&e.jsx(Sv,{name:i??(o.name?o.name+(o.values.length>1?"[]":""):void 0),form:o.form,value:g},n)]})});Cv.displayName=Eu;var VT="RadioBubbleInput",Sv=f.forwardRef(({__scopeSlider:t,value:r,...s},n)=>{const i=f.useRef(null),a=be(i,n),o=ov(r);return f.useEffect(()=>{const l=i.current;if(!l)return;const c=window.HTMLInputElement.prototype,j=Object.getOwnPropertyDescriptor(c,"value").set;if(o!==r&&j){const m=new Event("input",{bubbles:!0});j.call(l,r),l.dispatchEvent(m)}},[o,r]),e.jsx(he.input,{style:{display:"none"},...s,ref:a,defaultValue:r})});Sv.displayName=VT;function YT(t=[],r,s){const n=[...t];return n[s]=r,n.sort((i,a)=>i-a)}function Tv(t,r,s){const a=100/(s-r)*(t-r);return xv(a,[0,100])}function KT(t,r){return r>2?`Value ${t+1} of ${r}`:r===2?["Minimum","Maximum"][t]:void 0}function QT(t,r){if(t.length===1)return 0;const s=t.map(i=>Math.abs(i-r)),n=Math.min(...s);return s.indexOf(n)}function XT(t,r,s){const n=t/2,a=am([0,50],[0,n]);return(n-a(r)*s)*s}function JT(t){return t.slice(0,-1).map((r,s)=>t[s+1]-r)}function ZT(t,r){if(r>0){const s=JT(t);return Math.min(...s)>=r}return!0}function am(t,r){return s=>{if(t[0]===t[1]||r[0]===r[1])return r[0];const n=(r[1]-r[0])/(t[1]-t[0]);return r[0]+n*(s-t[0])}}function eP(t){return(String(t).split(".")[1]||"").length}function tP(t,r){const s=Math.pow(10,r);return Math.round(t*s)/s}var Pv=bv,rP=kv,sP=Mv,nP=Cv;const xt=f.forwardRef(({className:t,...r},s)=>e.jsxs(Pv,{ref:s,className:de("relative flex w-full touch-none select-none items-center",t),...r,children:[e.jsx(rP,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:e.jsx(sP,{className:"absolute h-full bg-primary"})}),e.jsx(nP,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));xt.displayName=Pv.displayName;const om=f.forwardRef(({className:t,...r},s)=>e.jsx("textarea",{className:de("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),ref:s,...r}));om.displayName="Textarea";const xr=({toolName:t,storageKey:r,onReviewsChange:s})=>{const[n,i]=f.useState(0),[a,o]=f.useState(0),[l,c]=f.useState([]),[d,j]=f.useState(!1),[m,b]=f.useState(""),[g,y]=f.useState(""),[h,v]=f.useState(!1),{toast:x}=ki();f.useEffect(()=>{const k=localStorage.getItem(`reviews_${r}`);if(k){const C=JSON.parse(k);c(C),s==null||s(C)}localStorage.getItem(`submitted_${r}`)&&v(!0)},[r,s]);const u=()=>{if(n===0){x({title:"Rating required",description:"Please select a star rating before submitting.",variant:"destructive"});return}const k={author:m.trim()||"Anonymous",rating:n,reviewBody:g.trim()||`Great ${t}!`,datePublished:new Date().toISOString().split("T")[0]},M=[...l,k];c(M),localStorage.setItem(`reviews_${r}`,JSON.stringify(M)),localStorage.setItem(`submitted_${r}`,"true"),v(!0),j(!1),i(0),b(""),y(""),s==null||s(M),x({title:"Thank you!",description:"Your review has been submitted successfully."})},w=l.length>0?(l.reduce((k,M)=>k+M.rating,0)/l.length).toFixed(1):"0.0",N=(k,M=!1,C="h-5 w-5")=>e.jsx("div",{className:"flex gap-1",children:[1,2,3,4,5].map(P=>e.jsx(St,{className:`${C} cursor-${M?"pointer":"default"} transition-colors ${P<=(M?a||n:k)?"fill-yellow-400 text-yellow-400":"text-muted-foreground/30"}`,onClick:()=>M&&i(P),onMouseEnter:()=>M&&o(P),onMouseLeave:()=>M&&o(0)},P))});return e.jsxs(S,{className:"mt-6",children:[e.jsx(ee,{className:"pb-3",children:e.jsxs(te,{className:"text-lg flex items-center justify-between",children:[e.jsx("span",{children:"User Reviews"}),e.jsxs("div",{className:"flex items-center gap-2 text-sm font-normal",children:[N(parseFloat(w)),e.jsxs("span",{className:"text-muted-foreground",children:[w," (",l.length," ",l.length===1?"review":"reviews",")"]})]})]})}),e.jsxs(G,{className:"space-y-4",children:[l.length>0&&e.jsx("div",{className:"space-y-3 max-h-48 overflow-y-auto",children:l.slice(-3).reverse().map((k,M)=>e.jsxs("div",{className:"bg-muted/50 rounded-lg p-3 text-sm",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("span",{className:"font-medium",children:k.author}),e.jsxs("div",{className:"flex items-center gap-2",children:[N(k.rating,!1,"h-3 w-3"),e.jsx("span",{className:"text-xs text-muted-foreground",children:k.datePublished})]})]}),e.jsx("p",{className:"text-muted-foreground",children:k.reviewBody})]},M))}),h?e.jsx("p",{className:"text-sm text-center text-muted-foreground py-2",children:"✓ Thanks for your review!"}):d?e.jsxs("div",{className:"space-y-3 border-t pt-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"Your rating:"}),N(n,!0)]}),e.jsx(Le,{placeholder:"Your name (optional)",value:m,onChange:k=>b(k.target.value),className:"text-sm"}),e.jsx(om,{placeholder:"Write your review (optional)",value:g,onChange:k=>y(k.target.value),className:"text-sm min-h-[80px]"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{onClick:u,size:"sm",children:"Submit Review"}),e.jsx(O,{variant:"outline",size:"sm",onClick:()=>{j(!1),i(0)},children:"Cancel"})]})]}):e.jsxs(O,{variant:"outline",size:"sm",onClick:()=>j(!0),className:"w-full",children:[e.jsx(St,{className:"h-4 w-4 mr-2"}),"Rate this tool"]})]})]})},Te=({title:t,url:r,description:s})=>{const[n,i]=f.useState(!1),a=r||(typeof window<"u"?window.location.href:""),o=encodeURIComponent(a),l=encodeURIComponent(t),c=()=>{window.open(`https://twitter.com/intent/tweet?text=${l}&url=${o}`,"_blank","width=550,height=435")},d=()=>{window.open(`https://www.facebook.com/sharer/sharer.php?u=${o}`,"_blank","width=550,height=435")},j=()=>{window.open(`https://www.linkedin.com/sharing/share-offsite/?url=${o}`,"_blank","width=550,height=435")},m=()=>{window.open(`https://www.reddit.com/submit?url=${o}&title=${l}`,"_blank","width=550,height=600")},b=async()=>{try{await navigator.clipboard.writeText(a),i(!0),lu({title:"Link copied!",description:"The link has been copied to your clipboard."}),setTimeout(()=>i(!1),2e3)}catch{lu({title:"Failed to copy",description:"Please copy the URL manually from the address bar.",variant:"destructive"})}};return e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:"text-sm text-muted-foreground flex items-center gap-1",children:[e.jsx(k2,{className:"h-4 w-4"})," Share:"]}),e.jsx(O,{variant:"outline",size:"icon",onClick:c,"aria-label":"Share on Twitter/X",className:"h-8 w-8 hover:bg-[#1DA1F2]/10 hover:text-[#1DA1F2] hover:border-[#1DA1F2]/50",children:e.jsx(P2,{className:"h-4 w-4"})}),e.jsx(O,{variant:"outline",size:"icon",onClick:d,"aria-label":"Share on Facebook",className:"h-8 w-8 hover:bg-[#4267B2]/10 hover:text-[#4267B2] hover:border-[#4267B2]/50",children:e.jsx(d2,{className:"h-4 w-4"})}),e.jsx(O,{variant:"outline",size:"icon",onClick:j,"aria-label":"Share on LinkedIn",className:"h-8 w-8 hover:bg-[#0077B5]/10 hover:text-[#0077B5] hover:border-[#0077B5]/50",children:e.jsx(p2,{className:"h-4 w-4"})}),e.jsx(O,{variant:"outline",size:"icon",onClick:m,"aria-label":"Share on Reddit",className:"h-8 w-8 hover:bg-[#FF4500]/10 hover:text-[#FF4500] hover:border-[#FF4500]/50",children:e.jsx("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm5.01 4.744c.688 0 1.25.561 1.25 1.249a1.25 1.25 0 0 1-2.498.056l-2.597-.547-.8 3.747c1.824.07 3.48.632 4.674 1.488.308-.309.73-.491 1.207-.491.968 0 1.754.786 1.754 1.754 0 .716-.435 1.333-1.01 1.614a3.111 3.111 0 0 1 .042.52c0 2.694-3.13 4.87-7.004 4.87-3.874 0-7.004-2.176-7.004-4.87 0-.183.015-.366.043-.534A1.748 1.748 0 0 1 4.028 12c0-.968.786-1.754 1.754-1.754.463 0 .898.196 1.207.49 1.207-.883 2.878-1.43 4.744-1.487l.885-4.182a.342.342 0 0 1 .14-.197.35.35 0 0 1 .238-.042l2.906.617a1.214 1.214 0 0 1 1.108-.701zM9.25 12C8.561 12 8 12.562 8 13.25c0 .687.561 1.248 1.25 1.248.687 0 1.248-.561 1.248-1.249 0-.688-.561-1.249-1.249-1.249zm5.5 0c-.687 0-1.248.561-1.248 1.25 0 .687.561 1.248 1.249 1.248.688 0 1.249-.561 1.249-1.249 0-.687-.562-1.249-1.25-1.249zm-5.466 3.99a.327.327 0 0 0-.231.094.33.33 0 0 0 0 .463c.842.842 2.484.913 2.961.913.477 0 2.105-.056 2.961-.913a.361.361 0 0 0 .029-.463.33.33 0 0 0-.464 0c-.547.533-1.684.73-2.512.73-.828 0-1.979-.196-2.512-.73a.326.326 0 0 0-.232-.095z"})})}),e.jsx(O,{variant:"outline",size:"icon",onClick:b,"aria-label":"Copy link",className:"h-8 w-8",children:n?e.jsx(Bj,{className:"h-4 w-4 text-green-500"}):e.jsx(f2,{className:"h-4 w-4"})})]})},yn=()=>{const{t}=lt(),r=f.useRef(null),{settings:s,circleData:n,setWidth:i,setHeight:a,setForceCircle:o,setRenderStyle:l,setBorderStyle:c,setScale:d,setShowGrid:j,reset:m,downloadPNG:b,downloadSVG:g}=AT(),y=Math.max(8,Math.min(30,400/Math.max(n.width,n.height)))*s.scale;return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[300px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(Rj,{className:"h-5 w-5"}),t("generator.title")]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.width")}),e.jsx(Le,{type:"number",min:3,max:200,value:s.width,onChange:h=>i(parseInt(h.target.value)||3)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.height")}),e.jsx(Le,{type:"number",min:3,max:200,value:s.forceCircle?s.width:s.height,onChange:h=>a(parseInt(h.target.value)||3),disabled:s.forceCircle})]})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:t("generator.forceCircle")}),e.jsx(hr,{checked:s.forceCircle,onCheckedChange:o})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.render")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.renderStyle==="border"?"default":"outline",size:"sm",onClick:()=>l("border"),className:"flex-1 min-w-0 truncate",children:t("generator.border")}),e.jsx(O,{variant:s.renderStyle==="filled"?"default":"outline",size:"sm",onClick:()=>l("filled"),className:"flex-1 min-w-0 truncate",children:t("generator.filled")})]})]}),s.renderStyle==="border"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.borderStyle==="thick"?"default":"outline",size:"sm",onClick:()=>c("thick"),className:"flex-1 min-w-0 truncate",children:t("generator.thick")}),e.jsx(O,{variant:s.borderStyle==="thin"?"default":"outline",size:"sm",onClick:()=>c("thin"),className:"flex-1 min-w-0 truncate",children:t("generator.thin")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("generator.scale"),": ",s.scale.toFixed(1),"x"]}),e.jsx(xt,{value:[s.scale],onValueChange:([h])=>d(h),min:.5,max:2,step:.1})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:t("generator.showGrid")}),e.jsx(hr,{checked:s.showGrid,onCheckedChange:j})]}),e.jsxs("div",{className:"rounded-lg bg-muted p-4 space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.blocks"),":"]}),e.jsx("span",{className:"font-semibold",children:n.blockCount})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks64"),":"]}),e.jsx("span",{className:"font-semibold",children:(n.blockCount/64).toFixed(1)})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks16"),":"]}),e.jsx("span",{className:"font-semibold",children:(n.blockCount/16).toFixed(1)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:b,className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadPng")]}),e.jsxs(O,{onClick:g,variant:"outline",className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadSvg")]}),e.jsxs(O,{onClick:m,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"Circle Generator",storageKey:"circle-generator"}),e.jsx(Te,{title:"Check out this Minecraft Circle Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsx(G,{className:"p-4 md:p-6",children:e.jsx("div",{className:"overflow-auto rounded-lg bg-muted/50 p-2 md:p-4 generator-grid-container",style:{maxHeight:"60vh"},children:e.jsx("div",{ref:r,className:"inline-grid mx-auto generator-grid",style:{gridTemplateColumns:`repeat(${n.width}, ${y}px)`,gap:s.showGrid?"1px":"0px"},children:n.grid.map((h,v)=>h.map((x,u)=>e.jsx("div",{className:`transition-colors ${x?"grid-block":"grid-block-empty"}`,style:{width:y,height:y}},`${u}-${v}`)))})})})})]})},vn="/assets/hero-banner-CSGr7Zon.png",iP=()=>{const{t}=lt(),r=[{icon:gn,title:t("features.accurate.title"),desc:t("features.accurate.desc")},{icon:Sr,title:t("features.easy.title"),desc:t("features.easy.desc")},{icon:_e,title:t("features.download.title"),desc:t("features.download.desc")},{icon:xn,title:t("features.free.title"),desc:t("features.free.desc")}],s=[{href:"/oval-generator",icon:we,title:"Oval Generator",desc:"Create ellipses and ovals for stadiums, pools, and race tracks"},{href:"/hexagon-generator",icon:Vt,title:"Hexagon Generator",desc:"Build honeycomb patterns and six-sided structures"},{href:"/triangle-generator",icon:Yt,title:"Triangle Generator",desc:"Design roofs, pyramids, and directional shapes"},{href:"/diamond-generator",icon:$t,title:"Diamond Generator",desc:"Create rhombus patterns for windows and floors"},{href:"/spiral-staircase-generator",icon:mr,title:"Spiral Staircase Generator",desc:"Layer-by-layer spiral staircase building guide"},{href:"/sphere-generator",icon:Dt,title:"3D Sphere Generator",desc:"Build perfect domes and spheres with layer instructions"},{href:"/text-generator",icon:we,title:"Text & Font Generator",desc:"Create Minecraft-style text, MOTD banners, and 3D fonts"},{href:"/rgb-generator",icon:we,title:"RGB Color Generator",desc:"Generate color codes, gradients, and HEX values for builds"},{href:"/name-generator",icon:we,title:"Minecraft Name Generator",desc:"Get unique themed usernames for your Minecraft account"},{href:"/seed-generator",icon:we,title:"Seed Generator",desc:"Find the best seeds for Java and Bedrock editions"}],n=[{name:"Home",url:"/"}],i=[{question:"What is a Minecraft circle generator?",answer:"A free online tool that calculates pixel-perfect circular patterns for building in Minecraft using mathematical algorithms."},{question:"How accurate are the circles?",answer:"Our generator uses the midpoint circle algorithm for pixel-perfect results within Minecraft block-based constraints."},{question:"Can I download the circle pattern?",answer:"Yes, download as PNG or SVG format for easy building reference."}],a=[{author:"MinecraftBuilder2026",rating:5,reviewBody:"Best circle generator I have found. Perfect for my castle towers!",datePublished:"2026-11-15"},{author:"PixelArtPro",rating:5,reviewBody:"Accurate and easy to use. The download feature is amazing.",datePublished:"2026-10-20"},{author:"GamerSteve",rating:5,reviewBody:"Saved me hours of trial and error. Highly recommended!",datePublished:"2026-09-10"},{author:"BuildMaster99",rating:4,reviewBody:"Great tool for Minecraft building. Works on mobile too.",datePublished:"2026-08-25"}];return e.jsxs(se,{title:"Minecraft Circle Generator - Free Online Pixel Circle Tool 2026 | Create Perfect Circles",description:"★ Create perfect pixel circles for Minecraft in seconds! Free online circle generator with instant preview, PNG/SVG download, block calculator. Works with Java, Bedrock & PE. No signup required!",canonicalPath:"/",keywords:"minecraft circle generator, pixel circle generator, minecraft circle chart, minecraft circle maker, minecraft oval generator, circle generator minecraft, how to make circles in minecraft, minecraft building, pixel art circle, minecraft circle template, minecraft shape generator, minecraft creative mode, minecraft survival, minecraft java, minecraft bedrock edition pc, minecraft pocket edition, play minecraft, craft minecraft, hypixel, minecraft server, skyblock minecraft, modded minecraft, curseforge minecraft, rlcraft, minecraft education edition",type:"WebApplication",breadcrumbs:n,faqs:i,reviews:a,children:[e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:vn,alt:"Minecraft Circle Generator - Build perfect pixel circles and geometric shapes",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-background/95 via-background/70 to-background/30"})]}),e.jsx("div",{className:"relative z-10 container mx-auto px-4 py-16 md:py-24 lg:py-32",children:e.jsxs("div",{className:"max-w-2xl",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("img",{src:Os,alt:"Minecraft Circle Generator Logo",className:"h-12 w-12 rounded-lg shadow-lg"}),e.jsx("span",{className:"text-sm font-medium bg-primary/20 text-primary px-3 py-1 rounded-full",children:"Free Online Tool"})]}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-heading font-bold mb-6 animate-fade-in",children:e.jsx("strong",{children:"Minecraft Circle Generator"})}),e.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-8",children:["The ultimate free ",e.jsx("strong",{children:"pixel circle generator"})," for ",e.jsx("strong",{children:"Minecraft"}),". Create ",e.jsx("strong",{children:"perfect circles"}),", ovals, and geometric shapes for your builds. Instant preview with ",e.jsx("strong",{children:"PNG and SVG download"})," options."]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ 100% Free"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ No Registration"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Instant Download"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Mobile Friendly"})]})]})})]}),e.jsx(_,{slot:"between-sections",className:"container mx-auto px-4 py-4"}),e.jsx("section",{className:"py-12",id:"generator",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"sr-only",children:"Minecraft Circle Generator Tool"}),e.jsx(yn,{})]})}),e.jsx(_,{slot:"between-sections",className:"container mx-auto px-4 py-4"}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-4",children:["More ",e.jsx("strong",{children:"Minecraft Building Tools"})]}),e.jsxs("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft shape generators"}),". Build circles, ovals, hexagons, triangles, diamonds, spiral staircases, and 3D spheres."]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:s.map(o=>e.jsx(p,{to:o.href,className:"block group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsx(ee,{className:"pb-2",children:e.jsxs(te,{className:"flex items-center gap-3 text-lg",children:[e.jsx(o.icon,{className:"h-6 w-6 text-primary"}),o.title]})}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:o.desc})})]})},o.href))})]})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["Why Use Our ",e.jsx("strong",{children:"Minecraft Circle Generator"}),"?"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:r.map((o,l)=>e.jsxs("div",{className:"bg-card rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[e.jsx(o.icon,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:o.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:o.desc})]},l))})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["How to Use the ",e.jsx("strong",{children:"Minecraft Circle Generator"})]}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"1"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Set Dimensions"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Enter your desired ",e.jsx("strong",{children:"circle width and height"}),' in blocks. Use "Force Circle" for ',e.jsx("strong",{children:"perfect circles"}),"."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"2"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Choose Style"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Select ",e.jsx("strong",{children:"border only"})," or ",e.jsx("strong",{children:"filled circle"}),". Adjust thickness for hollow circles."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"3"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Download & Build"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Download your ",e.jsx("strong",{children:"circle chart as PNG or SVG"})," and use it as a building reference in Minecraft."]})]})]})]})}),e.jsx("section",{className:"py-16",children:e.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:e.jsxs("article",{className:"prose prose-lg max-w-none",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold mb-6",children:["The Ultimate Guide to Building ",e.jsx("strong",{children:"Circles in Minecraft"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["Building ",e.jsx("strong",{children:"perfect circles in Minecraft"})," can be challenging because the game uses square blocks. Our ",e.jsx("strong",{children:"Minecraft circle generator"})," solves this problem by calculating exactly which blocks to place to create smooth, ",e.jsx("strong",{children:"pixel-perfect circular shapes"}),". Whether you are a beginner or experienced builder, this ",e.jsx("strong",{children:"free online circle tool"})," will help you create stunning structures."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["What is a ",e.jsx("strong",{children:"Minecraft Circle Generator"}),"?"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["A ",e.jsx("strong",{children:"Minecraft circle generator"})," (also called a ",e.jsx("strong",{children:"pixel circle generator"})," or ",e.jsx("strong",{children:"circle chart maker"}),") is an online tool that creates visual blueprints for building circular structures in Minecraft. Since Minecraft uses a",e.jsx("strong",{children:"voxel-based system"})," with cubic blocks, creating smooth curves requires careful mathematical calculations. Our ",e.jsx("strong",{children:"circle generator for Minecraft"})," uses the ",e.jsx("strong",{children:"midpoint circle algorithm"})," to produce accurate results every time."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Common Uses for the ",e.jsx("strong",{children:"Pixel Circle Generator"})]}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Circular towers and turrets"})," – Build medieval castle towers with perfect round bases"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dome roofs and ceilings"})," – Create stunning dome structures using our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D sphere generator"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fountains and wells"})," – Design beautiful water features with circular basins"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Arenas and coliseums"})," – Build large circular stadiums for PvP or events"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Crop circles and gardens"})," – Plan circular farm layouts and decorative gardens"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pixel art"})," – Create circular elements in your Minecraft pixel art projects"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ocean monuments"})," – Plan circular underwater structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nether portals"})," – Design custom circular portal frames"]})]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:[e.jsx("strong",{children:"Circle Generator"})," vs ",e.jsx("strong",{children:"Oval Generator"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["While our main tool creates ",e.jsx("strong",{children:"perfect circles"})," (same width and height), you can also create",e.jsx("strong",{children:"ellipses and ovals"})," by using different width and height values. For more control over oval shapes, try our dedicated ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Minecraft oval generator"}),". Ovals are perfect for ",e.jsx("strong",{children:"racing tracks"}),", ",e.jsx("strong",{children:"swimming pools"}),", and ",e.jsx("strong",{children:"stadium designs"}),"."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["More ",e.jsx("strong",{children:"Minecraft Shape Generators"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Beyond circles, we offer a complete suite of ",e.jsx("strong",{children:"Minecraft building tools"}),":"]}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Hexagon Generator"})})," – Create honeycomb patterns and six-sided structures"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Triangle Generator"})})," – Design pyramids, roofs, and arrow shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Diamond Generator"})})," – Build rhombus patterns for windows and floors"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Spiral Staircase Generator"})})," – Layer-by-layer spiral staircase guide"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"3D Sphere Generator"})})," – Build domes and spheres with layer instructions"]})]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Tips for Building ",e.jsx("strong",{children:"Perfect Circles in Minecraft"})]}),e.jsxs("ol",{className:"text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Start from the center"})," – Mark the center point of your circle first for accurate placement"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use scaffolding"})," – Build temporary scaffolding for large circles above ground level"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Count your blocks"})," – Our tool shows the exact ",e.jsx("strong",{children:"block count"})," so you can gather materials in advance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Work in sections"})," – For large circles, build one quadrant at a time and mirror it"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use the grid"})," – Enable grid lines in our generator for easier block counting"]})]}),e.jsx("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:"Frequently Asked Questions"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Have more questions? Visit our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," for detailed answers about using the ",e.jsx("strong",{children:"Minecraft circle generator"}),"."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:[e.jsx("strong",{children:"Minecraft Circle Generator"})," for All Editions"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Our ",e.jsx("strong",{children:"circle generator"})," works for all versions of Minecraft including ",e.jsx("strong",{children:"Minecraft Java Edition"}),",",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),", ",e.jsx("strong",{children:"Minecraft Pocket Edition"}),", and console versions. The block patterns are universal across all platforms. Whether you ",e.jsx("strong",{children:"play Minecraft"})," on PC, mobile, or console, our tools help you ",e.jsx("strong",{children:"craft Minecraft"})," builds with precision."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Perfect for ",e.jsx("strong",{children:"Minecraft Creative Mode"})," and ",e.jsx("strong",{children:"Survival"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Whether you're playing in ",e.jsx("strong",{children:"Minecraft creative mode"})," designing elaborate structures or grinding in",e.jsx("strong",{children:" Minecraft survival"})," building your base, our circle generator helps you plan efficiently. Calculate exact block counts before gathering resources in your ",e.jsx("strong",{children:"Minecraft world"}),". These tools are also perfect for ",e.jsx("strong",{children:"Minecraft Education Edition"})," classrooms teaching geometry and spatial reasoning."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Build for ",e.jsx("strong",{children:"Minecraft Servers"})," and Multiplayer"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Planning builds for popular ",e.jsx("strong",{children:"Minecraft servers"})," like ",e.jsx("strong",{children:"Hypixel"}),"? Our generators help you create ",e.jsx("strong",{children:"Minecraft PvP"})," arenas, ",e.jsx("strong",{children:"Minecraft Bedwars"})," maps, and impressive spawn areas.",e.jsx("strong",{children:" Skyblock Minecraft"})," players use our tools for efficient circular island designs. Server administrators looking for ",e.jsx("strong",{children:"Minecraft server hosting"})," solutions can use our blueprints for spawn points and event arenas."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Works with ",e.jsx("strong",{children:"Modded Minecraft"})," and Modpacks"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Our circle patterns work perfectly with ",e.jsx("strong",{children:"modded Minecraft"})," including popular modpacks from",e.jsx("strong",{children:" CurseForge"})," and ",e.jsx("strong",{children:"ATLauncher"}),". Building bases in ",e.jsx("strong",{children:"RLCraft"}),"? Use our tools to plan defensive circular walls. Creating ",e.jsx("strong",{children:"Minecraft Pixelmon"})," gyms? Generate perfect arena circles. The block placement patterns work identically whether you're playing",e.jsx("strong",{children:" original Minecraft"})," or heavily modded versions with ",e.jsx("strong",{children:"Minecraft OptiFine"})," for enhanced graphics."]})]})})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-4",children:["Popular ",e.jsx("strong",{children:"Minecraft Building Guides"})," & Tutorials"]}),e.jsxs("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:["Learn advanced building techniques with our in-depth tutorials. From ",e.jsx("strong",{children:"medieval castles"})," to ",e.jsx("strong",{children:"redstone contraptions"}),", master every aspect of Minecraft building."]}),e.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:[e.jsx(p,{to:"/blog/how-to-build-circles",className:"group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsxs(ee,{className:"pb-2",children:[e.jsx("span",{className:"text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded w-fit",children:"Tutorial"}),e.jsx(te,{className:"text-lg group-hover:text-primary transition-colors",children:"How to Build Perfect Circles in Minecraft"})]}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"Step-by-step guide to building pixel-perfect circles using our generator tool."})})]})}),e.jsx(p,{to:"/blog/dome-building-guide",className:"group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsxs(ee,{className:"pb-2",children:[e.jsx("span",{className:"text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded w-fit",children:"Advanced"}),e.jsx(te,{className:"text-lg group-hover:text-primary transition-colors",children:"Minecraft Dome Building Guide"})]}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"Build stunning dome roofs and ceilings using our sphere generator and circle charts."})})]})}),e.jsx(p,{to:"/blog/medieval-castles-guide",className:"group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsxs(ee,{className:"pb-2",children:[e.jsx("span",{className:"text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded w-fit",children:"Building"}),e.jsx(te,{className:"text-lg group-hover:text-primary transition-colors",children:"How to Build Medieval Castles"})]}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"Design epic castles with circular towers, arched bridges, and defensive walls."})})]})}),e.jsx(p,{to:"/blog/spiral-staircase-designs",className:"group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsxs(ee,{className:"pb-2",children:[e.jsx("span",{className:"text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded w-fit",children:"Building"}),e.jsx(te,{className:"text-lg group-hover:text-primary transition-colors",children:"Spiral Staircase Design Ideas"})]}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"Creative spiral staircase designs for towers, lighthouses, and modern builds."})})]})}),e.jsx(p,{to:"/blog/redstone-circular-builds",className:"group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsxs(ee,{className:"pb-2",children:[e.jsx("span",{className:"text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded w-fit",children:"Advanced"}),e.jsx(te,{className:"text-lg group-hover:text-primary transition-colors",children:"Redstone Circular Builds Guide"})]}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"Combine redstone mechanics with circular architecture for rotating doors and hidden passages."})})]})}),e.jsx(p,{to:"/blog/survival-base-designs-2026",className:"group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsxs(ee,{className:"pb-2",children:[e.jsx("span",{className:"text-xs font-medium text-primary bg-primary/10 px-2 py-1 rounded w-fit",children:"Building"}),e.jsx(te,{className:"text-lg group-hover:text-primary transition-colors",children:"Best Survival Base Designs 2026"})]}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"Top survival base layouts with circular walls, farms, and defensive structures."})})]})})]}),e.jsx("div",{className:"text-center mt-8",children:e.jsx(p,{to:"/blog",className:"inline-flex items-center gap-2 text-primary font-semibold hover:underline",children:"View All Minecraft Guides & Tutorials →"})})]})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-8",children:["More ",e.jsx("strong",{children:"Minecraft Resources"})]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"bg-card rounded-lg p-6 border",children:[e.jsx("h3",{className:"font-heading font-semibold mb-3",children:"🎨 Design & Creative Tools"}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/minecraft-logo-title-maker",className:"text-primary hover:underline",children:"Minecraft Logo & Title Maker"})," – Create custom logos"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB Color Generator"})," – Find perfect color codes"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"Pixel Art Building Guide"})," – Master pixel art"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/garden-landscaping-guide",className:"text-primary hover:underline",children:"Garden & Landscaping Guide"})," – Beautiful outdoor builds"]})]})]}),e.jsxs("div",{className:"bg-card rounded-lg p-6 border",children:[e.jsx("h3",{className:"font-heading font-semibold mb-3",children:"🏗️ Building Tutorials"}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/bridge-building-guide",className:"text-primary hover:underline",children:"How to Build Bridges"})," – Arched and suspension designs"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/underwater-bases-guide",className:"text-primary hover:underline",children:"Underwater Bases Guide"})," – Build beneath the ocean"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/modern-architecture-guide",className:"text-primary hover:underline",children:"Modern Architecture Guide"})," – Contemporary builds"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:"Tower Designs with Spiral Staircases"})," – Epic towers"]})]})]}),e.jsxs("div",{className:"bg-card rounded-lg p-6 border",children:[e.jsx("h3",{className:"font-heading font-semibold mb-3",children:"🔧 Tools & Generators"}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/best-skin-generators-2026",className:"text-primary hover:underline",children:"Best Skin Generators 2026"})," – Custom character skins"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/best-map-generators-2026",className:"text-primary hover:underline",children:"Best Map Generators 2026"})," – World generation tools"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/best-ai-video-generators-2026",className:"text-primary hover:underline",children:"AI Video Generators 2026"})," – Create Minecraft videos"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/how-to-make-cobblestone-generator",className:"text-primary hover:underline",children:"How to Make a Cobblestone Generator"})," – Essential survival tool"]})]})]}),e.jsxs("div",{className:"bg-card rounded-lg p-6 border",children:[e.jsx("h3",{className:"font-heading font-semibold mb-3",children:"⚔️ Servers & Safety"}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/hypixel-building-guide",className:"text-primary hover:underline",children:"Hypixel Building Guide"})," – Build on popular servers"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/rlcraft-building-guide",className:"text-primary hover:underline",children:"RLCraft Building Guide"})," – Survive and build in RLCraft"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/free-account-generators-scam",className:"text-primary hover:underline",children:"Account Generator Scams"})," – Stay safe online"]}),e.jsxs("li",{children:["→ ",e.jsx(p,{to:"/blog/minecraft-education-guide",className:"text-primary hover:underline",children:"Minecraft Education Edition Guide"})," – Classroom tools"]})]})]})]}),e.jsx("div",{className:"text-center mt-6",children:e.jsx(p,{to:"/tools",className:"inline-flex items-center gap-2 text-primary font-semibold hover:underline",children:"Browse All Minecraft Tools →"})})]})}),e.jsx("section",{className:"py-16 bg-primary/10",children:e.jsxs("div",{className:"container mx-auto px-4 text-center",children:[e.jsx("h2",{className:"text-2xl font-heading font-bold mb-4",children:"Ready to Build Amazing Structures?"}),e.jsxs("p",{className:"text-muted-foreground mb-6 max-w-xl mx-auto",children:["Start using our free ",e.jsx("strong",{children:"Minecraft circle generator"})," now. No registration required!"]}),e.jsx("a",{href:"#generator",className:"inline-flex items-center justify-center rounded-md bg-primary px-6 py-3 text-primary-foreground font-semibold hover:bg-primary/90 transition-colors",children:"Start Generating Circles"})]})})]})},Ev=f.forwardRef(({...t},r)=>e.jsx("nav",{ref:r,"aria-label":"breadcrumb",...t}));Ev.displayName="Breadcrumb";const Gv=f.forwardRef(({className:t,...r},s)=>e.jsx("ol",{ref:s,className:de("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",t),...r}));Gv.displayName="BreadcrumbList";const $o=f.forwardRef(({className:t,...r},s)=>e.jsx("li",{ref:s,className:de("inline-flex items-center gap-1.5",t),...r}));$o.displayName="BreadcrumbItem";const Gu=f.forwardRef(({asChild:t,className:r,...s},n)=>{const i=t?nj:"a";return e.jsx(i,{ref:n,className:de("transition-colors hover:text-foreground",r),...s})});Gu.displayName="BreadcrumbLink";const Bv=f.forwardRef(({className:t,...r},s)=>e.jsx("span",{ref:s,role:"link","aria-disabled":"true","aria-current":"page",className:de("font-normal text-foreground",t),...r}));Bv.displayName="BreadcrumbPage";const Bu=({children:t,className:r,...s})=>e.jsx("li",{role:"presentation","aria-hidden":"true",className:de("[&>svg]:size-3.5",r),...s,children:t??e.jsx(fi,{})});Bu.displayName="BreadcrumbSeparator";const oe=({items:t,currentPage:r})=>e.jsx(Ev,{className:"mb-6",children:e.jsxs(Gv,{children:[e.jsx($o,{children:e.jsx(Gu,{asChild:!0,children:e.jsxs(p,{to:"/",className:"flex items-center gap-1 hover:text-primary",children:[e.jsx(Ql,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only sm:not-sr-only",children:"Home"})]})})}),t.map((s,n)=>e.jsxs(D.Fragment,{children:[e.jsx(Bu,{children:e.jsx(fi,{className:"h-4 w-4"})}),e.jsx($o,{children:e.jsx(Gu,{asChild:!0,children:e.jsx(p,{to:s.url,className:"hover:text-primary",children:s.name})})})]},s.url)),e.jsx(Bu,{children:e.jsx(fi,{className:"h-4 w-4"})}),e.jsx($o,{children:e.jsx(Bv,{children:r})})]})}),aP=()=>{lt();const t=[];return e.jsx(se,{title:"About Minecraft Circle Generator - Free Online Building Tools",description:"Learn about MinecraftCircleGenerate.net, the free online tool for creating perfect pixel circles, ovals, hexagons, triangles, and spheres for Minecraft builds.",canonicalPath:"/about",breadcrumbs:[{name:"About",url:"/about"}],children:e.jsxs("div",{className:"container mx-auto px-4 py-16 max-w-4xl",children:[e.jsx(oe,{items:t,currentPage:"About"}),e.jsxs("article",{children:[e.jsxs("h1",{className:"text-4xl font-heading font-bold mb-8",children:["About ",e.jsx("strong",{children:"Minecraft Circle Generator"})]}),e.jsxs("div",{className:"prose prose-lg max-w-none text-muted-foreground",children:[e.jsxs("p",{className:"text-lg leading-relaxed",children:["Welcome to ",e.jsx("strong",{children:"MinecraftCircleGenerate.net"})," – the ultimate free online destination for",e.jsx("strong",{children:" Minecraft building tools"}),". Our ",e.jsx("strong",{children:"pixel circle generator"})," helps millions of Minecraft players worldwide create ",e.jsx("strong",{children:"perfect circular structures"})," in the blocky world of Minecraft."]}),e.jsx("h2",{className:"text-2xl font-heading font-semibold mt-10 mb-4 text-foreground",children:"Our Mission"}),e.jsxs("p",{children:["Since Minecraft uses square blocks, creating smooth ",e.jsx("strong",{children:"circular shapes"})," requires precise mathematical calculations. We created this ",e.jsx("strong",{children:"Minecraft circle generator"})," to eliminate the guesswork and help players of all skill levels build stunning circular structures. Our mission is to provide the best",e.jsx("strong",{children:" free pixel circle tools"})," for the Minecraft community."]}),e.jsx("h2",{className:"text-2xl font-heading font-semibold mt-10 mb-4 text-foreground",children:"Our Tools"}),e.jsxs("p",{children:["We offer a comprehensive suite of ",e.jsx("strong",{children:"Minecraft shape generators"}),":"]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 my-6 not-prose",children:[e.jsxs(p,{to:"/",className:"flex items-center gap-3 p-4 bg-card rounded-lg border hover:border-primary transition-colors",children:[e.jsx(we,{className:"h-6 w-6 text-primary flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold",children:"Circle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Perfect circles and ovals"})]})]}),e.jsxs(p,{to:"/oval-generator",className:"flex items-center gap-3 p-4 bg-card rounded-lg border hover:border-primary transition-colors",children:[e.jsx(we,{className:"h-6 w-6 text-primary flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold",children:"Oval Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Ellipses and stretched circles"})]})]}),e.jsxs(p,{to:"/hexagon-generator",className:"flex items-center gap-3 p-4 bg-card rounded-lg border hover:border-primary transition-colors",children:[e.jsx(Vt,{className:"h-6 w-6 text-primary flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold",children:"Hexagon Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Six-sided honeycomb shapes"})]})]}),e.jsxs(p,{to:"/triangle-generator",className:"flex items-center gap-3 p-4 bg-card rounded-lg border hover:border-primary transition-colors",children:[e.jsx(Yt,{className:"h-6 w-6 text-primary flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold",children:"Triangle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Triangles in 4 orientations"})]})]}),e.jsxs(p,{to:"/diamond-generator",className:"flex items-center gap-3 p-4 bg-card rounded-lg border hover:border-primary transition-colors",children:[e.jsx($t,{className:"h-6 w-6 text-primary flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold",children:"Diamond Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Rhombus and diamond shapes"})]})]}),e.jsxs(p,{to:"/spiral-staircase-generator",className:"flex items-center gap-3 p-4 bg-card rounded-lg border hover:border-primary transition-colors",children:[e.jsx(mr,{className:"h-6 w-6 text-primary flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold",children:"Spiral Staircase"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Layer-by-layer stair guide"})]})]}),e.jsxs(p,{to:"/sphere-generator",className:"flex items-center gap-3 p-4 bg-card rounded-lg border hover:border-primary transition-colors sm:col-span-2",children:[e.jsx(Dt,{className:"h-6 w-6 text-primary flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold",children:"3D Sphere Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Build domes and spheres layer by layer"})]})]})]}),e.jsx("h2",{className:"text-2xl font-heading font-semibold mt-10 mb-4 text-foreground",children:"Key Features"}),e.jsxs("ul",{className:"space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Pixel-Perfect Accuracy"})," – Mathematical precision using the midpoint circle algorithm"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Multiple Export Options"})," – Download as PNG or SVG for easy reference"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Block Count Calculator"})," – Know exactly how many blocks you need (stacks of 64 and 16)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Customizable Styles"})," – Border only or filled, thick or thin lines"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Adjustable Scale"})," – Zoom in or out for comfortable viewing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Grid Toggle"})," – Show or hide grid lines for precision building"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"10+ Languages"})," – Available in English, Spanish, German, French, and more"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mobile Responsive"})," – Works perfectly on phones, tablets, and desktops"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"No Registration"})," – Use all tools instantly without creating an account"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"100% Free"})," – No hidden fees, subscriptions, or limitations"]})]}),e.jsx("h2",{className:"text-2xl font-heading font-semibold mt-10 mb-4 text-foreground",children:"Who Uses Our Tools?"}),e.jsxs("p",{children:["Our ",e.jsx("strong",{children:"Minecraft building tools"})," are used by players worldwide who ",e.jsx("strong",{children:"play Minecraft"})," across all platforms:"]}),e.jsxs("ul",{className:"space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft survival"})," players building bases, farms, and decorative structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft creative mode"})," builders designing elaborate cities and monuments"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft server"})," owners and ",e.jsx("strong",{children:"Minecraft server hosting"})," administrators creating spawn areas"]}),e.jsxs("li",{children:["Players on ",e.jsx("strong",{children:"Hypixel"})," and other ",e.jsx("strong",{children:"best Minecraft servers"})," building competition maps"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Skyblock Minecraft"})," players optimizing island layouts"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft PvP"})," and ",e.jsx("strong",{children:"Minecraft Bedwars"})," arena designers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Modded Minecraft"})," players using ",e.jsx("strong",{children:"CurseForge"}),", ",e.jsx("strong",{children:"ATLauncher"}),", or ",e.jsx("strong",{children:"RLCraft"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft Pixelmon"})," gym builders and pokemon stadium creators"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft Education"})," teachers and students learning geometry"]}),e.jsx("li",{children:"YouTube and Twitch content creators building for tutorials"})]}),e.jsx("h2",{className:"text-2xl font-heading font-semibold mt-10 mb-4 text-foreground",children:"Minecraft Compatibility"}),e.jsxs("p",{children:["Our generators work with all versions of ",e.jsx("strong",{children:"Minecraft games"}),":"]}),e.jsxs("ul",{className:"space-y-1",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft Java Edition"})," (PC/Mac) – works with ",e.jsx("strong",{children:"Minecraft OptiFine"})," and shaders"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft Bedrock Edition PC"})," (Windows 10/11)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft Pocket Edition"})," (iOS/Android)"]}),e.jsx("li",{children:"Minecraft Console Edition (Xbox, PlayStation, Nintendo Switch)"}),e.jsxs("li",{children:[e.jsx("strong",{children:"Minecraft Education Edition"})," for classrooms"]})]}),e.jsxs("p",{className:"mt-4",children:["Also compatible with ",e.jsx("strong",{children:"modded Minecraft servers"})," including ",e.jsx("strong",{children:"FTB server"})," packs,",e.jsx("strong",{children:" RLCraft server"})," builds, and custom modpacks from ",e.jsx("strong",{children:"CurseForge Minecraft"}),"."]}),e.jsx("h2",{className:"text-2xl font-heading font-semibold mt-10 mb-4 text-foreground",children:"Get Started"}),e.jsxs("p",{children:["Ready to build? Head to our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Minecraft Circle Generator"})," and start creating perfect circles today. Have questions? Check out our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," or",e.jsx(p,{to:"/contact",className:"text-primary hover:underline",children:" contact us"}),"."]})]})]})]})})};var gc="Collapsible",[oP,Av]=Wt(gc),[lP,lm]=oP(gc),Rv=f.forwardRef((t,r)=>{const{__scopeCollapsible:s,open:n,defaultOpen:i,disabled:a,onOpenChange:o,...l}=t,[c,d]=Xr({prop:n,defaultProp:i??!1,onChange:o,caller:gc});return e.jsx(lP,{scope:s,disabled:a,contentId:ji(),open:c,onOpenToggle:f.useCallback(()=>d(j=>!j),[d]),children:e.jsx(he.div,{"data-state":dm(c),"data-disabled":a?"":void 0,...l,ref:r})})});Rv.displayName=gc;var Dv="CollapsibleTrigger",Iv=f.forwardRef((t,r)=>{const{__scopeCollapsible:s,...n}=t,i=lm(Dv,s);return e.jsx(he.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":dm(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...n,ref:r,onClick:V(t.onClick,i.onOpenToggle)})});Iv.displayName=Dv;var cm="CollapsibleContent",Fv=f.forwardRef((t,r)=>{const{forceMount:s,...n}=t,i=lm(cm,t.__scopeCollapsible);return e.jsx(Qr,{present:s||i.open,children:({present:a})=>e.jsx(cP,{...n,ref:r,present:a})})});Fv.displayName=cm;var cP=f.forwardRef((t,r)=>{const{__scopeCollapsible:s,present:n,children:i,...a}=t,o=lm(cm,s),[l,c]=f.useState(n),d=f.useRef(null),j=be(r,d),m=f.useRef(0),b=m.current,g=f.useRef(0),y=g.current,h=o.open||l,v=f.useRef(h),x=f.useRef(void 0);return f.useEffect(()=>{const u=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(u)},[]),Pr(()=>{const u=d.current;if(u){x.current=x.current||{transitionDuration:u.style.transitionDuration,animationName:u.style.animationName},u.style.transitionDuration="0s",u.style.animationName="none";const w=u.getBoundingClientRect();m.current=w.height,g.current=w.width,v.current||(u.style.transitionDuration=x.current.transitionDuration,u.style.animationName=x.current.animationName),c(n)}},[o.open,n]),e.jsx(he.div,{"data-state":dm(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!h,...a,ref:j,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":y?`${y}px`:void 0,...t.style},children:h&&i})});function dm(t){return t?"open":"closed"}var dP=Rv,uP=Iv,hP=Fv,gr="Accordion",mP=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[um,xP,gP]=za(gr),[fc,NE]=Wt(gr,[gP,Av]),hm=Av(),Lv=D.forwardRef((t,r)=>{const{type:s,...n}=t,i=n,a=n;return e.jsx(um.Provider,{scope:t.__scopeAccordion,children:s==="multiple"?e.jsx(bP,{...a,ref:r}):e.jsx(jP,{...i,ref:r})})});Lv.displayName=gr;var[Ov,fP]=fc(gr),[zv,pP]=fc(gr,{collapsible:!1}),jP=D.forwardRef((t,r)=>{const{value:s,defaultValue:n,onValueChange:i=()=>{},collapsible:a=!1,...o}=t,[l,c]=Xr({prop:s,defaultProp:n??"",onChange:i,caller:gr});return e.jsx(Ov,{scope:t.__scopeAccordion,value:D.useMemo(()=>l?[l]:[],[l]),onItemOpen:c,onItemClose:D.useCallback(()=>a&&c(""),[a,c]),children:e.jsx(zv,{scope:t.__scopeAccordion,collapsible:a,children:e.jsx(Hv,{...o,ref:r})})})}),bP=D.forwardRef((t,r)=>{const{value:s,defaultValue:n,onValueChange:i=()=>{},...a}=t,[o,l]=Xr({prop:s,defaultProp:n??[],onChange:i,caller:gr}),c=D.useCallback(j=>l((m=[])=>[...m,j]),[l]),d=D.useCallback(j=>l((m=[])=>m.filter(b=>b!==j)),[l]);return e.jsx(Ov,{scope:t.__scopeAccordion,value:o,onItemOpen:c,onItemClose:d,children:e.jsx(zv,{scope:t.__scopeAccordion,collapsible:!0,children:e.jsx(Hv,{...a,ref:r})})})}),[yP,pc]=fc(gr),Hv=D.forwardRef((t,r)=>{const{__scopeAccordion:s,disabled:n,dir:i,orientation:a="vertical",...o}=t,l=D.useRef(null),c=be(l,r),d=xP(s),m=Ua(i)==="ltr",b=V(t.onKeyDown,g=>{var P;if(!mP.includes(g.key))return;const y=g.target,h=d().filter(R=>{var B;return!((B=R.ref.current)!=null&&B.disabled)}),v=h.findIndex(R=>R.ref.current===y),x=h.length;if(v===-1)return;g.preventDefault();let u=v;const w=0,N=x-1,k=()=>{u=v+1,u>N&&(u=w)},M=()=>{u=v-1,u<w&&(u=N)};switch(g.key){case"Home":u=w;break;case"End":u=N;break;case"ArrowRight":a==="horizontal"&&(m?k():M());break;case"ArrowDown":a==="vertical"&&k();break;case"ArrowLeft":a==="horizontal"&&(m?M():k());break;case"ArrowUp":a==="vertical"&&M();break}const C=u%x;(P=h[C].ref.current)==null||P.focus()});return e.jsx(yP,{scope:s,disabled:n,direction:i,orientation:a,children:e.jsx(um.Slot,{scope:s,children:e.jsx(he.div,{...o,"data-orientation":a,ref:c,onKeyDown:n?void 0:b})})})}),Sl="AccordionItem",[vP,mm]=fc(Sl),qv=D.forwardRef((t,r)=>{const{__scopeAccordion:s,value:n,...i}=t,a=pc(Sl,s),o=fP(Sl,s),l=hm(s),c=ji(),d=n&&o.value.includes(n)||!1,j=a.disabled||t.disabled;return e.jsx(vP,{scope:s,open:d,disabled:j,triggerId:c,children:e.jsx(dP,{"data-orientation":a.orientation,"data-state":Yv(d),...l,...i,ref:r,disabled:j,open:d,onOpenChange:m=>{m?o.onItemOpen(n):o.onItemClose(n)}})})});qv.displayName=Sl;var _v="AccordionHeader",Uv=D.forwardRef((t,r)=>{const{__scopeAccordion:s,...n}=t,i=pc(gr,s),a=mm(_v,s);return e.jsx(he.h3,{"data-orientation":i.orientation,"data-state":Yv(a.open),"data-disabled":a.disabled?"":void 0,...n,ref:r})});Uv.displayName=_v;var Au="AccordionTrigger",Wv=D.forwardRef((t,r)=>{const{__scopeAccordion:s,...n}=t,i=pc(gr,s),a=mm(Au,s),o=pP(Au,s),l=hm(s);return e.jsx(um.ItemSlot,{scope:s,children:e.jsx(uP,{"aria-disabled":a.open&&!o.collapsible||void 0,"data-orientation":i.orientation,id:a.triggerId,...l,...n,ref:r})})});Wv.displayName=Au;var $v="AccordionContent",Vv=D.forwardRef((t,r)=>{const{__scopeAccordion:s,...n}=t,i=pc(gr,s),a=mm($v,s),o=hm(s);return e.jsx(hP,{role:"region","aria-labelledby":a.triggerId,"data-orientation":i.orientation,...o,...n,ref:r,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...t.style}})});Vv.displayName=$v;function Yv(t){return t?"open":"closed"}var wP=Lv,NP=qv,kP=Uv,Kv=Wv,Qv=Vv;const wn=wP,zs=f.forwardRef(({className:t,...r},s)=>e.jsx(NP,{ref:s,className:de("border-b",t),...r}));zs.displayName="AccordionItem";const Hs=f.forwardRef(({className:t,children:r,...s},n)=>e.jsx(kP,{className:"flex",children:e.jsxs(Kv,{ref:n,className:de("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...s,children:[r,e.jsx(mu,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));Hs.displayName=Kv.displayName;const qs=f.forwardRef(({className:t,children:r,...s},n)=>e.jsx(Qv,{ref:n,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...s,children:e.jsx("div",{className:de("pb-4 pt-0",t),children:r})}));qs.displayName=Qv.displayName;const MP=()=>{lt();const t=[],r=[{q:"What is a Minecraft circle generator?",a:"A Minecraft circle generator is a free online tool that calculates pixel-perfect circular patterns for building in Minecraft. Since Minecraft uses square blocks, our tool shows exactly which blocks to place to create smooth circles, ovals, and curved shapes. It uses mathematical algorithms to produce accurate results."},{q:"How do I use the circle generator?",a:"Simply enter the width and height of your desired circle in blocks (3-200), choose your style (border only or filled), select line thickness (thick or thin), and the tool instantly displays the block pattern. You can then download the pattern as PNG or SVG to use as a building reference."},{q:"Is this tool free to use?",a:"Yes! Our Minecraft circle generator and all other shape generators (oval, hexagon, triangle, diamond, spiral staircase, 3D sphere) are completely free with no registration required. There are no hidden fees, subscriptions, or usage limits."},{q:"Can I download the circle pattern?",a:"Yes, you can download your generated circle as either PNG (raster image) or SVG (vector graphic) format. Both formats work great as building references. The PNG is perfect for printing or viewing on mobile, while SVG can be scaled to any size without losing quality."},{q:"Does it work on mobile devices?",a:"Yes, our tool is fully responsive and works perfectly on smartphones, tablets, and desktop computers. You can generate circles on your phone while playing Minecraft on another device, or use split-screen on tablets for convenient building."},{q:"What is the maximum circle size?",a:"You can generate circles up to 200x200 blocks in size. This is large enough for most building projects including massive domes, arenas, and circular structures. For very large builds, you might want to build in sections."},{q:"How do I build a dome in Minecraft?",a:"To build a dome, use our 3D Sphere Generator which shows layer-by-layer instructions. Start from the bottom layer and work your way up. Each layer shows exactly which blocks to place at that Y-level. For hollow domes, use the 'Hollow' option to see only the outer shell."},{q:"What is the difference between border and filled circles?",a:"Border only creates a hollow circle with just the outline - perfect for towers, wells, and circular walls. Filled creates a solid circle where every block inside is filled - ideal for circular floors, platforms, and pixel art. You can also adjust border thickness (thick or thin)."},{q:"How accurate are the generated circles?",a:"Our generator uses the midpoint circle algorithm, which is the same mathematical method used in computer graphics. The results are pixel-perfect within the constraints of Minecraft's block-based system. Larger circles appear smoother due to having more blocks to work with."},{q:"Can I create ovals and ellipses?",a:"Yes! You can create ovals by setting different width and height values in our main circle generator, or use our dedicated Oval Generator for more control. Ovals are perfect for racing tracks, swimming pools, and stadium designs."},{q:"Does this work with Minecraft Bedrock Edition?",a:"Yes, our circle generator works with all versions of Minecraft including Minecraft Java Edition, Minecraft Bedrock Edition PC, Minecraft Pocket Edition, Minecraft Education Edition, and console versions. The block patterns are universal across all platforms since they all use the same block system."},{q:"Can I use this for Minecraft servers and multiplayer?",a:"Absolutely! Our tools are perfect for building on Minecraft servers like Hypixel. Use them for Minecraft PvP arenas, Minecraft Bedwars maps, Skyblock Minecraft island designs, and server spawn areas. Server admins with Minecraft server hosting use our blueprints for professional builds."},{q:"Does it work with modded Minecraft?",a:"Yes! Our circle patterns work perfectly with modded Minecraft including CurseForge modpacks, ATLauncher packs, RLCraft, FTB server packs, and Minecraft Pixelmon. The block placement calculations are identical whether you play original Minecraft or modded versions with Minecraft OptiFine."},{q:"How do I count the blocks I need?",a:"Our tool automatically calculates the total block count and displays it in stacks of 64 and 16. This makes it easy to gather materials before building. For example, if it shows '2.5 stacks of 64', you need 2 full stacks plus 32 extra blocks."},{q:"What other shapes can I generate?",a:"Besides circles, we offer: Oval Generator for ellipses, Hexagon Generator for six-sided shapes, Triangle Generator for pyramids and roofs, Diamond Generator for rhombus patterns, Spiral Staircase Generator for layer-by-layer spiral stairs, and 3D Sphere Generator for domes and balls."},{q:"Can I use this for pixel art?",a:"Absolutely! Our circle generator is perfect for pixel art projects. The grid display shows exactly where each block goes, making it easy to recreate circular elements in your pixel art. You can also use the PNG download as a direct reference overlay."},{q:"Why do circles look blocky in Minecraft?",a:"Minecraft uses a voxel-based system where everything is made of cubic blocks. True curves are impossible, so we approximate circles using carefully calculated block placements. Larger circles appear smoother because they have more blocks to create the curve. This is called 'pixel art' or 'voxel' representation."}],s=r.map(n=>({question:n.q,answer:n.a}));return e.jsx(se,{title:"Minecraft Circle Generator FAQ - Questions & Answers 2026 | Building Help",description:"★ Get answers to common questions about Minecraft circle generator. Learn how to create perfect circles, download patterns, build domes, spheres & more. Step-by-step help!",canonicalPath:"/faq",keywords:"minecraft circle generator faq, how to use circle generator, minecraft building questions, pixel circle help, minecraft dome tutorial, circle maker guide, minecraft java, minecraft bedrock edition pc, minecraft pocket edition, minecraft servers, hypixel, minecraft creative mode, minecraft survival, modded minecraft, curseforge",breadcrumbs:[{name:"FAQ",url:"/faq"}],faqs:s,children:e.jsxs("div",{className:"container mx-auto px-4 py-16 max-w-4xl",children:[e.jsx(oe,{items:t,currentPage:"FAQ"}),e.jsxs("article",{children:[e.jsxs("h1",{className:"text-4xl font-heading font-bold mb-4",children:[e.jsx("strong",{children:"Minecraft Circle Generator"})," FAQ"]}),e.jsxs("p",{className:"text-lg text-muted-foreground mb-8",children:["Find answers to common questions about using our ",e.jsx("strong",{children:"pixel circle generator"})," and other",e.jsx("strong",{children:" Minecraft building tools"}),"."]}),e.jsx(wn,{type:"single",collapsible:!0,className:"space-y-4 mb-12",children:r.map((n,i)=>e.jsxs(zs,{value:`item-${i}`,className:"border rounded-lg px-4",children:[e.jsx(Hs,{className:"text-left font-semibold hover:no-underline",children:n.q}),e.jsx(qs,{className:"text-muted-foreground pb-4",children:n.a})]},i))}),e.jsxs("div",{className:"bg-muted/50 rounded-lg p-6 mt-8",children:[e.jsx("h2",{className:"text-xl font-heading font-semibold mb-4",children:"Still Have Questions?"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Cannot find the answer you are looking for? Feel free to reach out to us."}),e.jsxs("div",{className:"flex flex-wrap gap-4",children:[e.jsx(p,{to:"/contact",className:"text-primary hover:underline font-medium",children:"Contact Us →"}),e.jsx(p,{to:"/",className:"text-primary hover:underline font-medium",children:"Try the Circle Generator →"}),e.jsx(p,{to:"/about",className:"text-primary hover:underline font-medium",children:"Learn More About Us →"})]})]}),e.jsxs("div",{className:"mt-12",children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold mb-4",children:"Related Tools"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Explore our other ",e.jsx("strong",{children:"Minecraft shape generators"}),":"]}),e.jsxs("ul",{className:"grid sm:grid-cols-2 gap-2 text-muted-foreground",children:[e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Create ellipses and stretched circles"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Six-sided honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Pyramids and roof designs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Rhombus and diamond shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," – Layer-by-layer spiral stairs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Domes and spheres"]})]})]})]})]})})},CP=()=>{const{t}=lt(),r=[],s=n=>{n.preventDefault(),B1.success("Message sent successfully!")};return e.jsx(se,{title:t("contact.title"),description:t("contact.description"),canonicalPath:"/contact",breadcrumbs:[{name:"Contact",url:"/contact"}],children:e.jsxs("div",{className:"container mx-auto px-4 py-16 max-w-xl",children:[e.jsx(oe,{items:r,currentPage:"Contact"}),e.jsx("h1",{className:"text-4xl font-heading font-bold mb-8",children:t("contact.title")}),e.jsxs("form",{onSubmit:s,className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx($,{children:t("contact.name")}),e.jsx(Le,{required:!0,className:"mt-2"})]}),e.jsxs("div",{children:[e.jsx($,{children:t("contact.email")}),e.jsx(Le,{type:"email",required:!0,className:"mt-2"})]}),e.jsxs("div",{children:[e.jsx($,{children:t("contact.message")}),e.jsx(om,{required:!0,rows:5,className:"mt-2"})]}),e.jsx(O,{type:"submit",className:"w-full",children:t("contact.send")})]})]})})},SP=()=>{const t=[{name:"Home",url:"/"},{name:"Privacy Policy",url:"/privacy"}];return e.jsx(se,{title:"Privacy Policy - Minecraft Circle Generator",description:"Privacy Policy for Minecraft Circle Generator. Learn how we collect, use, and protect your data, including information about cookies and third-party advertising.",canonicalPath:"/privacy",breadcrumbs:t,dateModified:ke(),children:e.jsxs("div",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[],currentPage:"Privacy Policy"}),e.jsx("h1",{className:"text-4xl font-heading font-bold mb-8",children:"Privacy Policy"}),e.jsxs("div",{className:"prose prose-lg max-w-none text-muted-foreground space-y-8",children:[e.jsx("p",{className:"text-sm",children:"Last updated: December 19, 2025"}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Introduction"}),e.jsx("p",{children:'Welcome to Minecraft Circle Generator ("we," "our," or "us"). We respect your privacy and are committed to protecting your personal data. This privacy policy explains how we collect, use, and safeguard your information when you visit our website at minecraftcirclegenerate.net.'})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Information We Collect"}),e.jsx("h3",{className:"text-xl font-semibold text-foreground mt-4",children:"Automatically Collected Information"}),e.jsx("p",{children:"When you visit our website, we may automatically collect:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[e.jsx("li",{children:"Browser type and version"}),e.jsx("li",{children:"Operating system"}),e.jsx("li",{children:"Referring website"}),e.jsx("li",{children:"Pages visited and time spent"}),e.jsx("li",{children:"IP address (anonymized)"}),e.jsx("li",{children:"Device type (desktop, mobile, tablet)"})]}),e.jsx("h3",{className:"text-xl font-semibold text-foreground mt-4",children:"Locally Stored Information"}),e.jsx("p",{children:"We store the following data locally in your browser:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[e.jsx("li",{children:"Language preference"}),e.jsx("li",{children:"Theme preference (light/dark mode)"}),e.jsx("li",{children:"Cookie consent status"}),e.jsx("li",{children:"Generator settings (circle size, etc.)"})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Cookies and Tracking Technologies"}),e.jsx("p",{children:"We use cookies and similar tracking technologies to enhance your experience. Types of cookies we use:"}),e.jsx("h3",{className:"text-xl font-semibold text-foreground mt-4",children:"Essential Cookies"}),e.jsx("p",{children:"Required for the website to function properly. These cannot be disabled."}),e.jsx("h3",{className:"text-xl font-semibold text-foreground mt-4",children:"Analytics Cookies"}),e.jsx("p",{children:"We use Google Analytics to understand how visitors interact with our website. Google Analytics collects information anonymously and reports website trends without identifying individual visitors."}),e.jsx("h3",{className:"text-xl font-semibold text-foreground mt-4",children:"Advertising Cookies"}),e.jsxs("p",{children:["We use Google AdSense to display advertisements. Google AdSense may use cookies to serve ads based on your prior visits to our website or other websites. You can opt out of personalized advertising by visiting ",e.jsx("a",{href:"https://www.google.com/settings/ads",className:"text-primary hover:underline",target:"_blank",rel:"noopener noreferrer",children:"Google Ads Settings"}),"."]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Third-Party Services"}),e.jsx("p",{children:"Our website uses the following third-party services:"}),e.jsx("h3",{className:"text-xl font-semibold text-foreground mt-4",children:"Google Analytics"}),e.jsxs("p",{children:["For website analytics. Privacy Policy: ",e.jsx("a",{href:"https://policies.google.com/privacy",className:"text-primary hover:underline",target:"_blank",rel:"noopener noreferrer",children:"https://policies.google.com/privacy"})]}),e.jsx("h3",{className:"text-xl font-semibold text-foreground mt-4",children:"Google AdSense"}),e.jsxs("p",{children:["For displaying advertisements. Privacy Policy: ",e.jsx("a",{href:"https://policies.google.com/technologies/ads",className:"text-primary hover:underline",target:"_blank",rel:"noopener noreferrer",children:"https://policies.google.com/technologies/ads"})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"How We Use Your Information"}),e.jsx("p",{children:"We use the information we collect to:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[e.jsx("li",{children:"Provide and maintain our website"}),e.jsx("li",{children:"Improve user experience"}),e.jsx("li",{children:"Analyze website usage and trends"}),e.jsx("li",{children:"Display relevant advertisements"}),e.jsx("li",{children:"Prevent fraud and abuse"})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Your Rights"}),e.jsx("p",{children:"Depending on your location, you may have the following rights:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Access:"})," Request a copy of your personal data"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rectification:"})," Request correction of inaccurate data"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Erasure:"})," Request deletion of your data"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Restriction:"})," Request limited processing of your data"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Portability:"})," Request transfer of your data"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Objection:"})," Object to processing of your data"]})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Children's Privacy"}),e.jsx("p",{children:"Our website is not intended for children under 13 years of age. We do not knowingly collect personal information from children under 13. If you are a parent or guardian and believe your child has provided us with personal information, please contact us."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Data Security"}),e.jsx("p",{children:"We implement appropriate security measures to protect your information. However, no method of transmission over the Internet is 100% secure, and we cannot guarantee absolute security."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Changes to This Policy"}),e.jsx("p",{children:'We may update this privacy policy from time to time. We will notify you of any changes by posting the new policy on this page and updating the "Last updated" date.'})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"Contact Us"}),e.jsxs("p",{children:["If you have questions about this privacy policy or our data practices, please contact us through our ",e.jsx("a",{href:"/contact",className:"text-primary hover:underline",children:"contact page"}),"."]})]})]})]})})},TP=()=>{const t=[{name:"Home",url:"/"},{name:"Terms of Service",url:"/terms"}];return e.jsx(se,{title:"Terms of Service - Minecraft Circle Generator",description:"Terms of Service for Minecraft Circle Generator. Read our terms and conditions for using our free Minecraft building tools.",canonicalPath:"/terms",breadcrumbs:t,dateModified:ke(),children:e.jsxs("div",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[],currentPage:"Terms of Service"}),e.jsx("h1",{className:"text-4xl font-heading font-bold mb-8",children:"Terms of Service"}),e.jsxs("div",{className:"prose prose-lg max-w-none text-muted-foreground space-y-8",children:[e.jsx("p",{className:"text-sm",children:"Last updated: December 19, 2025"}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"1. Acceptance of Terms"}),e.jsx("p",{children:"By accessing and using Minecraft Circle Generator (minecraftcirclegenerate.net), you accept and agree to be bound by these Terms of Service. If you do not agree to these terms, please do not use our website."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"2. Description of Service"}),e.jsx("p",{children:"Minecraft Circle Generator provides free online tools for generating geometric shapes and patterns for use in Minecraft. Our services include circle generators, oval generators, sphere generators, and various other shape generation tools, as well as educational content about Minecraft building."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"3. Use of Service"}),e.jsx("p",{children:"You agree to use our service only for lawful purposes. You may:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[e.jsx("li",{children:"Use generated patterns in your personal Minecraft builds"}),e.jsx("li",{children:"Use generated patterns in commercial Minecraft projects"}),e.jsx("li",{children:"Share generated patterns with others"}),e.jsx("li",{children:"Download and save pattern images for offline use"})]}),e.jsx("p",{className:"mt-4",children:"You may not:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[e.jsx("li",{children:"Attempt to hack, disable, or interfere with the website's functionality"}),e.jsx("li",{children:"Use automated systems to access the website excessively"}),e.jsx("li",{children:"Redistribute our tools or code without permission"}),e.jsx("li",{children:"Use the service for any illegal activities"})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"4. Intellectual Property"}),e.jsx("p",{children:"The website design, code, and original content are the property of Minecraft Circle Generator. Generated patterns are provided freely for your use without restriction."}),e.jsxs("p",{className:"mt-4",children:[e.jsx("strong",{children:"Disclaimer:"})," Minecraft is a trademark of Mojang Studios (a Microsoft company). Minecraft Circle Generator is not affiliated with, endorsed by, or connected to Mojang Studios or Microsoft Corporation."]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"5. Advertisements"}),e.jsx("p",{children:"Our website displays third-party advertisements through Google AdSense. These advertisements help support the free operation of our service. By using our website, you acknowledge and accept the presence of these advertisements."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"6. Disclaimer of Warranties"}),e.jsx("p",{children:'Our service is provided "as is" and "as available" without warranties of any kind, either express or implied. We do not warrant that:'}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2",children:[e.jsx("li",{children:"The service will be uninterrupted or error-free"}),e.jsx("li",{children:"Generated patterns will be suitable for all purposes"}),e.jsx("li",{children:"Any errors in the service will be corrected"})]})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"7. Limitation of Liability"}),e.jsx("p",{children:"To the maximum extent permitted by law, Minecraft Circle Generator shall not be liable for any indirect, incidental, special, consequential, or punitive damages resulting from your use of or inability to use the service."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"8. External Links"}),e.jsx("p",{children:"Our website may contain links to external websites. We are not responsible for the content, privacy policies, or practices of these third-party sites."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"9. Modifications to Terms"}),e.jsx("p",{children:"We reserve the right to modify these Terms of Service at any time. Changes will be effective immediately upon posting to the website. Your continued use of the service after changes constitutes acceptance of the modified terms."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"10. Governing Law"}),e.jsx("p",{children:"These terms shall be governed by and construed in accordance with applicable laws, without regard to conflict of law principles."})]}),e.jsxs("section",{children:[e.jsx("h2",{className:"text-2xl font-heading font-semibold text-foreground",children:"11. Contact"}),e.jsxs("p",{children:["If you have questions about these Terms of Service, please contact us through our",e.jsx("a",{href:"/contact",className:"text-primary hover:underline ml-1",children:"contact page"}),"."]})]})]})]})})},PP=()=>{const t=[{name:"Home",url:"/"},{name:"Sitemap",url:"/sitemap"}],r=[{url:"/",title:"Home - Minecraft Circle Generator",icon:Ql},{url:"/tools",title:"All Building Tools",icon:er},{url:"/about",title:"About Us",icon:x2},{url:"/faq",title:"Frequently Asked Questions",icon:i2},{url:"/contact",title:"Contact Us",icon:b2},{url:"/blog",title:"Minecraft Building Blog",icon:us},{url:"/privacy",title:"Privacy Policy",icon:Jl},{url:"/terms",title:"Terms of Service",icon:w2}],s=[{url:"/",title:"Circle Generator",icon:we,description:"Create pixel-perfect circles"},{url:"/oval-generator",title:"Oval Generator",icon:we,description:"Generate oval and ellipse shapes"},{url:"/sphere-generator",title:"3D Sphere Generator",icon:Dt,description:"Build spheres layer by layer"},{url:"/hexagon-generator",title:"Hexagon Generator",icon:Vt,description:"Create hexagonal patterns"},{url:"/triangle-generator",title:"Triangle Generator",icon:Yt,description:"Generate triangle shapes"},{url:"/diamond-generator",title:"Diamond Generator",icon:$t,description:"Build diamond patterns"},{url:"/spiral-staircase-generator",title:"Spiral Staircase Generator",icon:j2,description:"Design spiral staircases"},{url:"/text-generator",title:"Text/Font Generator",icon:Hi,description:"Create pixel-perfect Minecraft text"},{url:"/rgb-generator",title:"RGB Color Generator",icon:Hi,description:"Generate gradients and color codes"},{url:"/name-generator",title:"Name Generator",icon:Hi,description:"Generate Minecraft username ideas"},{url:"/seed-generator",title:"Seed Generator",icon:Hi,description:"Random seeds for Java & Bedrock"}],n=[{url:"/blog/circle-building-mistakes-2026",title:"Stop Building Minecraft Circles Like This (2026)",category:"Warning"},{url:"/blog/minecraft-lag-fix-2026",title:"Why Your 2026 Minecraft World Might Be Lagging",category:"Urgent"},{url:"/blog/minecraft-2026-cuter-update-secrets",title:"5 Secret Features in the 2026 Cuter Update",category:"Exclusive"},{url:"/blog/how-to-build-circles",title:"How to Build Perfect Circles in Minecraft",category:"Tutorial"},{url:"/blog/dome-building-guide",title:"Minecraft Dome Building Guide",category:"Advanced"},{url:"/blog/tower-designs-guide",title:"Minecraft Tower Designs with Spiral Staircases",category:"Building"},{url:"/blog/geometric-patterns-guide",title:"Minecraft Geometric Patterns and Shapes",category:"Design"},{url:"/blog/underwater-bases-guide",title:"How to Build Underwater Bases in Minecraft",category:"Advanced"},{url:"/blog/medieval-castles-guide",title:"How to Build Medieval Castles in Minecraft",category:"Building"},{url:"/blog/pixel-art-guide",title:"Minecraft Pixel Art Guide",category:"Creative"},{url:"/blog/modern-architecture-guide",title:"Modern Architecture in Minecraft",category:"Design"},{url:"/blog/rlcraft-building-guide",title:"RLCraft Building Guide",category:"RLCraft"},{url:"/blog/hypixel-building-guide",title:"Hypixel Building Guide",category:"Hypixel"},{url:"/blog/minecraft-education-guide",title:"Minecraft Education Edition Guide",category:"Education"},{url:"/blog/redstone-circular-builds",title:"Redstone Circular Builds: Clocks, Doors & Traps",category:"Redstone"},{url:"/blog/bridge-building-guide",title:"How to Build Bridges in Minecraft",category:"Building"},{url:"/blog/garden-landscaping-guide",title:"Garden & Landscaping Guide",category:"Design"},{url:"/blog/survival-base-designs-2026",title:"Best Survival Base Designs 2026",category:"Survival"},{url:"/blog/spiral-staircase-designs",title:"10 Spiral Staircase Design Ideas",category:"Building"},{url:"/blog/best-skin-generators-2026",title:"Best Minecraft Skin Generators 2026",category:"Tools"},{url:"/blog/free-account-generators-scam",title:"Free Account Generators: Scam or Real?",category:"Safety"},{url:"/blog/best-ai-video-generators-2026",title:"Best AI Minecraft Video Generators 2026",category:"AI"},{url:"/blog/minecraft-logo-title-maker",title:"Minecraft Logo & Title Maker Tools",category:"Design"},{url:"/blog/how-to-make-cobblestone-generator",title:"How to Make a Cobblestone Generator",category:"Tutorial"},{url:"/blog/best-map-generators-2026",title:"Best Minecraft Map Generators 2026",category:"Tools"}],i=[{url:"/generator-lingkaran-minecraft",title:"Generator Lingkaran Minecraft",language:"Indonesian (Bahasa)"},{url:"/gerador-circulo-minecraft",title:"Gerador de Círculo Minecraft",language:"Portuguese (Português)"},{url:"/generador-circulos-minecraft-vn",title:"Trình Tạo Hình Tròn Minecraft",language:"Vietnamese (Tiếng Việt)"},{url:"/minecraft-circle-generator-hindi",title:"माइनक्राफ्ट सर्कल जेनरेटर",language:"Hindi (हिन्दी)"},{url:"/minecraft-daire-olusturucu",title:"Minecraft Daire Oluşturucu",language:"Turkish (Türkçe)"},{url:"/minecraft-circle-generator-thai",title:"เครื่องมือสร้างวงกลม Minecraft",language:"Thai (ไทย)"}];return e.jsx(se,{title:"Sitemap - Minecraft Circle Generator | All Pages & Tools",description:"Complete sitemap of Minecraft Circle Generator website. Find all tools, blog posts, guides, and localized pages for building perfect shapes in Minecraft.",canonicalPath:"/sitemap",type:"website",breadcrumbs:t,dateModified:ke(),children:e.jsxs("div",{className:"container mx-auto px-4 py-12",children:[e.jsx(oe,{items:[],currentPage:"Sitemap"}),e.jsxs("div",{className:"text-center mb-12",children:[e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-4",children:["Site",e.jsx("span",{className:"text-primary",children:"map"})]}),e.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto",children:"Complete directory of all pages, tools, and resources on Minecraft Circle Generator."})]}),e.jsxs("div",{className:"grid lg:grid-cols-2 gap-12",children:[e.jsxs("section",{children:[e.jsxs("h2",{className:"text-2xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(Hi,{className:"w-6 h-6 text-primary"}),"Main Pages"]}),e.jsx("ul",{className:"space-y-3",children:r.map(a=>e.jsx("li",{children:e.jsxs(p,{to:a.url,className:"flex items-center gap-3 p-3 rounded-lg hover:bg-muted transition-colors group",children:[e.jsx(a.icon,{className:"w-5 h-5 text-muted-foreground group-hover:text-primary transition-colors"}),e.jsx("span",{className:"group-hover:text-primary transition-colors",children:a.title})]})},a.url))})]}),e.jsxs("section",{children:[e.jsxs("h2",{className:"text-2xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(er,{className:"w-6 h-6 text-primary"}),"Building Tools"]}),e.jsx("ul",{className:"space-y-3",children:s.map(a=>e.jsx("li",{children:e.jsxs(p,{to:a.url,className:"flex items-center gap-3 p-3 rounded-lg hover:bg-muted transition-colors group",children:[e.jsx(a.icon,{className:"w-5 h-5 text-muted-foreground group-hover:text-primary transition-colors"}),e.jsxs("div",{children:[e.jsx("span",{className:"group-hover:text-primary transition-colors font-medium",children:a.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.description})]})]})},a.url))})]}),e.jsxs("section",{children:[e.jsxs("h2",{className:"text-2xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(us,{className:"w-6 h-6 text-primary"}),"Blog & Tutorials"]}),e.jsx("ul",{className:"space-y-2",children:n.map(a=>e.jsx("li",{children:e.jsxs(p,{to:a.url,className:"flex items-center justify-between p-3 rounded-lg hover:bg-muted transition-colors group",children:[e.jsx("span",{className:"group-hover:text-primary transition-colors",children:a.title}),e.jsx("span",{className:"text-xs px-2 py-1 bg-muted rounded-full text-muted-foreground",children:a.category})]})},a.url))})]}),e.jsxs("section",{children:[e.jsxs("h2",{className:"text-2xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(g2,{className:"w-6 h-6 text-primary"}),"International Pages"]}),e.jsx("ul",{className:"space-y-3",children:i.map(a=>e.jsx("li",{children:e.jsx(p,{to:a.url,className:"flex items-center justify-between p-3 rounded-lg hover:bg-muted transition-colors group",children:e.jsxs("div",{children:[e.jsx("span",{className:"group-hover:text-primary transition-colors font-medium",children:a.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.language})]})})},a.url))})]})]}),e.jsxs("section",{className:"mt-12 p-6 bg-muted/30 rounded-xl text-center",children:[e.jsx("h2",{className:"text-xl font-semibold mb-3",children:"For Search Engines"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Looking for the XML sitemap? Search engines can access our machine-readable sitemap at:"}),e.jsx("a",{href:"/sitemap.xml",target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:underline font-mono",children:"https://minecraftcirclegenerate.net/sitemap.xml"})]})]})})},EP=()=>{const t=Pi();return f.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",t.pathname)},[t.pathname]),e.jsx(se,{title:"Page Not Found - 404 Error",description:"The page you're looking for doesn't exist. Return to the Minecraft Circle Generator homepage.",canonicalPath:"/404",children:e.jsx("div",{className:"container mx-auto px-4 flex min-h-[60vh] items-center justify-center",children:e.jsxs("div",{className:"text-center max-w-md",children:[e.jsx("h1",{className:"mb-4 text-6xl md:text-8xl font-heading font-bold text-primary",children:"404"}),e.jsx("p",{className:"mb-2 text-2xl font-semibold",children:"Page Not Found"}),e.jsx("p",{className:"mb-8 text-muted-foreground",children:"Oops! This page doesn't exist. It may have been moved or deleted."}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 justify-center",children:[e.jsx(p,{to:"/",className:"inline-flex items-center justify-center rounded-md bg-primary px-6 py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:"Go to Homepage"}),e.jsx(p,{to:"/tools",className:"inline-flex items-center justify-center rounded-md border border-input bg-background px-6 py-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground transition-colors",children:"Browse Tools"}),e.jsx(p,{to:"/blog",className:"inline-flex items-center justify-center rounded-md border border-input bg-background px-6 py-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground transition-colors",children:"Read Blog"})]})]})})})},GP=t=>{const{width:r,height:s,renderStyle:n,borderStyle:i}=t,a=[];let o=0;const l=r/2,c=s/2,d=r/2,j=s/2;for(let m=0;m<s;m++){a[m]=[];for(let b=0;b<r;b++){const g=(b+.5-l)/d,y=(m+.5-c)/j,h=g*g+y*y;let v=!1;if(n==="filled")v=h<=1;else{const u=1-(i==="thick"?.15:.08);if(v=h<=1&&h>=u*u,r<=10||s<=10){const w=(b+.5-l)/(d-.5),N=(m+.5-c)/(j-.5),k=w*w+N*N;v=h<=1&&k>1}}a[m][b]=v,v&&o++}}return{grid:a,blockCount:o,width:r,height:s}},BP=()=>{const[t,r]=f.useState({width:20,height:12,renderStyle:"border",borderStyle:"thick",scale:1,showGrid:!0}),s=f.useMemo(()=>GP(t),[t]),n=f.useCallback(g=>{r(y=>({...y,...g}))},[]),i=f.useCallback(g=>{n({width:Math.max(3,Math.min(200,g))})},[n]),a=f.useCallback(g=>{n({height:Math.max(3,Math.min(200,g))})},[n]),o=f.useCallback(g=>{n({renderStyle:g})},[n]),l=f.useCallback(g=>{n({borderStyle:g})},[n]),c=f.useCallback(g=>{n({scale:Math.max(.5,Math.min(3,g))})},[n]),d=f.useCallback(g=>{n({showGrid:g})},[n]),j=f.useCallback(()=>{r({width:20,height:12,renderStyle:"border",borderStyle:"thick",scale:1,showGrid:!0})},[]),m=f.useCallback(()=>{const{grid:g,width:y,height:h}=s,v=20,x=document.createElement("canvas");x.width=y*v,x.height=h*v;const u=x.getContext("2d");if(!u)return;u.fillStyle="#f5f5f5",u.fillRect(0,0,x.width,x.height);for(let N=0;N<h;N++)for(let k=0;k<y;k++)g[N][k]?(u.fillStyle="#4a7c59",u.fillRect(k*v,N*v,v,v),u.strokeStyle="#3a5c45",u.lineWidth=1,u.strokeRect(k*v,N*v,v,v)):(u.strokeStyle="#ddd",u.lineWidth=.5,u.strokeRect(k*v,N*v,v,v));const w=document.createElement("a");w.download=`minecraft-oval-${y}x${h}.png`,w.href=x.toDataURL("image/png"),w.click()},[s]),b=f.useCallback(()=>{const{grid:g,width:y,height:h}=s,v=20;let x=`<svg xmlns="http://www.w3.org/2000/svg" width="${y*v}" height="${h*v}" viewBox="0 0 ${y*v} ${h*v}">`;x+='<rect width="100%" height="100%" fill="#f5f5f5"/>';for(let N=0;N<h;N++)for(let k=0;k<y;k++)g[N][k]?x+=`<rect x="${k*v}" y="${N*v}" width="${v}" height="${v}" fill="#4a7c59" stroke="#3a5c45" stroke-width="1"/>`:x+=`<rect x="${k*v}" y="${N*v}" width="${v}" height="${v}" fill="none" stroke="#ddd" stroke-width="0.5"/>`;x+="</svg>";const u=new Blob([x],{type:"image/svg+xml"}),w=document.createElement("a");w.download=`minecraft-oval-${y}x${h}.svg`,w.href=URL.createObjectURL(u),w.click()},[s]);return{settings:t,ovalData:s,setWidth:i,setHeight:a,setRenderStyle:o,setBorderStyle:l,setScale:c,setShowGrid:d,reset:j,downloadPNG:m,downloadSVG:b}},AP=()=>{const{t}=lt(),r=f.useRef(null),{settings:s,ovalData:n,setWidth:i,setHeight:a,setRenderStyle:o,setBorderStyle:l,setScale:c,setShowGrid:d,reset:j,downloadPNG:m,downloadSVG:b}=BP(),g=Math.max(8,Math.min(30,400/Math.max(n.width,n.height)))*s.scale;return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[300px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(we,{className:"h-5 w-5"}),t("oval.title")||"Oval Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.width")}),e.jsx(Le,{type:"number",min:3,max:200,value:s.width,onChange:y=>i(parseInt(y.target.value)||3)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.height")}),e.jsx(Le,{type:"number",min:3,max:200,value:s.height,onChange:y=>a(parseInt(y.target.value)||3)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.render")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.renderStyle==="border"?"default":"outline",size:"sm",onClick:()=>o("border"),className:"flex-1 min-w-0 truncate",children:t("generator.border")}),e.jsx(O,{variant:s.renderStyle==="filled"?"default":"outline",size:"sm",onClick:()=>o("filled"),className:"flex-1 min-w-0 truncate",children:t("generator.filled")})]})]}),s.renderStyle==="border"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.borderStyle==="thick"?"default":"outline",size:"sm",onClick:()=>l("thick"),className:"flex-1 min-w-0 truncate",children:t("generator.thick")}),e.jsx(O,{variant:s.borderStyle==="thin"?"default":"outline",size:"sm",onClick:()=>l("thin"),className:"flex-1 min-w-0 truncate",children:t("generator.thin")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("generator.scale"),": ",s.scale.toFixed(1),"x"]}),e.jsx(xt,{value:[s.scale],onValueChange:([y])=>c(y),min:.5,max:2,step:.1})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:t("generator.showGrid")}),e.jsx(hr,{checked:s.showGrid,onCheckedChange:d})]}),e.jsxs("div",{className:"rounded-lg bg-muted p-4 space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.blocks"),":"]}),e.jsx("span",{className:"font-semibold",children:n.blockCount})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks64"),":"]}),e.jsx("span",{className:"font-semibold",children:(n.blockCount/64).toFixed(1)})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks16"),":"]}),e.jsx("span",{className:"font-semibold",children:(n.blockCount/16).toFixed(1)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:m,className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadPng")]}),e.jsxs(O,{onClick:b,variant:"outline",className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadSvg")]}),e.jsxs(O,{onClick:j,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"Oval Generator",storageKey:"oval-generator"}),e.jsx(Te,{title:"Check out this Minecraft Oval Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsx(G,{className:"p-4 md:p-6",children:e.jsx("div",{className:"overflow-auto rounded-lg bg-muted/50 p-2 md:p-4 generator-grid-container",style:{maxHeight:"60vh"},children:e.jsx("div",{ref:r,className:"inline-grid mx-auto generator-grid",style:{gridTemplateColumns:`repeat(${n.width}, ${g}px)`,gap:s.showGrid?"1px":"0px"},children:n.grid.map((y,h)=>y.map((v,x)=>e.jsx("div",{className:`transition-colors ${v?"grid-block":"grid-block-empty"}`,style:{width:g,height:g}},`${x}-${h}`)))})})})})]})},RP=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Set Width",text:"Enter the horizontal diameter of your oval in blocks."},{name:"Set Height",text:"Enter the vertical diameter of your oval in blocks."},{name:"Choose Style",text:"Select border only for outlines or filled for solid ovals."},{name:"Adjust Scale",text:"Use the scale slider to zoom in or out for easier viewing."},{name:"Download Pattern",text:"Download your oval as PNG or SVG for building reference in Minecraft."}],s=[{question:"What is an oval generator for Minecraft?",answer:"A tool that creates pixel-perfect elliptical patterns you can follow to build ovals in Minecraft using blocks."},{question:"How is an oval different from a circle?",answer:"An oval (ellipse) has different width and height dimensions, while a circle has equal width and height."},{question:"What builds use ovals?",answer:"Ovals are perfect for stadiums, race tracks, swimming pools, decorative gardens, and elongated architectural elements."}];return e.jsx(e.Fragment,{children:e.jsx(se,{title:"Minecraft Oval Generator - Free Pixel Ellipse Builder Tool",description:"Create perfect pixel ovals and ellipses for your Minecraft builds. Free online Minecraft oval generator with instant preview and PNG/SVG download.",canonicalPath:"/oval-generator",type:"WebApplication",keywords:"minecraft oval generator, minecraft ellipse generator, pixel oval maker, minecraft stadium builder, oval pattern minecraft, minecraft building, minecraft creative mode, minecraft server, hypixel, minecraft bedwars, minecraft pvp, skyblock minecraft",howToSteps:r,howToName:"How to Build Ovals in Minecraft",howToDescription:"Step-by-step guide to creating perfect pixel ovals and ellipses for Minecraft builds.",faqs:s,breadcrumbs:[...t,{name:"Oval Generator",url:"/oval-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Oval Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft Oval Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Create ",e.jsx("strong",{children:"pixel-perfect ovals"})," and ellipses for your ",e.jsx("strong",{children:"Minecraft builds"}),". Perfect for stadiums, pools, race tracks, and decorative structures."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(AP,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Build Ovals in Minecraft"}),e.jsxs("p",{children:["Building ",e.jsx("strong",{children:"ovals in Minecraft"})," requires careful block placement. Our ",e.jsx("strong",{children:"pixel oval generator"})," creates mathematically precise ellipses for ",e.jsx("strong",{children:"Minecraft building"}),". Works in ",e.jsx("strong",{children:"Minecraft creative mode"})," and",e.jsx("strong",{children:" Minecraft survival"})," across all editions."]}),e.jsx("h3",{children:"Perfect for These Minecraft Builds:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Sports Stadiums"})," – Create realistic oval arenas for ",e.jsx("strong",{children:"Minecraft PvP"})," and ",e.jsx("strong",{children:"Minecraft Bedwars"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Race Tracks"})," – Design NASCAR-style circuits on ",e.jsx("strong",{children:"Minecraft servers"})," like ",e.jsx("strong",{children:"Hypixel"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Swimming Pools"})," – Elegant oval pools for your ",e.jsx("strong",{children:"Minecraft world"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Decorative Gardens"})," – Plan oval flower beds for ",e.jsx("strong",{children:"Skyblock Minecraft"})," islands"]})]}),e.jsx("h3",{children:"Works With All Minecraft Editions"}),e.jsxs("p",{children:["Our oval generator works with ",e.jsx("strong",{children:"Minecraft Java Edition"}),", ",e.jsx("strong",{children:"Minecraft Bedrock Edition PC"}),",",e.jsx("strong",{children:" Minecraft Pocket Edition"}),", and ",e.jsx("strong",{children:"Minecraft Education Edition"}),". Also compatible with",e.jsx("strong",{children:" modded Minecraft"})," from ",e.jsx("strong",{children:"CurseForge"})," and ",e.jsx("strong",{children:"ATLauncher"}),"."]}),e.jsx("h3",{children:"Related Tools"}),e.jsxs("p",{children:["Explore more ",e.jsx("strong",{children:"Minecraft shape generators"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Perfect circles for towers and wells"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Six-sided shapes for honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Domes and spheres layer by layer"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Rhombus patterns for windows and floors"]})]}),e.jsx("h3",{children:"Recommended Tutorials"}),e.jsxs("p",{children:["Learn advanced building techniques with our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"Minecraft building guides"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline",children:"How to Build Perfect Circles"})," – Master circular building techniques"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/garden-landscaping-guide",className:"text-primary hover:underline",children:"Garden & Landscaping Guide"})," – Design beautiful oval gardens and paths"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/modern-architecture-guide",className:"text-primary hover:underline",children:"Modern Architecture Guide"})," – Use ovals in contemporary Minecraft builds"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/survival-base-designs-2026",className:"text-primary hover:underline",children:"Best Survival Base Designs 2026"})," – Incorporate oval shapes into your base"]})]})]})]})})})})},DP=t=>{const{size:r,renderStyle:s,borderStyle:n,orientation:i}=t,a=i==="flat"?r*2:Math.ceil(r*Math.sqrt(3)),o=i==="flat"?Math.ceil(r*Math.sqrt(3)):r*2,l=[];let c=0;const d=a/2,j=o/2;for(let m=0;m<o;m++){l[m]=[];for(let b=0;b<a;b++){const g=b+.5-d,y=m+.5-j;let h=!1;if(i==="flat"){const v=.6666666666666666*g/(r/2),x=(-1/3*g+Math.sqrt(3)/3*y)/(r/2),u=-v-x,w=Math.max(Math.abs(v),Math.abs(x),Math.abs(u));if(s==="filled")h=w<=1;else{const N=n==="thick"?.15:.08;h=w<=1&&w>=1-N}}else{const v=(Math.sqrt(3)/3*g-.3333333333333333*y)/(r/2),x=2/3*y/(r/2),u=-v-x,w=Math.max(Math.abs(v),Math.abs(x),Math.abs(u));if(s==="filled")h=w<=1;else{const N=n==="thick"?.15:.08;h=w<=1&&w>=1-N}}l[m][b]=h,h&&c++}}return{grid:l,blockCount:c,width:a,height:o}},IP=()=>{const[t,r]=f.useState({size:15,renderStyle:"border",borderStyle:"thick",scale:1,showGrid:!0,orientation:"flat"}),s=f.useMemo(()=>DP(t),[t]),n=f.useCallback(g=>{r(y=>({...y,...g}))},[]),i=f.useCallback(g=>{n({size:Math.max(5,Math.min(100,g))})},[n]),a=f.useCallback(g=>{n({renderStyle:g})},[n]),o=f.useCallback(g=>{n({borderStyle:g})},[n]),l=f.useCallback(g=>{n({scale:Math.max(.5,Math.min(3,g))})},[n]),c=f.useCallback(g=>{n({showGrid:g})},[n]),d=f.useCallback(g=>{n({orientation:g})},[n]),j=f.useCallback(()=>{r({size:15,renderStyle:"border",borderStyle:"thick",scale:1,showGrid:!0,orientation:"flat"})},[]),m=f.useCallback(()=>{const{grid:g,width:y,height:h}=s,v=20,x=document.createElement("canvas");x.width=y*v,x.height=h*v;const u=x.getContext("2d");if(!u)return;u.fillStyle="#f5f5f5",u.fillRect(0,0,x.width,x.height);for(let N=0;N<h;N++)for(let k=0;k<y;k++)g[N][k]?(u.fillStyle="#7c594a",u.fillRect(k*v,N*v,v,v),u.strokeStyle="#5c453a",u.lineWidth=1,u.strokeRect(k*v,N*v,v,v)):(u.strokeStyle="#ddd",u.lineWidth=.5,u.strokeRect(k*v,N*v,v,v));const w=document.createElement("a");w.download=`minecraft-hexagon-${t.size}.png`,w.href=x.toDataURL("image/png"),w.click()},[s,t.size]),b=f.useCallback(()=>{const{grid:g,width:y,height:h}=s,v=20;let x=`<svg xmlns="http://www.w3.org/2000/svg" width="${y*v}" height="${h*v}" viewBox="0 0 ${y*v} ${h*v}">`;x+='<rect width="100%" height="100%" fill="#f5f5f5"/>';for(let N=0;N<h;N++)for(let k=0;k<y;k++)g[N][k]?x+=`<rect x="${k*v}" y="${N*v}" width="${v}" height="${v}" fill="#7c594a" stroke="#5c453a" stroke-width="1"/>`:x+=`<rect x="${k*v}" y="${N*v}" width="${v}" height="${v}" fill="none" stroke="#ddd" stroke-width="0.5"/>`;x+="</svg>";const u=new Blob([x],{type:"image/svg+xml"}),w=document.createElement("a");w.download=`minecraft-hexagon-${t.size}.svg`,w.href=URL.createObjectURL(u),w.click()},[s,t.size]);return{settings:t,hexagonData:s,setSize:i,setRenderStyle:a,setBorderStyle:o,setScale:l,setShowGrid:c,setOrientation:d,reset:j,downloadPNG:m,downloadSVG:b}},FP=()=>{const{t}=lt(),r=f.useRef(null),{settings:s,hexagonData:n,setSize:i,setRenderStyle:a,setBorderStyle:o,setScale:l,setShowGrid:c,setOrientation:d,reset:j,downloadPNG:m,downloadSVG:b}=IP(),g=Math.max(8,Math.min(30,400/Math.max(n.width,n.height)))*s.scale;return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[300px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(Vt,{className:"h-5 w-5"}),t("hexagon.title")||"Hexagon Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("hexagon.size")||"Size"}),e.jsx(Le,{type:"number",min:5,max:100,value:s.size,onChange:y=>i(parseInt(y.target.value)||5)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("hexagon.orientation")||"Orientation"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.orientation==="flat"?"default":"outline",size:"sm",onClick:()=>d("flat"),className:"flex-1 min-w-0 truncate",children:t("hexagon.flat")||"Flat Top"}),e.jsx(O,{variant:s.orientation==="pointy"?"default":"outline",size:"sm",onClick:()=>d("pointy"),className:"flex-1 min-w-0 truncate",children:t("hexagon.pointy")||"Pointy Top"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.render")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.renderStyle==="border"?"default":"outline",size:"sm",onClick:()=>a("border"),className:"flex-1 min-w-0 truncate",children:t("generator.border")}),e.jsx(O,{variant:s.renderStyle==="filled"?"default":"outline",size:"sm",onClick:()=>a("filled"),className:"flex-1 min-w-0 truncate",children:t("generator.filled")})]})]}),s.renderStyle==="border"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.borderStyle==="thick"?"default":"outline",size:"sm",onClick:()=>o("thick"),className:"flex-1 min-w-0 truncate",children:t("generator.thick")}),e.jsx(O,{variant:s.borderStyle==="thin"?"default":"outline",size:"sm",onClick:()=>o("thin"),className:"flex-1 min-w-0 truncate",children:t("generator.thin")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("generator.scale"),": ",s.scale.toFixed(1),"x"]}),e.jsx(xt,{value:[s.scale],onValueChange:([y])=>l(y),min:.5,max:2,step:.1})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:t("generator.showGrid")}),e.jsx(hr,{checked:s.showGrid,onCheckedChange:c})]}),e.jsxs("div",{className:"rounded-lg bg-muted p-4 space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.blocks"),":"]}),e.jsx("span",{className:"font-semibold",children:n.blockCount})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks64"),":"]}),e.jsx("span",{className:"font-semibold",children:(n.blockCount/64).toFixed(1)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:m,className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadPng")]}),e.jsxs(O,{onClick:b,variant:"outline",className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadSvg")]}),e.jsxs(O,{onClick:j,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"Hexagon Generator",storageKey:"hexagon-generator"}),e.jsx(Te,{title:"Check out this Minecraft Hexagon Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsx(G,{className:"p-4 md:p-6",children:e.jsx("div",{className:"overflow-auto rounded-lg bg-muted/50 p-2 md:p-4 generator-grid-container",style:{maxHeight:"60vh"},children:e.jsx("div",{ref:r,className:"inline-grid mx-auto generator-grid",style:{gridTemplateColumns:`repeat(${n.width}, ${g}px)`,gap:s.showGrid?"1px":"0px"},children:n.grid.map((y,h)=>y.map((v,x)=>e.jsx("div",{className:`transition-colors ${v?"bg-amber-700 border border-amber-900":"grid-block-empty"}`,style:{width:g,height:g}},`${x}-${h}`)))})})})})]})},LP=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Set Size",text:"Enter the radius of your hexagon in blocks (5-50). The total width will be approximately double the size."},{name:"Choose Orientation",text:"Select flat-top for horizontal patterns or pointy-top for vertical emphasis."},{name:"Select Style",text:"Choose border only for outlines or filled for solid hexagons."},{name:"Preview Pattern",text:"View the pixel pattern in the preview area. Enable grid lines for easier counting."},{name:"Download & Build",text:"Download the pattern as PNG or SVG and use it as a building guide in Minecraft."}],s=[{question:"What are hexagons used for in Minecraft?",answer:"Hexagons are perfect for honeycomb patterns, beehive builds, unique tower bases, floor tiles, and futuristic sci-fi structures."},{question:"What is the difference between flat-top and pointy-top?",answer:"Flat-top hexagons have horizontal edges at top and bottom, ideal for floors. Pointy-top hexagons have vertices at top and bottom, better for towers."},{question:"How do I create a honeycomb pattern?",answer:"Generate multiple hexagons of the same size and arrange them in a tessellating pattern. Use alternating colors for a realistic honeycomb look."}];return e.jsx(se,{title:"Minecraft Hexagon Generator - Free Pixel Hexagon Builder Tool",description:"Create perfect pixel hexagons for your Minecraft builds. Free online Minecraft hexagon generator with flat-top and pointy-top orientations. Build honeycomb patterns easily.",canonicalPath:"/hexagon-generator",type:"WebApplication",keywords:"minecraft hexagon generator, pixel hexagon maker, honeycomb pattern minecraft, six sided shape minecraft, hexagonal building, minecraft building, minecraft creative mode, minecraft survival, minecraft server, modded minecraft",howToSteps:r,howToName:"How to Build Hexagons in Minecraft",howToDescription:"Step-by-step guide to creating pixel-perfect hexagons and honeycomb patterns for Minecraft builds.",faqs:s,breadcrumbs:[...t,{name:"Hexagon Generator",url:"/hexagon-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Hexagon Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft Hexagon Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Create ",e.jsx("strong",{children:"pixel-perfect hexagons"})," for your ",e.jsx("strong",{children:"Minecraft builds"}),". Choose between flat-top and pointy-top orientations for various architectural styles."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(FP,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Build Hexagons in Minecraft"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Hexagonal structures"})," add unique visual interest to Minecraft builds. Our ",e.jsx("strong",{children:"Minecraft hexagon generator"})," helps you plan these six-sided shapes with pixel-perfect accuracy. Hexagons are one of the most efficient shapes in nature, used by bees for honeycombs, and they look stunning in Minecraft architecture."]}),e.jsx("h3",{children:"Great Uses for Hexagons in Minecraft:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Bee-themed Builds"})," – Create realistic honeycomb patterns and beehive structures for your bee farms"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floor Patterns"})," – Design unique hexagonal tile patterns for modern or futuristic builds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tower Bases"})," – Build hexagonal tower foundations for a unique silhouette"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Garden Designs"})," – Plan hexagonal garden beds and pathways"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Sci-Fi Structures"})," – Create futuristic hexagonal architecture and space stations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Medieval Shields"})," – Design hexagonal shield patterns on castle walls"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Stained Glass Windows"})," – Build beautiful hexagonal window designs"]})]}),e.jsx("h3",{children:"Flat-Top vs Pointy-Top Hexagons"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Flat-top hexagons"})," have a flat edge at the top and bottom, making them ideal for horizontal patterns like floors and ceilings. ",e.jsx("strong",{children:"Pointy-top hexagons"})," have vertices at the top and bottom, perfect for vertical emphasis, tower designs, and creating a more dynamic look."]}),e.jsx("h3",{children:"Building Tips for Hexagonal Structures"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Start from the center and work outward for symmetrical builds"}),e.jsx("li",{children:"Use different block types to highlight the hexagonal shape"}),e.jsx("li",{children:"Combine multiple hexagons to create honeycomb patterns"}),e.jsx("li",{children:"Consider using stairs and slabs for smoother diagonal edges"})]}),e.jsx("h3",{children:"Related Minecraft Shape Generators"}),e.jsxs("p",{children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft building tools"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Create perfect circles and ovals"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Build ellipses for stadiums and pools"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Design pyramids and roof shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Create rhombus patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," – Build spiral stairs layer by layer"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Construct domes and spheres"]})]}),e.jsx("h3",{children:"Recommended Building Guides"}),e.jsxs("p",{children:["Take your hexagonal builds to the next level with our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"tutorials"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/blog/geometric-patterns-guide",className:"text-primary hover:underline",children:"Geometric Patterns Guide"})," – Master hexagonal tessellation and complex patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/modern-architecture-guide",className:"text-primary hover:underline",children:"Modern Architecture in Minecraft"})," – Use hexagons in futuristic and sci-fi builds"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"Pixel Art Guide"})," – Create hexagonal pixel art designs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline",children:"Dome Building Guide"})," – Combine hexagons with dome structures"]})]}),e.jsx("h3",{children:"Works With All Minecraft Editions"}),e.jsxs("p",{children:["Our hexagon generator works with ",e.jsx("strong",{children:"Minecraft Java Edition"}),", ",e.jsx("strong",{children:"Minecraft Bedrock Edition PC"}),",",e.jsx("strong",{children:" Minecraft Pocket Edition"}),", and ",e.jsx("strong",{children:"Minecraft Education Edition"}),". Perfect for builds on",e.jsx("strong",{children:" Minecraft servers"})," like ",e.jsx("strong",{children:"Hypixel"}),", ",e.jsx("strong",{children:"Skyblock Minecraft"})," islands, and ",e.jsx("strong",{children:"modded Minecraft"})," packs from ",e.jsx("strong",{children:"CurseForge"}),". Use in ",e.jsx("strong",{children:"Minecraft creative mode"})," for design planning or ",e.jsx("strong",{children:"Minecraft survival"})," for efficient resource gathering."]}),e.jsx("h3",{children:"Hexagon Size Guide"}),e.jsx("p",{children:"The size setting determines the radius of your hexagon. A size of 10 creates a hexagon approximately 20 blocks wide. For honeycomb patterns, sizes between 5-15 work best. Larger hexagons (20+) are ideal for building foundations and large floor patterns."})]})]})})})},OP=t=>{const{radius:r,totalRotation:s,stepsPerRotation:n,stepHeight:i,direction:a}=t,o=[],l=new Map,c=Math.ceil(s/360*n),d=(a==="clockwise"?-1:1)*(360/n),j=r*2+3,m=Math.floor(j/2);for(let b=0;b<c;b++){const g=b*d,y=g*Math.PI/180,h=Math.round(m+r*Math.cos(y)),v=Math.round(m+r*Math.sin(y)),x=b*i,u=x;o.push({x:h,y:v,z:x,layer:u,angle:g}),l.has(u)||l.set(u,[]),l.get(u).push({x:h,y:v})}return{steps:o,layers:l,gridSize:j,totalSteps:c,totalHeight:c*i}},zP=()=>{const[t,r]=f.useState({radius:5,totalRotation:360,stepsPerRotation:16,stepHeight:1,direction:"counterclockwise",scale:1}),[s,n]=f.useState(0),i=f.useMemo(()=>OP(t),[t]),a=f.useCallback(y=>{r(h=>({...h,...y}))},[]),o=f.useCallback(y=>{a({radius:Math.max(2,Math.min(30,y))})},[a]),l=f.useCallback(y=>{a({totalRotation:Math.max(90,Math.min(1440,y))})},[a]),c=f.useCallback(y=>{a({stepsPerRotation:Math.max(4,Math.min(32,y))})},[a]),d=f.useCallback(y=>{a({stepHeight:Math.max(1,Math.min(3,y))})},[a]),j=f.useCallback(y=>{a({direction:y})},[a]),m=f.useCallback(y=>{a({scale:Math.max(.5,Math.min(3,y))})},[a]),b=f.useCallback(()=>{r({radius:5,totalRotation:360,stepsPerRotation:16,stepHeight:1,direction:"counterclockwise",scale:1}),n(0)},[]),g=f.useCallback(()=>{const{gridSize:y,layers:h}=i,v=20,x=document.createElement("canvas");x.width=y*v,x.height=y*v;const u=x.getContext("2d");if(!u)return;u.fillStyle="#f5f5f5",u.fillRect(0,0,x.width,x.height);for(let k=0;k<y;k++)for(let M=0;M<y;M++)u.strokeStyle="#ddd",u.lineWidth=.5,u.strokeRect(M*v,k*v,v,v);const w=h.get(s);w&&w.forEach(({x:k,y:M})=>{u.fillStyle="#594a7c",u.fillRect(k*v,M*v,v,v),u.strokeStyle="#453a5c",u.lineWidth=1,u.strokeRect(k*v,M*v,v,v)});const N=document.createElement("a");N.download=`minecraft-spiral-layer-${s}.png`,N.href=x.toDataURL("image/png"),N.click()},[i,s]);return{settings:t,spiralData:i,currentLayer:s,setCurrentLayer:n,setRadius:o,setTotalRotation:l,setStepsPerRotation:c,setStepHeight:d,setDirection:j,setScale:m,reset:b,downloadPNG:g}},HP=()=>{var y;const{t}=lt(),{settings:r,spiralData:s,currentLayer:n,setCurrentLayer:i,setRadius:a,setTotalRotation:o,setStepsPerRotation:l,setStepHeight:c,setDirection:d,setScale:j,reset:m,downloadPNG:b}=zP(),g=Math.max(12,Math.min(30,400/s.gridSize))*r.scale;return Array.from(s.layers.keys()).sort((h,v)=>h-v),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[300px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(mr,{className:"h-5 w-5"}),t("spiral.title")||"Spiral Staircase Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("spiral.radius")||"Radius"}),e.jsx(Le,{type:"number",min:2,max:30,value:r.radius,onChange:h=>a(parseInt(h.target.value)||2)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("spiral.rotation")||"Total Rotation (degrees)"}),e.jsx(Le,{type:"number",min:90,max:1440,step:90,value:r.totalRotation,onChange:h=>o(parseInt(h.target.value)||360)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("spiral.stepsPerRotation")||"Steps per 360°"}),e.jsx(xt,{value:[r.stepsPerRotation],onValueChange:([h])=>l(h),min:4,max:32,step:1}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:[r.stepsPerRotation," steps"]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("spiral.stepHeight")||"Step Height"}),e.jsx("div",{className:"flex gap-2",children:[1,2,3].map(h=>e.jsxs(O,{variant:r.stepHeight===h?"default":"outline",size:"sm",onClick:()=>c(h),className:"flex-1 min-w-0 truncate",children:[h," block",h>1?"s":""]},h))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("spiral.direction")||"Direction"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:r.direction==="counterclockwise"?"default":"outline",size:"sm",onClick:()=>d("counterclockwise"),className:"flex-1 min-w-0 truncate",children:"↺ CCW"}),e.jsx(O,{variant:r.direction==="clockwise"?"default":"outline",size:"sm",onClick:()=>d("clockwise"),className:"flex-1 min-w-0 truncate",children:"↻ CW"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("generator.scale"),": ",r.scale.toFixed(1),"x"]}),e.jsx(xt,{value:[r.scale],onValueChange:([h])=>j(h),min:.5,max:2,step:.1})]}),e.jsxs("div",{className:"rounded-lg bg-muted p-4 space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("spiral.totalSteps")||"Total Steps",":"]}),e.jsx("span",{className:"font-semibold",children:s.totalSteps})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("spiral.totalHeight")||"Total Height",":"]}),e.jsxs("span",{className:"font-semibold",children:[s.totalHeight," blocks"]})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks64"),":"]}),e.jsx("span",{className:"font-semibold",children:(s.totalSteps/64).toFixed(1)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:b,className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("spiral.downloadLayer")||"Download Layer PNG"]}),e.jsxs(O,{onClick:m,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"Spiral Staircase Generator",storageKey:"spiral-staircase-generator"}),e.jsx(Te,{title:"Check out this Minecraft Spiral Staircase Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsxs(G,{className:"p-4 md:p-6",children:[e.jsxs("div",{className:"flex items-center justify-center gap-2 md:gap-4 mb-4",children:[e.jsx(O,{variant:"outline",size:"icon",onClick:()=>i(Math.max(0,n-r.stepHeight)),disabled:n<=0,children:e.jsx(Aj,{className:"h-4 w-4"})}),e.jsxs("span",{className:"text-sm md:text-lg font-semibold min-w-[100px] md:min-w-[150px] text-center",children:["Y=",n," / ",s.totalHeight]}),e.jsx(O,{variant:"outline",size:"icon",onClick:()=>i(Math.min(s.totalHeight-1,n+r.stepHeight)),disabled:n>=s.totalHeight-1,children:e.jsx(fi,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"overflow-auto rounded-lg bg-muted/50 p-2 md:p-4 generator-grid-container",style:{maxHeight:"55vh"},children:e.jsx("div",{className:"inline-grid mx-auto generator-grid",style:{gridTemplateColumns:`repeat(${s.gridSize}, ${g}px)`,gap:"1px"},children:Array.from({length:s.gridSize}).map((h,v)=>Array.from({length:s.gridSize}).map((x,u)=>{const N=(s.layers.get(n)||[]).some(C=>C.x===u&&C.y===v),k=Math.floor(s.gridSize/2),M=u===k&&v===k;return e.jsx("div",{className:`transition-colors ${N?"bg-purple-600 border border-purple-800":M?"bg-yellow-500/30 border border-yellow-600":"grid-block-empty"}`,style:{width:g,height:g}},`${u}-${v}`)}))})}),e.jsx("div",{className:"mt-4 text-center text-xs md:text-sm text-muted-foreground",children:e.jsxs("p",{children:["Blocks: ",((y=s.layers.get(n))==null?void 0:y.length)||0," | Build Y=0 → Y=",s.totalHeight-1]})})]})})]})},qP=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Set Radius",text:"Choose the radius of your spiral staircase (2-30 blocks). Larger radius creates wider, sweeping curves."},{name:"Set Rotation",text:"Enter total rotation in degrees (90°-1440°). 360° equals one full spiral rotation."},{name:"Configure Steps",text:"Set steps per 360° rotation and step height for your desired steepness."},{name:"Choose Direction",text:"Select clockwise or counter-clockwise rotation for your staircase."},{name:"Build Layer by Layer",text:"Navigate through each layer and place blocks according to the pattern shown."}],s=[{question:"How do I build a spiral staircase in Minecraft?",answer:"Use our generator to create layer-by-layer instructions. Start from the bottom layer and place blocks according to the pattern, working your way up."},{question:"What radius should I use for a tower?",answer:"For tight tower staircases, use radius 3-4. Standard castle stairs work well with 5-7. Grand staircases look best at 8-12 radius."},{question:"Can I use actual stair blocks?",answer:"Yes! The generator shows block positions. Use Minecraft stair blocks oriented to face the direction of travel for a smoother climb."}];return e.jsx(se,{title:"Minecraft Spiral Staircase Generator - Layer by Layer Builder Guide",description:"Create perfect spiral staircases for Minecraft with layer-by-layer instructions. Customize radius, rotation, step height, and direction for your builds.",canonicalPath:"/spiral-staircase-generator",type:"WebApplication",keywords:"minecraft spiral staircase generator, spiral stairs minecraft, tower staircase builder, layer by layer stairs, minecraft tower interior, minecraft building, minecraft creative mode, minecraft server, minecraft survival, hypixel",howToSteps:r,howToName:"How to Build Spiral Staircases in Minecraft",howToDescription:"Step-by-step guide to creating perfect spiral staircases for towers, castles, and modern builds in Minecraft.",faqs:s,breadcrumbs:[...t,{name:"Spiral Staircase Generator",url:"/spiral-staircase-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Spiral Staircase Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft Spiral Staircase Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Build beautiful ",e.jsx("strong",{children:"spiral staircases in Minecraft"})," with our layer-by-layer guide. Customize radius, rotation, and direction for perfect results."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(HP,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Build Spiral Staircases in Minecraft"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Spiral staircases"})," are one of the most impressive architectural features in Minecraft, but they can be tricky to build correctly. Our ",e.jsx("strong",{children:"Minecraft spiral staircase generator"})," shows you exactly where to place each block, layer by layer, eliminating guesswork and ensuring perfect results every time."]}),e.jsx("h3",{children:"Customization Options Explained:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Radius (2-30 blocks)"})," – Controls how wide your staircase spirals. Smaller radius = tighter spiral, larger = sweeping curves"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Total Rotation (90°-1440°)"})," – How many degrees the staircase turns. 360° = one full rotation, 720° = two rotations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Steps per 360°"})," – How many steps in one full rotation. More steps = gentler slope, fewer steps = steeper climb"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Step Height (1-3 blocks)"})," – Rise per step. 1 block is standard, 2-3 for faster climbing or dramatic effect"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Direction"})," – Clockwise (↻) or counter-clockwise (↺) rotation"]})]}),e.jsx("h3",{children:"Perfect for These Minecraft Builds:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Castle Towers"})," – Classic medieval spiral staircases inside round towers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Lighthouses"})," – Tall spiral staircases leading to the light room"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Modern Homes"})," – Stylish interior spiral stairs as a centerpiece"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Underground Bases"})," – Descending spiral access to secret bunkers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tree Houses"})," – Spiral stairs around large tree trunks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Clock Towers"})," – Access to the clock mechanism at the top"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wizard Towers"})," – Magical spiral staircases in fantasy builds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mineshaft Entrances"})," – Stylish access to deep mining operations"]})]}),e.jsx("h3",{children:"Building Tips for Spiral Staircases"}),e.jsxs("ol",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Start from the bottom"})," – Begin at Y=0 (layer 1) and work your way up"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mark the center"})," – The yellow-highlighted center block helps maintain alignment"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use the layer navigator"})," – Click through layers to see exactly where each step goes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Add a central column"})," – Consider adding a pole or pillar in the center for support and aesthetics"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use stair blocks"})," – Minecraft stair blocks oriented correctly make climbing smoother"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Add railings"})," – Fences or walls along the outer edge prevent falls"]})]}),e.jsx("h3",{children:"Recommended Settings by Build Type"}),e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"text-left",children:"Build Type"}),e.jsx("th",{className:"text-left",children:"Radius"}),e.jsx("th",{className:"text-left",children:"Steps/360°"}),e.jsx("th",{className:"text-left",children:"Step Height"})]})}),e.jsxs("tbody",{children:[e.jsxs("tr",{children:[e.jsx("td",{children:"Tight tower"}),e.jsx("td",{children:"3-4"}),e.jsx("td",{children:"8-12"}),e.jsx("td",{children:"1"})]}),e.jsxs("tr",{children:[e.jsx("td",{children:"Standard castle"}),e.jsx("td",{children:"5-7"}),e.jsx("td",{children:"12-16"}),e.jsx("td",{children:"1"})]}),e.jsxs("tr",{children:[e.jsx("td",{children:"Grand staircase"}),e.jsx("td",{children:"8-12"}),e.jsx("td",{children:"16-24"}),e.jsx("td",{children:"1"})]}),e.jsxs("tr",{children:[e.jsx("td",{children:"Lighthouse"}),e.jsx("td",{children:"4-6"}),e.jsx("td",{children:"12-16"}),e.jsx("td",{children:"1"})]}),e.jsxs("tr",{children:[e.jsx("td",{children:"Modern interior"}),e.jsx("td",{children:"6-10"}),e.jsx("td",{children:"16-20"}),e.jsx("td",{children:"1"})]})]})]}),e.jsx("h3",{children:"Stair Block Materials"}),e.jsxs("p",{children:["Best ",e.jsx("strong",{children:"Minecraft blocks"})," for spiral staircases:"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Stone variants"})," – Cobblestone, stone brick, polished for medieval builds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wood types"})," – Oak, spruce, dark oak for warm interiors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Quartz"})," – Clean, modern look for contemporary builds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Deepslate"})," – Dark, dramatic appearance for gothic styles"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Prismarine"})," – Underwater temple aesthetics"]})]}),e.jsx("h3",{children:"Related Minecraft Shape Generators"}),e.jsxs("p",{children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft building tools"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Create perfect circles for tower bases"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Build ellipses for unique staircases"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Design hexagonal tower bases"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Create roof shapes above your staircase"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Design floor patterns at landings"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Build domes at the top of towers"]})]}),e.jsx("h3",{children:"Recommended Building Guides"}),e.jsxs("p",{children:["Level up your spiral staircase builds with our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"tutorials"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/blog/spiral-staircase-designs",className:"text-primary hover:underline",children:"Spiral Staircase Design Ideas"})," – 10 stunning designs from simple to epic"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:"Tower Designs Guide"})," – Build towers with integrated spiral staircases"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"Medieval Castles Guide"})," – Classic castle spiral staircases"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline",children:"How to Build Perfect Circles"})," – Master circular tower bases"]})]}),e.jsx("h3",{children:"Need Help?"}),e.jsxs("p",{children:["Check our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," for common questions or ",e.jsx(p,{to:"/contact",className:"text-primary hover:underline",children:"contact us"})," for assistance."]})]})]})})})},_P=(t,r,s,n)=>{const i=r/2,a=i,o=t+.5-a,l=i*i-o*o;if(l<=0)return{layer:t,y:t,grid:[],blockCount:0,diameter:0};const c=Math.sqrt(l),d=Math.ceil(c*2),j=r,m=[];let b=0;const g=j/2,y=j/2;for(let h=0;h<j;h++){m[h]=[];for(let v=0;v<j;v++){const x=v+.5-g,u=h+.5-y,w=x*x+o*o+u*u,N=Math.sqrt(w);let k=!1;if(s==="solid")k=N<=i;else{const M=i-n;k=N<=i&&N>=M}m[h][v]=k,k&&b++}}return{layer:t,y:t,grid:m,blockCount:b,diameter:d}},UP=t=>{const{diameter:r,renderStyle:s,wallThickness:n}=t,i=[];let a=0;for(let o=0;o<r;o++){const l=_P(o,r,s,n);l.blockCount>0&&(i.push(l),a+=l.blockCount)}return{layers:i,totalBlocks:a,diameter:r,height:r}},WP=()=>{const[t,r]=f.useState({diameter:15,renderStyle:"hollow",wallThickness:1,scale:1,showGrid:!0}),[s,n]=f.useState(0),i=f.useMemo(()=>UP(t),[t]),a=f.useCallback(y=>{r(h=>({...h,...y}))},[]),o=f.useCallback(y=>{a({diameter:Math.max(3,Math.min(100,y))})},[a]),l=f.useCallback(y=>{a({renderStyle:y})},[a]),c=f.useCallback(y=>{a({wallThickness:Math.max(1,Math.min(5,y))})},[a]),d=f.useCallback(y=>{a({scale:Math.max(.5,Math.min(3,y))})},[a]),j=f.useCallback(y=>{a({showGrid:y})},[a]),m=f.useCallback(()=>{r({diameter:15,renderStyle:"hollow",wallThickness:1,scale:1,showGrid:!0}),n(0)},[]),b=f.useCallback(()=>{var k;const y=i.layers[s];if(!y||y.grid.length===0)return;const{grid:h}=y,v=t.diameter,x=20,u=document.createElement("canvas");u.width=v*x,u.height=v*x;const w=u.getContext("2d");if(!w)return;w.fillStyle="#f5f5f5",w.fillRect(0,0,u.width,u.height);for(let M=0;M<v;M++)for(let C=0;C<v;C++)(k=h[M])!=null&&k[C]?(w.fillStyle="#4a597c",w.fillRect(C*x,M*x,x,x),w.strokeStyle="#3a455c",w.lineWidth=1,w.strokeRect(C*x,M*x,x,x)):(w.strokeStyle="#ddd",w.lineWidth=.5,w.strokeRect(C*x,M*x,x,x));w.fillStyle="#000",w.font="bold 16px Arial",w.fillText(`Layer ${y.y+1} of ${t.diameter}`,10,25),w.fillText(`Blocks: ${y.blockCount}`,10,45);const N=document.createElement("a");N.download=`minecraft-sphere-layer-${y.y+1}.png`,N.href=u.toDataURL("image/png"),N.click()},[i,s,t.diameter]),g=f.useCallback(()=>{i.layers.forEach((y,h)=>{var k;if(y.grid.length===0)return;const{grid:v}=y,x=t.diameter,u=20,w=document.createElement("canvas");w.width=x*u,w.height=x*u+60;const N=w.getContext("2d");if(N){N.fillStyle="#f5f5f5",N.fillRect(0,0,w.width,w.height),N.fillStyle="#000",N.font="bold 16px Arial",N.fillText(`Layer ${y.y+1} of ${t.diameter}`,10,25),N.fillText(`Blocks: ${y.blockCount}`,10,45);for(let M=0;M<x;M++)for(let C=0;C<x;C++)(k=v[M])!=null&&k[C]?(N.fillStyle="#4a597c",N.fillRect(C*u,M*u+60,u,u),N.strokeStyle="#3a455c",N.lineWidth=1,N.strokeRect(C*u,M*u+60,u,u)):(N.strokeStyle="#ddd",N.lineWidth=.5,N.strokeRect(C*u,M*u+60,u,u));setTimeout(()=>{const M=document.createElement("a");M.download=`minecraft-sphere-layer-${String(y.y+1).padStart(2,"0")}.png`,M.href=w.toDataURL("image/png"),M.click()},h*100)}})},[i,t.diameter]);return{settings:t,sphereData:i,currentLayer:s,setCurrentLayer:n,setDiameter:o,setRenderStyle:l,setWallThickness:c,setScale:d,setShowGrid:j,reset:m,downloadLayerPNG:b,downloadAllLayersPNG:g}},$P=()=>{const{t}=lt(),{settings:r,sphereData:s,currentLayer:n,setCurrentLayer:i,setDiameter:a,setRenderStyle:o,setWallThickness:l,setScale:c,setShowGrid:d,reset:j,downloadLayerPNG:m,downloadAllLayersPNG:b}=WP(),g=s.layers[n],y=r.diameter,h=Math.max(8,Math.min(30,400/y))*r.scale;return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[300px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(Dt,{className:"h-5 w-5"}),t("sphere.title")||"3D Sphere Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("sphere.diameter")||"Diameter"}),e.jsx(Le,{type:"number",min:3,max:100,value:r.diameter,onChange:v=>a(parseInt(v.target.value)||3)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("sphere.style")||"Style"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:r.renderStyle==="hollow"?"default":"outline",size:"sm",onClick:()=>o("hollow"),className:"flex-1 min-w-0 truncate",children:t("sphere.hollow")||"Hollow (Dome)"}),e.jsx(O,{variant:r.renderStyle==="solid"?"default":"outline",size:"sm",onClick:()=>o("solid"),className:"flex-1 min-w-0 truncate",children:t("sphere.solid")||"Solid"})]})]}),r.renderStyle==="hollow"&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("sphere.wallThickness")||"Wall Thickness",": ",r.wallThickness]}),e.jsx(xt,{value:[r.wallThickness],onValueChange:([v])=>l(v),min:1,max:5,step:1})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("generator.scale"),": ",r.scale.toFixed(1),"x"]}),e.jsx(xt,{value:[r.scale],onValueChange:([v])=>c(v),min:.5,max:2,step:.1})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:t("generator.showGrid")}),e.jsx(hr,{checked:r.showGrid,onCheckedChange:d})]}),e.jsxs("div",{className:"rounded-lg bg-muted p-4 space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("sphere.totalBlocks")||"Total Blocks",":"]}),e.jsx("span",{className:"font-semibold",children:s.totalBlocks})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("sphere.layers")||"Layers",":"]}),e.jsx("span",{className:"font-semibold",children:s.layers.length})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks64"),":"]}),e.jsx("span",{className:"font-semibold",children:(s.totalBlocks/64).toFixed(1)})]}),g&&e.jsxs("div",{className:"flex justify-between text-sm border-t pt-2 mt-2",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("sphere.layerBlocks")||"This Layer",":"]}),e.jsxs("span",{className:"font-semibold",children:[g.blockCount," blocks"]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:m,className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("sphere.downloadLayer")||"Download This Layer"]}),e.jsxs(O,{onClick:b,variant:"outline",className:"w-full gap-2",children:[e.jsx(Dj,{className:"h-4 w-4"}),t("sphere.downloadAll")||"Download All Layers"]}),e.jsxs(O,{onClick:j,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"3D Sphere Generator",storageKey:"sphere-generator"}),e.jsx(Te,{title:"Check out this Minecraft 3D Sphere Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsxs(G,{className:"p-4 md:p-6",children:[e.jsxs("div",{className:"flex items-center justify-center gap-2 md:gap-4 mb-4",children:[e.jsx(O,{variant:"outline",size:"icon",onClick:()=>i(Math.max(0,n-1)),disabled:n<=0,children:e.jsx(Aj,{className:"h-4 w-4"})}),e.jsxs("span",{className:"text-sm md:text-lg font-semibold min-w-[120px] md:min-w-[200px] text-center",children:["Layer ",n+1," / ",s.layers.length]}),e.jsx(O,{variant:"outline",size:"icon",onClick:()=>i(Math.min(s.layers.length-1,n+1)),disabled:n>=s.layers.length-1,children:e.jsx(fi,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"mb-4 px-2",children:e.jsx(xt,{value:[n],onValueChange:([v])=>i(v),min:0,max:Math.max(0,s.layers.length-1),step:1})}),e.jsx("div",{className:"overflow-auto rounded-lg bg-muted/50 p-2 md:p-4 generator-grid-container",style:{maxHeight:"50vh"},children:g&&g.grid.length>0?e.jsx("div",{className:"inline-grid mx-auto generator-grid",style:{gridTemplateColumns:`repeat(${y}, ${h}px)`,gap:r.showGrid?"1px":"0px"},children:g.grid.map((v,x)=>v.map((u,w)=>e.jsx("div",{className:`transition-colors ${u?"bg-blue-600 border border-blue-800":"grid-block-empty"}`,style:{width:h,height:h}},`${w}-${x}`)))}):e.jsx("div",{className:"flex items-center justify-center h-40 text-muted-foreground",children:"No blocks at this layer"})}),e.jsxs("div",{className:"mt-4 p-3 md:p-4 bg-muted rounded-lg",children:[e.jsx("h4",{className:"font-semibold mb-2 text-sm md:text-base",children:t("sphere.instructions")||"Building Instructions"}),e.jsxs("ul",{className:"text-xs md:text-sm text-muted-foreground space-y-1",children:[e.jsx("li",{children:"• Start from the bottom layer and work up"}),e.jsx("li",{children:"• Blue blocks = place blocks here"}),e.jsx("li",{children:"• Use slider to navigate layers"})]})]})]})})]})},VP=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Set Diameter",text:"Enter your desired sphere diameter in blocks (3-100). Larger spheres require more blocks."},{name:"Choose Render Style",text:"Select hollow for dome shells or solid for filled spheres."},{name:"Navigate Layers",text:"Use the layer navigator to view each horizontal slice of your sphere from bottom to top."},{name:"Build Layer by Layer",text:"Follow each layer pattern in Minecraft, building from the bottom layer upward."},{name:"Download Guide",text:"Download individual layers as PNG or all layers for offline reference."}],s=[{question:"How do I build a sphere in Minecraft?",answer:"Use our sphere generator to create layer-by-layer instructions. Build each horizontal layer from bottom to top following the block pattern shown."},{question:"What is the difference between hollow and solid spheres?",answer:"Hollow spheres create dome shells perfect for underwater bases and greenhouses. Solid spheres fill the entire interior with blocks."},{question:"Can I use this for domes?",answer:"Yes! A dome is simply the top half of a sphere. Build only the upper layers to create a dome structure."}];return e.jsx(e.Fragment,{children:e.jsx(se,{title:"Minecraft 3D Sphere Generator - Layer by Layer Dome Builder",description:"Create perfect 3D spheres and domes in Minecraft with layer-by-layer instructions. Hollow or solid spheres with downloadable building guides.",canonicalPath:"/sphere-generator",type:"WebApplication",keywords:"minecraft sphere generator, minecraft dome generator, 3d sphere minecraft, minecraft globe builder, layer by layer sphere, minecraft building, minecraft creative mode, minecraft survival, minecraft java, minecraft bedrock edition pc, minecraft server, hypixel, skyblock minecraft, modded minecraft",howToSteps:r,howToName:"How to Build a 3D Sphere in Minecraft",howToDescription:"Step-by-step guide to building perfect spheres and domes in Minecraft using layer-by-layer instructions.",faqs:s,breadcrumbs:[...t,{name:"3D Sphere Generator",url:"/sphere-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"3D Sphere Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft 3D Sphere Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Build ",e.jsx("strong",{children:"perfect spheres and domes in Minecraft"})," with our layer-by-layer guide. Create hollow domes or solid spheres with precise block placement."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx($P,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Build 3D Spheres in Minecraft"}),e.jsxs("p",{children:["Building a ",e.jsx("strong",{children:"perfect sphere in Minecraft"})," is challenging with cubic blocks. Our ",e.jsx("strong",{children:"3D sphere generator"})," breaks down the sphere into horizontal layers for easy ",e.jsx("strong",{children:"Minecraft building"}),". Works perfectly whether you ",e.jsx("strong",{children:"play Minecraft"})," in",e.jsx("strong",{children:" Minecraft creative mode"})," or ",e.jsx("strong",{children:"Minecraft survival"}),"."]}),e.jsx("h3",{children:"Popular Sphere Builds:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Glass Domes"})," – Underwater bases and greenhouses in your ",e.jsx("strong",{children:"Minecraft world"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Planet Builds"})," – Earth, Moon, or custom planets for ",e.jsx("strong",{children:"Minecraft servers"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Observatory Domes"})," – Astronomical observatories for ",e.jsx("strong",{children:"Skyblock Minecraft"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Sports Arenas"})," – Domed stadium roofs for ",e.jsx("strong",{children:"Minecraft PvP"})," and ",e.jsx("strong",{children:"Minecraft Bedwars"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pixelmon Gyms"})," – Spherical ",e.jsx("strong",{children:"Minecraft Pixelmon"})," battle arenas"]})]}),e.jsx("h3",{children:"Works With All Minecraft Editions"}),e.jsxs("p",{children:["Our sphere generator works with ",e.jsx("strong",{children:"Minecraft Java Edition"}),", ",e.jsx("strong",{children:"Minecraft Bedrock Edition PC"}),",",e.jsx("strong",{children:" Minecraft Pocket Edition"}),", and ",e.jsx("strong",{children:"Minecraft Education Edition"}),". Also compatible with",e.jsx("strong",{children:" modded Minecraft"})," including ",e.jsx("strong",{children:"CurseForge"})," mods, ",e.jsx("strong",{children:"RLCraft"}),", and ",e.jsx("strong",{children:"FTB Minecraft"})," packs. Popular on servers like ",e.jsx("strong",{children:"Hypixel"})," for building impressive structures."]}),e.jsx("h3",{children:"Related Tools"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – 2D circles for tower bases"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Ellipses for elongated domes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," – Add spiral stairs inside your domes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Create geodesic dome panels"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Triangular sections for geodesic domes"]})]}),e.jsx("h3",{children:"Recommended Building Guides"}),e.jsxs("p",{children:["Master dome and sphere building with our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"in-depth tutorials"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline",children:"Dome Building Guide"})," – Complete guide to building domes from simple to complex"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/underwater-bases-guide",className:"text-primary hover:underline",children:"Underwater Bases Guide"})," – Build glass sphere domes beneath the ocean"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline",children:"How to Build Perfect Circles"})," – Master the fundamentals of circular building"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/modern-architecture-guide",className:"text-primary hover:underline",children:"Modern Architecture Guide"})," – Use spheres in contemporary Minecraft designs"]})]})]})]})})})})},YP=t=>{const{base:r,height:s,renderStyle:n,borderStyle:i,orientation:a}=t;let o=r,l=s;(a==="left"||a==="right")&&(o=s,l=r);const c=[];let d=0;for(let j=0;j<l;j++){c[j]=[];for(let m=0;m<o;m++){let b=!1;if(a==="up"){const g=Math.round(r*(l-j)/l),y=Math.floor((r-g)/2),h=y+g;if(n==="filled")b=m>=y&&m<h;else{const v=i==="thick"?2:1,x=m>=y&&m<y+v,u=m>=h-v&&m<h,w=j<v&&m>=y&&m<h,N=j>=l-v;b=(x||u||N||w)&&m>=y&&m<h}}else if(a==="down"){const g=Math.round(r*(j+1)/l),y=Math.floor((r-g)/2),h=y+g;if(n==="filled")b=m>=y&&m<h;else{const v=i==="thick"?2:1,x=m>=y&&m<y+v,u=m>=h-v&&m<h,w=j<v,N=j>=l-v&&m>=y&&m<h;b=(x||u||w||N)&&m>=y&&m<h}}else if(a==="right"){const g=Math.round(o*(j+1)/l);if(n==="filled")b=m<g;else{const y=i==="thick"?2:1,h=j<y&&m<g,v=j>=l-y&&m<g,x=m>=g-y&&m<g,u=m<y;b=(h||v||x||u)&&m<g}}else if(a==="left"){const g=o-Math.round(o*(j+1)/l);if(n==="filled")b=m>=g;else{const y=i==="thick"?2:1,h=j<y&&m>=g,v=j>=l-y&&m>=g,x=m>=g&&m<g+y,u=m>=o-y;b=(h||v||x||u)&&m>=g}}c[j][m]=b,b&&d++}}return{grid:c,blockCount:d,width:o,height:l}},KP=()=>{const[t,r]=f.useState({base:15,height:12,renderStyle:"filled",borderStyle:"thick",orientation:"up",scale:1,showGrid:!0}),s=f.useMemo(()=>YP(t),[t]),n=f.useCallback(y=>{r(h=>({...h,...y}))},[]),i=f.useCallback(y=>{n({base:Math.max(3,Math.min(100,y))})},[n]),a=f.useCallback(y=>{n({height:Math.max(3,Math.min(100,y))})},[n]),o=f.useCallback(y=>{n({renderStyle:y})},[n]),l=f.useCallback(y=>{n({borderStyle:y})},[n]),c=f.useCallback(y=>{n({orientation:y})},[n]),d=f.useCallback(y=>{n({scale:Math.max(.5,Math.min(3,y))})},[n]),j=f.useCallback(y=>{n({showGrid:y})},[n]),m=f.useCallback(()=>{r({base:15,height:12,renderStyle:"filled",borderStyle:"thick",orientation:"up",scale:1,showGrid:!0})},[]),b=f.useCallback(()=>{const{grid:y,width:h,height:v}=s,x=20,u=document.createElement("canvas");u.width=h*x,u.height=v*x;const w=u.getContext("2d");if(!w)return;w.fillStyle="#f5f5f5",w.fillRect(0,0,u.width,u.height);for(let k=0;k<v;k++)for(let M=0;M<h;M++)y[k][M]?(w.fillStyle="#7c4a59",w.fillRect(M*x,k*x,x,x),w.strokeStyle="#5c3a45",w.lineWidth=1,w.strokeRect(M*x,k*x,x,x)):(w.strokeStyle="#ddd",w.lineWidth=.5,w.strokeRect(M*x,k*x,x,x));const N=document.createElement("a");N.download=`minecraft-triangle-${h}x${v}.png`,N.href=u.toDataURL("image/png"),N.click()},[s]),g=f.useCallback(()=>{const{grid:y,width:h,height:v}=s,x=20;let u=`<svg xmlns="http://www.w3.org/2000/svg" width="${h*x}" height="${v*x}" viewBox="0 0 ${h*x} ${v*x}">`;u+='<rect width="100%" height="100%" fill="#f5f5f5"/>';for(let k=0;k<v;k++)for(let M=0;M<h;M++)y[k][M]?u+=`<rect x="${M*x}" y="${k*x}" width="${x}" height="${x}" fill="#7c4a59" stroke="#5c3a45" stroke-width="1"/>`:u+=`<rect x="${M*x}" y="${k*x}" width="${x}" height="${x}" fill="none" stroke="#ddd" stroke-width="0.5"/>`;u+="</svg>";const w=new Blob([u],{type:"image/svg+xml"}),N=document.createElement("a");N.download=`minecraft-triangle-${h}x${v}.svg`,N.href=URL.createObjectURL(w),N.click()},[s]);return{settings:t,triangleData:s,setBase:i,setHeight:a,setRenderStyle:o,setBorderStyle:l,setOrientation:c,setScale:d,setShowGrid:j,reset:m,downloadPNG:b,downloadSVG:g}},QP=()=>{const{t}=lt(),r=f.useRef(null),{settings:s,triangleData:n,setBase:i,setHeight:a,setRenderStyle:o,setBorderStyle:l,setOrientation:c,setScale:d,setShowGrid:j,reset:m,downloadPNG:b,downloadSVG:g}=KP(),y=Math.max(8,Math.min(30,400/Math.max(n.width,n.height)))*s.scale;return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[300px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(Yt,{className:"h-5 w-5"}),"Triangle Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Base"}),e.jsx(Le,{type:"number",min:3,max:100,value:s.base,onChange:h=>i(parseInt(h.target.value)||3)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Height"}),e.jsx(Le,{type:"number",min:3,max:100,value:s.height,onChange:h=>a(parseInt(h.target.value)||3)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Orientation"}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsx(O,{variant:s.orientation==="up"?"default":"outline",size:"sm",onClick:()=>c("up"),className:"min-w-0 truncate",children:"▲ Up"}),e.jsx(O,{variant:s.orientation==="down"?"default":"outline",size:"sm",onClick:()=>c("down"),className:"min-w-0 truncate",children:"▼ Down"}),e.jsx(O,{variant:s.orientation==="left"?"default":"outline",size:"sm",onClick:()=>c("left"),className:"min-w-0 truncate",children:"◀ Left"}),e.jsx(O,{variant:s.orientation==="right"?"default":"outline",size:"sm",onClick:()=>c("right"),className:"min-w-0 truncate",children:"▶ Right"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.render")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.renderStyle==="border"?"default":"outline",size:"sm",onClick:()=>o("border"),className:"flex-1 min-w-0 truncate",children:t("generator.border")}),e.jsx(O,{variant:s.renderStyle==="filled"?"default":"outline",size:"sm",onClick:()=>o("filled"),className:"flex-1 min-w-0 truncate",children:t("generator.filled")})]})]}),s.renderStyle==="border"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.borderStyle==="thick"?"default":"outline",size:"sm",onClick:()=>l("thick"),className:"flex-1 min-w-0 truncate",children:t("generator.thick")}),e.jsx(O,{variant:s.borderStyle==="thin"?"default":"outline",size:"sm",onClick:()=>l("thin"),className:"flex-1 min-w-0 truncate",children:t("generator.thin")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("generator.scale"),": ",s.scale.toFixed(1),"x"]}),e.jsx(xt,{value:[s.scale],onValueChange:([h])=>d(h),min:.5,max:2,step:.1})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:t("generator.showGrid")}),e.jsx(hr,{checked:s.showGrid,onCheckedChange:j})]}),e.jsxs("div",{className:"rounded-lg bg-muted p-4 space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.blocks"),":"]}),e.jsx("span",{className:"font-semibold",children:n.blockCount})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks64"),":"]}),e.jsx("span",{className:"font-semibold",children:(n.blockCount/64).toFixed(1)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:b,className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadPng")]}),e.jsxs(O,{onClick:g,variant:"outline",className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadSvg")]}),e.jsxs(O,{onClick:m,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"Triangle Generator",storageKey:"triangle-generator"}),e.jsx(Te,{title:"Check out this Minecraft Triangle Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsx(G,{className:"p-4 md:p-6",children:e.jsx("div",{className:"overflow-auto rounded-lg bg-muted/50 p-2 md:p-4 generator-grid-container",style:{maxHeight:"60vh"},children:e.jsx("div",{ref:r,className:"inline-grid mx-auto generator-grid",style:{gridTemplateColumns:`repeat(${n.width}, ${y}px)`,gap:s.showGrid?"1px":"0px"},children:n.grid.map((h,v)=>h.map((x,u)=>e.jsx("div",{className:`transition-colors ${x?"bg-rose-600 border border-rose-800":"grid-block-empty"}`,style:{width:y,height:y}},`${u}-${v}`)))})})})})]})},XP=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Set Base Width",text:"Enter the width of your triangle base in blocks."},{name:"Set Height",text:"Enter the height of your triangle in blocks."},{name:"Choose Orientation",text:"Select from up, down, left, or right pointing triangles."},{name:"Select Style",text:"Choose border only for outlines or filled for solid triangles."},{name:"Download Pattern",text:"Download your triangle as PNG or SVG for building reference in Minecraft."}],s=[{question:"What are triangles used for in Minecraft?",answer:"Triangles are essential for roof designs, pyramids, arrow markers, mountain peaks, ship sails, and decorative patterns."},{question:"Which orientation should I use for roofs?",answer:"Use up-pointing triangles (▲) for standard A-frame roofs. The base width should match your building width."},{question:"How do I build a pyramid?",answer:"Use our triangle generator to plan each side, then build four triangles meeting at a central point in Minecraft."}];return e.jsx(se,{title:"Minecraft Triangle Generator - Free Pixel Triangle Builder Tool",description:"Create perfect pixel triangles for your Minecraft builds. Free online Minecraft triangle generator with 4 orientations (up, down, left, right) and PNG/SVG download.",canonicalPath:"/triangle-generator",type:"WebApplication",keywords:"minecraft triangle generator, pixel triangle maker, minecraft pyramid builder, roof design minecraft, triangle pattern generator, minecraft building, minecraft creative mode, minecraft server, minecraft survival",howToSteps:r,howToName:"How to Build Triangles in Minecraft",howToDescription:"Step-by-step guide to creating pixel-perfect triangles for roofs, pyramids, and decorative builds in Minecraft.",faqs:s,breadcrumbs:[...t,{name:"Triangle Generator",url:"/triangle-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Triangle Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft Triangle Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Create ",e.jsx("strong",{children:"pixel-perfect triangles"})," for your ",e.jsx("strong",{children:"Minecraft builds"}),". Choose from 4 orientations: up, down, left, or right pointing triangles."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(QP,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Build Triangles in Minecraft"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Triangular shapes"})," are essential for many Minecraft builds, from classic roof designs to Egyptian pyramids. Our ",e.jsx("strong",{children:"Minecraft triangle generator"})," helps you create mathematically precise triangles with different orientations for any building project."]}),e.jsx("h3",{children:"Perfect Uses for Triangles in Minecraft:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Roof Designs"})," – Create classic A-frame roofs, gables, and dormer windows"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pyramid Structures"})," – Build Egyptian-style pyramids or modern glass pyramids"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Arrow Markers"})," – Design directional signs, road indicators, and navigation aids"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Decorative Patterns"})," – Create geometric floor and wall patterns with triangular tiles"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mountain Peaks"})," – Shape natural-looking mountain formations and terrain"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ship Sails"})," – Build triangular sails for boats and ships"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pixel Art"})," – Create triangular elements in logos and designs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Medieval Banners"})," – Design pennant-style triangular flags"]})]}),e.jsx("h3",{children:"Triangle Orientation Options"}),e.jsxs("p",{children:["Our generator supports ",e.jsx("strong",{children:"four triangle orientations"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Up (▲)"})," – Point facing upward, perfect for roofs and mountains"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Down (▼)"})," – Point facing downward, ideal for stalactites and hanging decorations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Left (◀)"})," – Point facing left, great for directional arrows"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Right (▶)"})," – Point facing right, used for navigation markers"]})]}),e.jsx("h3",{children:"Building Tips for Triangular Structures"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Start from the base and work toward the point for easier construction"}),e.jsx("li",{children:"Use stairs and slabs to create smoother diagonal edges"}),e.jsx("li",{children:"For large triangles, build scaffolding first to ensure accuracy"}),e.jsx("li",{children:"Combine with other shapes for complex architectural designs"}),e.jsx("li",{children:"Mirror triangles to create diamond shapes or hourglasses"})]}),e.jsx("h3",{children:"Triangles vs Other Shapes"}),e.jsxs("p",{children:["While ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circles"})," are great for towers and domes, triangles excel at creating rooflines and angular structures. For four-sided angular shapes, try our ",e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"}),". For six-sided shapes, use the ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"}),"."]}),e.jsx("h3",{children:"Related Minecraft Shape Generators"}),e.jsxs("p",{children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft building tools"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Create perfect circles and ovals"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Build ellipses for stadiums and pools"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Design honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Create rhombus patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," – Build spiral stairs layer by layer"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Construct domes and spheres"]})]}),e.jsx("h3",{children:"Recommended Building Guides"}),e.jsxs("p",{children:["Learn to use triangles in real builds with our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"tutorials"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"Medieval Castles Guide"})," – Use triangles for castle roofs and tower tops"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:"Tower Designs with Spiral Staircases"})," – Add triangular roofs to your towers"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/bridge-building-guide",className:"text-primary hover:underline",children:"Bridge Building Guide"})," – Create triangular truss bridges"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/geometric-patterns-guide",className:"text-primary hover:underline",children:"Geometric Patterns Guide"})," – Combine triangles with other shapes"]})]}),e.jsx("h3",{children:"Common Questions"}),e.jsxs("p",{children:[e.jsx("strong",{children:"What size triangle should I use for a roof?"})," A good rule is to make the base equal to the width of your building and the height about 60-70% of the base for a classic roof pitch."]}),e.jsxs("p",{children:["Need more help? Visit our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," or",e.jsx(p,{to:"/contact",className:"text-primary hover:underline",children:" contact us"}),"."]})]})]})})})},JP=t=>{const{width:r,height:s,forceSquare:n,renderStyle:i,borderStyle:a}=t,o=n?r:s,l=[];let c=0;const d=r/2,j=o/2;for(let m=0;m<o;m++){l[m]=[];for(let b=0;b<r;b++){const g=Math.abs(b+.5-d)/(r/2),y=Math.abs(m+.5-j)/(o/2),h=g+y;let v=!1;if(i==="filled")v=h<=1;else{const x=a==="thick"?.2:.1;v=h<=1&&h>=1-x}l[m][b]=v,v&&c++}}return{grid:l,blockCount:c,width:r,height:o}},ZP=()=>{const[t,r]=f.useState({width:15,height:15,forceSquare:!0,renderStyle:"border",borderStyle:"thick",scale:1,showGrid:!0}),s=f.useMemo(()=>JP(t),[t]),n=f.useCallback(y=>{r(h=>({...h,...y}))},[]),i=f.useCallback(y=>{n({width:Math.max(3,Math.min(100,y))})},[n]),a=f.useCallback(y=>{n({height:Math.max(3,Math.min(100,y))})},[n]),o=f.useCallback(y=>{n({forceSquare:y})},[n]),l=f.useCallback(y=>{n({renderStyle:y})},[n]),c=f.useCallback(y=>{n({borderStyle:y})},[n]),d=f.useCallback(y=>{n({scale:Math.max(.5,Math.min(3,y))})},[n]),j=f.useCallback(y=>{n({showGrid:y})},[n]),m=f.useCallback(()=>{r({width:15,height:15,forceSquare:!0,renderStyle:"border",borderStyle:"thick",scale:1,showGrid:!0})},[]),b=f.useCallback(()=>{const{grid:y,width:h,height:v}=s,x=20,u=document.createElement("canvas");u.width=h*x,u.height=v*x;const w=u.getContext("2d");if(!w)return;w.fillStyle="#f5f5f5",w.fillRect(0,0,u.width,u.height);for(let k=0;k<v;k++)for(let M=0;M<h;M++)y[k][M]?(w.fillStyle="#59c2e6",w.fillRect(M*x,k*x,x,x),w.strokeStyle="#3a9fc4",w.lineWidth=1,w.strokeRect(M*x,k*x,x,x)):(w.strokeStyle="#ddd",w.lineWidth=.5,w.strokeRect(M*x,k*x,x,x));const N=document.createElement("a");N.download=`minecraft-diamond-${h}x${v}.png`,N.href=u.toDataURL("image/png"),N.click()},[s]),g=f.useCallback(()=>{const{grid:y,width:h,height:v}=s,x=20;let u=`<svg xmlns="http://www.w3.org/2000/svg" width="${h*x}" height="${v*x}" viewBox="0 0 ${h*x} ${v*x}">`;u+='<rect width="100%" height="100%" fill="#f5f5f5"/>';for(let k=0;k<v;k++)for(let M=0;M<h;M++)y[k][M]?u+=`<rect x="${M*x}" y="${k*x}" width="${x}" height="${x}" fill="#59c2e6" stroke="#3a9fc4" stroke-width="1"/>`:u+=`<rect x="${M*x}" y="${k*x}" width="${x}" height="${x}" fill="none" stroke="#ddd" stroke-width="0.5"/>`;u+="</svg>";const w=new Blob([u],{type:"image/svg+xml"}),N=document.createElement("a");N.download=`minecraft-diamond-${h}x${v}.svg`,N.href=URL.createObjectURL(w),N.click()},[s]);return{settings:t,diamondData:s,setWidth:i,setHeight:a,setForceSquare:o,setRenderStyle:l,setBorderStyle:c,setScale:d,setShowGrid:j,reset:m,downloadPNG:b,downloadSVG:g}},e6=()=>{const{t}=lt(),r=f.useRef(null),{settings:s,diamondData:n,setWidth:i,setHeight:a,setForceSquare:o,setRenderStyle:l,setBorderStyle:c,setScale:d,setShowGrid:j,reset:m,downloadPNG:b,downloadSVG:g}=ZP(),y=Math.max(8,Math.min(30,400/Math.max(n.width,n.height)))*s.scale;return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[300px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx($t,{className:"h-5 w-5"}),"Diamond Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.width")}),e.jsx(Le,{type:"number",min:3,max:100,value:s.width,onChange:h=>i(parseInt(h.target.value)||3)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.height")}),e.jsx(Le,{type:"number",min:3,max:100,value:s.forceSquare?s.width:s.height,onChange:h=>a(parseInt(h.target.value)||3),disabled:s.forceSquare})]})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:"Force Square Diamond"}),e.jsx(hr,{checked:s.forceSquare,onCheckedChange:o})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:t("generator.render")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.renderStyle==="border"?"default":"outline",size:"sm",onClick:()=>l("border"),className:"flex-1 min-w-0 truncate",children:t("generator.border")}),e.jsx(O,{variant:s.renderStyle==="filled"?"default":"outline",size:"sm",onClick:()=>l("filled"),className:"flex-1 min-w-0 truncate",children:t("generator.filled")})]})]}),s.renderStyle==="border"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(O,{variant:s.borderStyle==="thick"?"default":"outline",size:"sm",onClick:()=>c("thick"),className:"flex-1 min-w-0 truncate",children:t("generator.thick")}),e.jsx(O,{variant:s.borderStyle==="thin"?"default":"outline",size:"sm",onClick:()=>c("thin"),className:"flex-1 min-w-0 truncate",children:t("generator.thin")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("generator.scale"),": ",s.scale.toFixed(1),"x"]}),e.jsx(xt,{value:[s.scale],onValueChange:([h])=>d(h),min:.5,max:2,step:.1})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:t("generator.showGrid")}),e.jsx(hr,{checked:s.showGrid,onCheckedChange:j})]}),e.jsxs("div",{className:"rounded-lg bg-muted p-4 space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.blocks"),":"]}),e.jsx("span",{className:"font-semibold",children:n.blockCount})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks64"),":"]}),e.jsx("span",{className:"font-semibold",children:(n.blockCount/64).toFixed(1)})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:b,className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadPng")]}),e.jsxs(O,{onClick:g,variant:"outline",className:"w-full gap-2",children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadSvg")]}),e.jsxs(O,{onClick:m,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"Diamond Generator",storageKey:"diamond-generator"}),e.jsx(Te,{title:"Check out this Minecraft Diamond Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsx(G,{className:"p-4 md:p-6",children:e.jsx("div",{className:"overflow-auto rounded-lg bg-muted/50 p-2 md:p-4 generator-grid-container",style:{maxHeight:"60vh"},children:e.jsx("div",{ref:r,className:"inline-grid mx-auto generator-grid",style:{gridTemplateColumns:`repeat(${n.width}, ${y}px)`,gap:s.showGrid?"1px":"0px"},children:n.grid.map((h,v)=>h.map((x,u)=>e.jsx("div",{className:`transition-colors ${x?"bg-cyan-500 border border-cyan-700":"grid-block-empty"}`,style:{width:y,height:y}},`${u}-${v}`)))})})})})]})},t6=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Set Dimensions",text:'Enter the width and height of your diamond in blocks. Enable "Force Square" for symmetrical diamonds.'},{name:"Choose Style",text:"Select border only for diamond outlines or filled for solid diamond shapes."},{name:"Adjust Border",text:"For hollow diamonds, choose thick or thin border styles."},{name:"Preview Pattern",text:"View the pixel pattern in the preview area. Enable grid lines for easier counting."},{name:"Download & Build",text:"Download the pattern as PNG or SVG and use it as a building guide in Minecraft."}],s=[{question:"What are diamond shapes used for in Minecraft?",answer:"Diamond shapes are perfect for decorative windows, floor patterns, wall decorations, playing card symbols, and geometric tile designs."},{question:"What is the difference between square and stretched diamonds?",answer:"Square diamonds have equal width and height for perfect symmetry. Stretched diamonds have different dimensions for custom aspect ratios."},{question:"How do I create an argyle pattern?",answer:"Generate multiple diamonds and arrange them in a repeating grid pattern with alternating colors for a classic argyle look."}];return e.jsx(se,{title:"Minecraft Diamond Generator - Free Pixel Diamond Shape Builder",description:"Create perfect pixel diamond shapes for your Minecraft builds. Free online Minecraft diamond generator with customizable dimensions and PNG/SVG export.",canonicalPath:"/diamond-generator",type:"WebApplication",keywords:"minecraft diamond generator, pixel diamond maker, rhombus pattern minecraft, diamond window design, geometric pattern generator, minecraft building, minecraft creative mode, minecraft java, minecraft bedrock",howToSteps:r,howToName:"How to Build Diamond Shapes in Minecraft",howToDescription:"Step-by-step guide to creating pixel-perfect diamond and rhombus patterns for Minecraft builds.",faqs:s,breadcrumbs:[...t,{name:"Diamond Generator",url:"/diamond-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Diamond Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft Diamond Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Create ",e.jsx("strong",{children:"pixel-perfect diamond shapes"})," for your ",e.jsx("strong",{children:"Minecraft builds"}),". Perfect for floor patterns, windows, and decorative elements."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(e6,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Build Diamond Shapes in Minecraft"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Diamond shapes"})," (also called rhombus or lozenge shapes) add elegant visual interest to Minecraft builds. Our ",e.jsx("strong",{children:"Minecraft diamond generator"})," creates pixel-accurate diamond patterns using the Manhattan distance formula for precise results."]}),e.jsx("h3",{children:"Creative Uses for Diamond Shapes:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Window Designs"})," – Create elegant diamond-pane windows for medieval and Victorian builds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floor Patterns"})," – Design beautiful tiled floor patterns with alternating colors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wall Decorations"})," – Add geometric wall accents and murals"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Garden Layouts"})," – Plan diamond-shaped flower beds and pathways"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Signs and Symbols"})," – Build diamond warning signs, playing card suits, or logos"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pixel Art"})," – Create Minecraft diamond ore icons or gem designs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Quilted Patterns"})," – Design blankets and textile-style decorations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Compass Rose"})," – Build directional markers with diamond points"]})]}),e.jsx("h3",{children:"Square vs. Stretched Diamonds"}),e.jsxs("p",{children:["Use ",e.jsx("strong",{children:'"Force Square Diamond"'})," for symmetrical diamonds where width equals height. Disable it to create ",e.jsx("strong",{children:"stretched diamond shapes"})," with custom width and height ratios. Stretched diamonds are perfect for:"]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Elongated floor patterns"}),e.jsx("li",{children:"Tall window designs"}),e.jsx("li",{children:"Custom aspect ratio decorations"}),e.jsx("li",{children:"Fitting diamonds into specific spaces"})]}),e.jsx("h3",{children:"Diamond vs. Rotated Square"}),e.jsx("p",{children:"A diamond is essentially a square rotated 45 degrees. In Minecraft's block world, this creates diagonal edges that require careful block placement. Our generator calculates the optimal block positions to create smooth-looking diamond shapes."}),e.jsx("h3",{children:"Building Tips for Diamond Shapes"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Start from the center point and work outward to ensure symmetry"}),e.jsx("li",{children:"Use contrasting block colors to make the diamond shape pop"}),e.jsx("li",{children:"For hollow diamonds, the border style affects the overall look significantly"}),e.jsx("li",{children:"Combine multiple diamonds to create complex patterns like argyle"}),e.jsx("li",{children:"Stairs can help smooth the diagonal edges on larger diamonds"})]}),e.jsx("h3",{children:"Diamond Color Combinations"}),e.jsxs("p",{children:["Popular ",e.jsx("strong",{children:"Minecraft block combinations"})," for diamond patterns:"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Classic:"})," White concrete + Black concrete"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Royal:"})," Gold blocks + Lapis lazuli blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Natural:"})," Oak planks + Dark oak planks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Modern:"})," White concrete + Light gray concrete"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nether:"})," Blackstone + Gilded blackstone"]})]}),e.jsx("h3",{children:"Related Minecraft Shape Generators"}),e.jsxs("p",{children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft building tools"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Create perfect circles and ovals"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Build ellipses for stadiums and pools"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Design honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Create pyramids and roof shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," – Build spiral stairs layer by layer"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Construct domes and spheres"]})]}),e.jsx("h3",{children:"Recommended Building Guides"}),e.jsxs("p",{children:["Use diamond patterns in real builds with our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"tutorials"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/blog/geometric-patterns-guide",className:"text-primary hover:underline",children:"Geometric Patterns Guide"})," – Combine diamonds with other shapes for complex designs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"Pixel Art Guide"})," – Create diamond-shaped pixel art in Minecraft"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"Medieval Castles Guide"})," – Add diamond windows to your castle builds"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/blog/modern-architecture-guide",className:"text-primary hover:underline",children:"Modern Architecture Guide"})," – Diamond patterns in contemporary designs"]})]}),e.jsx("h3",{children:"Need Help?"}),e.jsxs("p",{children:["Visit our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," for answers to common questions, or ",e.jsx(p,{to:"/contact",className:"text-primary hover:underline",children:"contact us"})," for support."]})]})]})})})},r6=Yl("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function L({className:t,variant:r,...s}){return e.jsx("div",{className:de(r6({variant:r}),t),...s})}const s6=[{href:"/",icon:we,title:"Circle Generator",description:"Create pixel-perfect circles and ovals for towers, fountains, arenas, and more. The most popular Minecraft shape generator.",features:["Adjustable width & height","Border or filled","PNG & SVG download","Block count calculator"],color:"bg-green-500",popular:!0},{href:"/oval-generator",icon:we,title:"Oval Generator",description:"Build ellipses and stretched circles for stadiums, swimming pools, race tracks, and decorative gardens.",features:["Custom aspect ratio","Ellipse shapes","Multiple export formats"],color:"bg-emerald-500"},{href:"/sphere-generator",icon:Dt,title:"3D Sphere Generator",description:"Construct perfect spheres and domes with layer-by-layer building instructions. Essential for observatories and glass domes.",features:["Layer-by-layer guide","Hollow or solid","Download all layers","Wall thickness control"],color:"bg-blue-500",popular:!0},{href:"/hexagon-generator",icon:Vt,title:"Hexagon Generator",description:"Design honeycomb patterns and six-sided structures. Perfect for bee farms, sci-fi builds, and unique floor patterns.",features:["Flat-top orientation","Pointy-top orientation","Adjustable size"],color:"bg-amber-500"},{href:"/triangle-generator",icon:Yt,title:"Triangle Generator",description:"Create triangles in 4 orientations for roofs, pyramids, arrows, and decorative patterns.",features:["4 orientations","Custom base & height","Roof designs"],color:"bg-rose-500"},{href:"/diamond-generator",icon:$t,title:"Diamond Generator",description:"Build rhombus and diamond shapes for windows, floor patterns, pixel art, and geometric decorations.",features:["Square or stretched","Border patterns","Window designs"],color:"bg-cyan-500"},{href:"/spiral-staircase-generator",icon:mr,title:"Spiral Staircase Generator",description:"Build beautiful spiral staircases with step-by-step layer instructions. Great for towers and lighthouses.",features:["Custom radius","Rotation control","Step height options","CW/CCW direction"],color:"bg-purple-500"},{href:"/text-generator",icon:Dh,title:"Text/Font Generator",description:"Convert text into Minecraft's iconic pixel font. Customize colors, add drop shadows, and export for signs, pixel art, and server MOTDs.",features:["Custom colors & shadow","Copy block text","PNG & SVG export","30+ characters"],color:"bg-orange-500",popular:!0},{href:"/rgb-generator",icon:Lr,title:"RGB Color Generator",description:"Create smooth color gradients, convert HEX to Minecraft color codes, and generate gradient text for chat, signs, and MOTDs.",features:["Gradient presets","HEX/RGB/MC codes","Gradient text","Color reference"],color:"bg-pink-500",popular:!0},{href:"/name-generator",icon:ot,title:"Name Generator",description:"Generate unique Minecraft username ideas, gamertag suggestions, and name tag inspiration for your account or server.",features:["6 name themes","4 styles","Favorites list","Copy & share"],color:"bg-teal-500"},{href:"/seed-generator",icon:Xl,title:"Seed Generator",description:"Generate random world seeds for Java and Bedrock Edition with biome suggestions, structure hints, and special features.",features:["Java & Bedrock","Biome hints","Structure suggestions","Save favorites"],color:"bg-lime-500"}],n6=()=>{const t=[],r=[{question:"Which Minecraft shape generator should I use?",answer:"Use Circle Generator for towers and fountains, Sphere Generator for domes, Hexagon Generator for honeycomb patterns, Triangle Generator for roofs and pyramids."},{question:"Do these tools work with Bedrock Edition?",answer:"Yes, all our generators work with Java Edition, Bedrock Edition, Pocket Edition, and console versions."}];return e.jsx(se,{title:"Free Minecraft Building Tools - Shape Generators for Circles, Spheres & More 2026",description:"★ 7 Free Minecraft shape generators! Create perfect circles, ovals, hexagons, triangles, diamonds, spiral staircases & 3D spheres. Instant download PNG/SVG. Works Java, Bedrock & PE!",canonicalPath:"/tools",keywords:"minecraft building tools, minecraft shape generator, minecraft circle tool, minecraft sphere generator, minecraft hexagon generator, minecraft triangle generator, free minecraft tools, pixel art generator, minecraft creative mode, minecraft survival, minecraft server, hypixel, skyblock minecraft, modded minecraft, curseforge, minecraft education, minecraft java, minecraft bedrock",breadcrumbs:[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],faqs:r,children:e.jsx("main",{className:"container py-12",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Tools"}),e.jsxs("header",{className:"text-center mb-12",children:[e.jsx("h1",{className:"text-4xl md:text-5xl font-heading font-bold mb-4",children:e.jsx("strong",{children:"Minecraft Building Tools"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Free online ",e.jsx("strong",{children:"shape generators"})," for Minecraft. Create pixel-perfect circles, spheres, hexagons, and more. No registration required."]})]}),e.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-16",children:s6.map(s=>e.jsx(p,{to:s.href,className:"block group",children:e.jsxs(S,{className:"h-full hover:shadow-xl transition-all duration-300 border-2 hover:border-primary/50 overflow-hidden",children:[e.jsxs("div",{className:`${s.color} p-6 flex items-center justify-center relative`,children:[e.jsx(s.icon,{className:"h-16 w-16 text-white drop-shadow-lg",strokeWidth:1.5}),s.popular&&e.jsx(L,{className:"absolute top-2 right-2 bg-yellow-400 text-yellow-900 hover:bg-yellow-400",children:"Popular"})]}),e.jsx(ee,{className:"pb-2",children:e.jsx(te,{className:"text-xl group-hover:text-primary transition-colors",children:s.title})}),e.jsxs(G,{children:[e.jsx(Cl,{className:"text-sm mb-4",children:s.description}),e.jsx("div",{className:"flex flex-wrap gap-1",children:s.features.map((n,i)=>e.jsx(L,{variant:"secondary",className:"text-xs",children:n},i))})]})]})},s.href))}),e.jsxs("section",{className:"bg-muted/50 rounded-2xl p-8 mb-16",children:[e.jsxs("h2",{className:"text-2xl font-heading font-bold text-center mb-8",children:["Why Use Our ",e.jsx("strong",{children:"Minecraft Building Tools"}),"?"]}),e.jsxs("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary/10 w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-3",children:e.jsx("span",{className:"text-2xl",children:"🎯"})}),e.jsx("h3",{className:"font-semibold mb-1",children:"Pixel Perfect"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Mathematical precision for accurate builds"})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary/10 w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-3",children:e.jsx("span",{className:"text-2xl",children:"⚡"})}),e.jsx("h3",{className:"font-semibold mb-1",children:"Instant Results"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Real-time preview as you adjust settings"})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary/10 w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-3",children:e.jsx("span",{className:"text-2xl",children:"📥"})}),e.jsx("h3",{className:"font-semibold mb-1",children:"Easy Export"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Download PNG or SVG for reference"})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary/10 w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-3",children:e.jsx("span",{className:"text-2xl",children:"🆓"})}),e.jsx("h3",{className:"font-semibold mb-1",children:"100% Free"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"No registration or payment required"})]})]})]}),e.jsxs("section",{className:"prose prose-lg max-w-4xl mx-auto",children:[e.jsx("h2",{children:"Complete Guide to Minecraft Shape Generators"}),e.jsxs("p",{children:["Building complex shapes in Minecraft can be challenging because the game uses cubic blocks. Our ",e.jsx("strong",{children:"Minecraft building tools"})," solve this problem by providing pixel-perfect blueprints for various shapes. Whether you are building a ",e.jsx("strong",{children:"circular tower"}),", a ",e.jsx("strong",{children:"hexagonal bee farm"}),", or a ",e.jsx("strong",{children:"dome observatory"}),", we have the right tool for you."]}),e.jsx("h3",{children:"Which Tool Should I Use?"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Circle Generator"})," – Best for: towers, fountains, arenas, circular walls"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Oval Generator"})," – Best for: stadiums, race tracks, swimming pools"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"3D Sphere Generator"})," – Best for: domes, planets, glass spheres, observatories"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hexagon Generator"})," – Best for: bee farms, honeycomb patterns, sci-fi builds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Triangle Generator"})," – Best for: roofs, pyramids, arrows, mountain shapes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Diamond Generator"})," – Best for: windows, floor patterns, pixel art gems"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Spiral Staircase Generator"})," – Best for: tower interiors, lighthouses, modern homes"]})]}),e.jsx("h3",{children:"Works With All Minecraft Versions"}),e.jsxs("p",{children:["Our generators work with ",e.jsx("strong",{children:"Minecraft Java Edition"}),", ",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),",",e.jsx("strong",{children:"Minecraft Pocket Edition"}),", and all console versions including ",e.jsx("strong",{children:"Minecraft Education Edition"}),". The block patterns are universal whether you ",e.jsx("strong",{children:"play Minecraft"})," on PC, mobile, or console."]}),e.jsx("h3",{children:"Perfect for Servers and Multiplayer"}),e.jsxs("p",{children:["Building on popular ",e.jsx("strong",{children:"Minecraft servers"})," like ",e.jsx("strong",{children:"Hypixel"}),"? Our tools help create",e.jsx("strong",{children:" Minecraft PvP"})," arenas and ",e.jsx("strong",{children:"Minecraft Bedwars"})," battle maps. ",e.jsx("strong",{children:"Skyblock Minecraft"})," players use our generators for efficient island layouts. Works great with ",e.jsx("strong",{children:"modded Minecraft"})," from",e.jsx("strong",{children:" CurseForge"}),", ",e.jsx("strong",{children:"ATLauncher"}),", and ",e.jsx("strong",{children:"RLCraft"})," modpacks too."]}),e.jsx("h3",{children:"Ideal for Creative and Survival Modes"}),e.jsxs("p",{children:["Whether you're in ",e.jsx("strong",{children:"Minecraft creative mode"})," designing epic builds or ",e.jsx("strong",{children:"Minecraft survival"})," planning resource-efficient structures, our shape generators save time. Perfect for ",e.jsx("strong",{children:"Minecraft building"})," projects in your ",e.jsx("strong",{children:"Minecraft world"})," – calculate blocks before you ",e.jsx("strong",{children:"craft Minecraft"})," materials."]}),e.jsx("h3",{children:"Need Help?"}),e.jsxs("p",{children:["Visit our ",e.jsx(p,{to:"/faq",className:"text-primary",children:"FAQ page"})," for answers to common questions, or ",e.jsx(p,{to:"/contact",className:"text-primary",children:"contact us"})," for support. Learn more about our tools on the ",e.jsx(p,{to:"/about",className:"text-primary",children:"About page"}),"."]})]})]})})})},Xv="/assets/circle-building-mistakes-TvAejBop.jpg",Jv="/assets/minecraft-lag-fix-CWaiQD_B.jpg",Zv="/assets/minecraft-2026-baby-mobs-ec_L3ObJ.jpg",ew="/assets/redstone-circular-builds-CzpUXVqr.jpg",tw="/assets/bridge-building-guide-DsY4Rukp.jpg",rw="/assets/garden-landscaping-guide-DLsWAEZX.jpg",sw="/assets/survival-base-designs-Dx8Uf4q2.jpg",nw="/assets/spiral-staircase-designs-C9KSm-f_.jpg",iw="/assets/skin-generators-2026-VSL6zbqq.jpg",aw="/assets/account-generator-scams-CAhB8n7k.jpg",ow="/assets/ai-video-generators-2026-C5lljHsN.jpg",lw="/assets/logo-title-maker-DlGX4vQ4.jpg",cw="/assets/cobblestone-generator-DeAt24G8.jpg",dw="/assets/map-generators-2026-l1o6TWTC.jpg",Sg=[{slug:"circle-building-mistakes-2026",title:"Stop Building Minecraft Circles Like This (You're Wasting Blocks)",description:"Are you making these 5 critical mistakes? Most Minecraft players waste 20-40% more blocks than necessary when building circles.",category:"Warning",readTime:"12 min read",date:"January 20, 2026",icon:us,featured:!0,image:Xv},{slug:"minecraft-lag-fix-2026",title:"Why Your 2026 Minecraft World Might Be Lagging (And How to Fix It)",description:"The 2026 updates broke something. Here's exactly what's happening and 7 proven fixes that actually work.",category:"Urgent",readTime:"15 min read",date:"January 20, 2026",icon:er,featured:!0,image:Jv},{slug:"minecraft-2026-cuter-update-secrets",title:"5 Secret Features in the 2026 'Cuter' Update Mojang Didn't Tell You",description:"The official patch notes only tell half the story. Here are the hidden features in the cutest Minecraft update ever.",category:"Exclusive",readTime:"10 min read",date:"January 20, 2026",icon:qe,featured:!0,image:Zv},{slug:"redstone-circular-builds",title:"Minecraft Redstone Circular Builds: Clocks, Doors & Traps",description:"Learn how to combine circle generator patterns with redstone engineering. Build circular clocks, piston doors, rotating displays, and arena defense systems.",category:"Redstone",readTime:"16 min read",date:"February 17, 2026",icon:er,featured:!0,image:ew},{slug:"bridge-building-guide",title:"How to Build Bridges in Minecraft: Arch, Suspension & Stone Guide",description:"Complete bridge building guide with tutorials for arched bridges, suspension bridges, stone bridges, and redstone drawbridges.",category:"Building",readTime:"18 min read",date:"February 17, 2026",icon:us,featured:!0,image:tw},{slug:"survival-base-designs-2026",title:"Best Minecraft Survival Base Designs for 2026",description:"Build the ultimate survival base with circular layouts, dome roofs, defense systems, and integrated farms. Complete design guide.",category:"Survival",readTime:"20 min read",date:"February 17, 2026",icon:er,featured:!0,image:sw},{slug:"how-to-build-circles",title:"How to Build Perfect Circles in Minecraft: Complete Guide 2026",description:"Master the art of building pixel-perfect circles in Minecraft. Learn techniques for small and large circles, common mistakes to avoid, and advanced tips.",category:"Tutorial",readTime:"15 min read",date:"December 19, 2025",icon:us,featured:!0},{slug:"dome-building-guide",title:"Minecraft Dome Building Guide: From Simple to Complex Structures",description:"Learn how to build stunning domes in Minecraft using sphere generators and manual techniques. Step-by-step instructions for all dome types.",category:"Advanced",readTime:"18 min read",date:"December 19, 2025",icon:qe,featured:!0},{slug:"medieval-castles-guide",title:"How to Build Medieval Castles in Minecraft: Complete Guide",description:"Build epic medieval castles with circular towers, curtain walls, gatehouses, and authentic period details. From planning to finishing touches.",category:"Building",readTime:"22 min read",date:"December 19, 2025",icon:er,featured:!0},{slug:"rlcraft-building-guide",title:"RLCraft Building Guide: Survival Base Construction",description:"Master RLCraft building with fortified bases, dragon-proof structures, and survival shelters for modded Minecraft servers.",category:"RLCraft",readTime:"20 min read",date:"December 19, 2025",icon:er,featured:!0},{slug:"hypixel-building-guide",title:"Hypixel Building Guide: Build Battle & Housing Tips",description:"Master building on Hypixel with Build Battle strategies, Housing design tips, and SkyBlock base construction.",category:"Hypixel",readTime:"18 min read",date:"December 19, 2025",icon:us,featured:!0},{slug:"minecraft-education-guide",title:"Minecraft Education Edition: Lesson Plans & Projects",description:"Complete guide to Minecraft Education Edition with lesson plans, coding projects, and STEM building activities.",category:"Education",readTime:"22 min read",date:"December 19, 2025",icon:qe,featured:!0},{slug:"garden-landscaping-guide",title:"Minecraft Garden & Landscaping Guide: Build Beautiful Outdoor Spaces",description:"Transform flat terrain into breathtaking gardens with circular ponds, hexagonal flower beds, hedge mazes, and terraformed landscapes.",category:"Design",readTime:"17 min read",date:"February 17, 2026",icon:Lr,featured:!1,image:rw},{slug:"spiral-staircase-designs",title:"10 Minecraft Spiral Staircase Designs: From Simple to Epic",description:"Explore stunning spiral staircase designs including compact 3x3 spirals, grand wide staircases, double helix designs, and decorated tower staircases.",category:"Building",readTime:"15 min read",date:"February 17, 2026",icon:us,featured:!1,image:nw},{slug:"best-skin-generators-2026",title:"Best Minecraft Skin Generators in 2026: AI Skin Makers & PFP Tools",description:"Create custom skins with AI, generate skins from photos, use skin URL generators, and make Minecraft PFP avatars for free.",category:"Tools",readTime:"18 min read",date:"February 19, 2026",icon:er,featured:!0,image:iw},{slug:"free-account-generators-scam",title:"Free Minecraft Account Generators: Scam or Real?",description:"Learn the truth about account generators, alt generators, redeem code generators, and how to stay safe from Minecraft scams.",category:"Safety",readTime:"16 min read",date:"February 19, 2026",icon:us,featured:!0,image:aw},{slug:"best-ai-video-generators-2026",title:"Best AI Minecraft Video Generators in 2026",description:"Create stunning Minecraft videos with AI — from parkour runs to cinematic builds. No recording or editing needed.",category:"AI",readTime:"17 min read",date:"February 19, 2026",icon:qe,featured:!0,image:ow},{slug:"minecraft-logo-title-maker",title:"Minecraft Logo & Title Maker Tools: Complete Guide",description:"Create professional Minecraft logos, custom title screens, and pixel-perfect text designs for your server or YouTube channel.",category:"Design",readTime:"15 min read",date:"February 19, 2026",icon:Lr,featured:!1,image:lw},{slug:"how-to-make-cobblestone-generator",title:"How to Make a Cobblestone Generator in Minecraft",description:"Build unlimited cobblestone generators — basic, automatic, and skyblock designs with troubleshooting tips.",category:"Tutorial",readTime:"14 min read",date:"February 19, 2026",icon:er,featured:!1,image:cw},{slug:"best-map-generators-2026",title:"Best Minecraft Map Generators in 2026",description:"Create custom worlds with the best map generators. Build terrain, view seeds, and design adventure maps with free tools.",category:"Tools",readTime:"16 min read",date:"February 19, 2026",icon:er,featured:!1,image:dw},{slug:"underwater-bases-guide",title:"How to Build Underwater Bases in Minecraft: Ocean Building Guide",description:"Master underwater construction with water removal techniques, glass dome building, conduit power, and ocean monument conversions.",category:"Advanced",readTime:"20 min read",date:"December 19, 2025",icon:qe,featured:!1},{slug:"modern-architecture-guide",title:"Modern Architecture in Minecraft: Build Contemporary Houses",description:"Create stunning modern houses with clean lines, glass walls, flat roofs, and minimalist interiors. Complete contemporary design guide.",category:"Design",readTime:"19 min read",date:"December 19, 2025",icon:Lr,featured:!1},{slug:"pixel-art-guide",title:"Minecraft Pixel Art Guide: Create Amazing Block Art",description:"Learn pixel art techniques, color theory, scaling tips, and how to use shape generators for perfect circular elements in your art.",category:"Creative",readTime:"18 min read",date:"December 19, 2025",icon:Lr,featured:!1},{slug:"tower-designs-guide",title:"Minecraft Tower Designs with Spiral Staircases",description:"Create impressive towers with functional spiral staircases. Medieval towers, modern skyscrapers, lighthouse designs, and fantasy wizard towers.",category:"Building",readTime:"16 min read",date:"December 19, 2025",icon:er,featured:!1},{slug:"geometric-patterns-guide",title:"Minecraft Geometric Patterns and Shapes: Design Guide",description:"Explore geometric building patterns using hexagons, triangles, diamonds, and ovals. Perfect for floors, walls, and architectural features.",category:"Design",readTime:"14 min read",date:"December 19, 2025",icon:Lr,featured:!1}],i6=()=>{const t=Sg.filter(n=>n.featured),r=Sg.filter(n=>!n.featured),s=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"}];return e.jsx(se,{title:"Minecraft Building Blog - Tutorials, Tips & Guides",description:"Explore our Minecraft building blog for in-depth tutorials, building tips, and design guides. Learn circle building, dome construction, tower designs, and geometric patterns.",canonicalPath:"/blog",type:"website",breadcrumbs:s,dateModified:ke(),children:e.jsxs("div",{className:"container mx-auto px-4 py-12",children:[e.jsx(oe,{items:[],currentPage:"Blog"}),e.jsxs("div",{className:"text-center mb-16",children:[e.jsx(L,{variant:"secondary",className:"mb-4",children:"Minecraft Building Resources"}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-6",children:["Minecraft Building ",e.jsx("span",{className:"text-primary",children:"Blog"})]}),e.jsxs("p",{className:"text-xl text-muted-foreground max-w-3xl mx-auto",children:["In-depth ",e.jsx("strong",{children:"Minecraft building tutorials"}),", tips, and design guides to help you create stunning structures. From ",e.jsx("strong",{children:"pixel-perfect circles"})," to complex ",e.jsx("strong",{children:"dome constructions"}),", master every building technique."]})]}),e.jsxs("section",{className:"mb-16",children:[e.jsxs("h2",{className:"text-2xl font-bold mb-8 flex items-center gap-2",children:[e.jsx("span",{className:"text-primary",children:"★"})," Featured Tutorials"]}),e.jsx("div",{className:"grid md:grid-cols-2 gap-8",children:t.map(n=>e.jsx(p,{to:`/blog/${n.slug}`,children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-all duration-300 hover:border-primary/50 group overflow-hidden",children:[n.image&&e.jsx("div",{className:"aspect-video overflow-hidden",children:e.jsx("img",{src:n.image,alt:n.title,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300",loading:"lazy"})}),e.jsxs(ee,{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(L,{variant:"default",children:n.category}),e.jsx(L,{variant:"outline",className:"text-yellow-600 border-yellow-600",children:"Featured"})]}),e.jsx(te,{className:"text-xl group-hover:text-primary transition-colors",children:n.title}),e.jsx(Cl,{className:"text-base",children:n.description})]}),e.jsx(G,{children:e.jsxs("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),n.date]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),n.readTime]})]}),e.jsxs("span",{className:"flex items-center gap-1 text-primary group-hover:gap-2 transition-all",children:["Read More ",e.jsx(Q,{className:"w-4 h-4"})]})]})})]})},n.slug))})]}),e.jsxs("section",{className:"mb-16",children:[e.jsx("h2",{className:"text-2xl font-bold mb-8",children:"All Tutorials & Guides"}),e.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-2 gap-6",children:r.map(n=>e.jsx(p,{to:`/blog/${n.slug}`,children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-all duration-300 hover:border-primary/50 group overflow-hidden",children:[n.image&&e.jsx("div",{className:"aspect-video overflow-hidden",children:e.jsx("img",{src:n.image,alt:n.title,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300",loading:"lazy"})}),e.jsxs(ee,{children:[e.jsx("div",{className:"flex items-center gap-2 mb-2",children:e.jsx(L,{variant:"secondary",children:n.category})}),e.jsx(te,{className:"text-lg group-hover:text-primary transition-colors",children:n.title}),e.jsx(Cl,{children:n.description})]}),e.jsx(G,{children:e.jsxs("div",{className:"flex items-center justify-between text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),n.date]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),n.readTime]})]}),e.jsxs("span",{className:"flex items-center gap-1 text-primary group-hover:gap-2 transition-all",children:["Read ",e.jsx(Q,{className:"w-4 h-4"})]})]})})]})},n.slug))})]}),e.jsxs("section",{className:"bg-muted/30 rounded-2xl p-8 mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Why Read Our Minecraft Building Guides?"}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Comprehensive Tutorials"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our ",e.jsx("strong",{children:"Minecraft building tutorials"})," go beyond basic instructions. Each guide provides in-depth explanations, multiple techniques, and real-world examples to help you understand the principles behind great ",e.jsx("strong",{children:"Minecraft architecture"}),"."]}),e.jsxs("p",{className:"text-muted-foreground",children:["Whether you're building ",e.jsx("strong",{children:"circles"}),", ",e.jsx("strong",{children:"domes"}),", ",e.jsx("strong",{children:"towers"}),", or ",e.jsx("strong",{children:"geometric patterns"}),", our guides cover everything from beginner basics to advanced techniques used by professional Minecraft builders."]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Tool Integration"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Each tutorial integrates with our free ",e.jsx(p,{to:"/tools",className:"text-primary hover:underline",children:"Minecraft building tools"}),". Learn how to use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"}),", ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"}),", and other shape tools effectively."]}),e.jsxs("p",{className:"text-muted-foreground",children:["Our guides are compatible with both ",e.jsx("strong",{children:"Minecraft Java Edition"})," and",e.jsx("strong",{children:" Minecraft Bedrock Edition"}),", ensuring you can apply these techniques regardless of your platform."]})]})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Browse by Category"}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsx(L,{variant:"outline",className:"px-4 py-2 text-base cursor-pointer hover:bg-primary hover:text-primary-foreground transition-colors",children:"All Posts"}),e.jsx(L,{variant:"outline",className:"px-4 py-2 text-base cursor-pointer hover:bg-primary hover:text-primary-foreground transition-colors",children:"Tutorials"}),e.jsx(L,{variant:"outline",className:"px-4 py-2 text-base cursor-pointer hover:bg-primary hover:text-primary-foreground transition-colors",children:"Advanced"}),e.jsx(L,{variant:"outline",className:"px-4 py-2 text-base cursor-pointer hover:bg-primary hover:text-primary-foreground transition-colors",children:"Building"}),e.jsx(L,{variant:"outline",className:"px-4 py-2 text-base cursor-pointer hover:bg-primary hover:text-primary-foreground transition-colors",children:"Design"})]})]}),e.jsxs("section",{className:"border-t pt-8",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Explore Our Building Tools"}),e.jsxs("div",{className:"flex flex-wrap gap-4 text-sm",children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"}),e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"}),e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"}),e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"}),e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"}),e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"}),e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase"}),e.jsx(p,{to:"/tools",className:"text-primary hover:underline",children:"All Tools"}),e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ"})]})]})]})})},a6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"How to Build Circles",url:"/blog/how-to-build-circles"}],r=[{question:"How do you make a perfect circle in Minecraft?",answer:"To make a perfect circle in Minecraft, use a circle generator tool to get the exact block placement pattern. Enter your desired diameter, then follow the layer-by-layer guide showing which blocks to place. Start from the center and work outward, ensuring symmetry in all four quadrants."},{question:"What is the best size for a Minecraft circle?",answer:"The best circle size depends on your project. For smooth-looking circles, use diameters of 20+ blocks. Smaller circles (5-15 blocks) appear more blocky but work well for wells and small towers. For large builds like arenas or domes, 50-100+ block diameters provide the smoothest curves."},{question:"How many blocks do I need for a circle in Minecraft?",answer:"The number of blocks depends on the diameter and whether the circle is filled or hollow. A hollow 20-block diameter circle needs approximately 60 blocks, while a filled circle of the same size needs about 316 blocks. Use a circle generator with block count feature for exact calculations."},{question:"Can you build circles in Minecraft Bedrock Edition?",answer:"Yes, you can build circles in both Minecraft Java Edition and Bedrock Edition using the same techniques. Circle generator patterns work identically across all Minecraft versions including Pocket Edition, Xbox, PlayStation, Nintendo Switch, and PC."},{question:"What is the formula for circles in Minecraft?",answer:"Minecraft circles use the midpoint circle algorithm, which determines block placement based on the mathematical equation x² + y² ≤ r². This formula calculates which blocks fall within the circle's radius. Circle generators automatically apply this algorithm for accurate patterns."}];return e.jsx(se,{title:"How to Build Perfect Circles in Minecraft: Complete Guide 2026",description:"Master pixel-perfect circle building in Minecraft with our comprehensive guide. Learn small and large circle techniques, avoid common mistakes, and discover advanced tips for circular structures.",canonicalPath:"/blog/how-to-build-circles",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"How to Build Circles"}),e.jsxs("header",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Tutorial"}),e.jsx(L,{variant:"outline",children:"Beginner to Advanced"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-4",children:"How to Build Perfect Circles in Minecraft: Complete Guide 2026"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Master the art of building ",e.jsx("strong",{children:"pixel-perfect circles"})," in Minecraft. This comprehensive guide covers everything from basic techniques to advanced methods for creating stunning ",e.jsx("strong",{children:"circular structures"}),"."]}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 15 min read"]})]})]}),e.jsx(S,{className:"mb-12",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Table of Contents"}),e.jsxs("nav",{className:"space-y-2 text-sm",children:[e.jsx("a",{href:"#understanding-circles",className:"block text-primary hover:underline",children:"1. Understanding Circles in Minecraft"}),e.jsx("a",{href:"#circle-generator-tool",className:"block text-primary hover:underline",children:"2. Using a Circle Generator Tool"}),e.jsx("a",{href:"#small-circles",className:"block text-primary hover:underline",children:"3. Building Small Circles (5-20 Blocks)"}),e.jsx("a",{href:"#medium-circles",className:"block text-primary hover:underline",children:"4. Building Medium Circles (21-50 Blocks)"}),e.jsx("a",{href:"#large-circles",className:"block text-primary hover:underline",children:"5. Building Large Circles (51+ Blocks)"}),e.jsx("a",{href:"#common-mistakes",className:"block text-primary hover:underline",children:"6. Common Mistakes to Avoid"}),e.jsx("a",{href:"#advanced-techniques",className:"block text-primary hover:underline",children:"7. Advanced Circle Building Techniques"}),e.jsx("a",{href:"#creative-applications",className:"block text-primary hover:underline",children:"8. Creative Applications for Circles"}),e.jsx("a",{href:"#tips-and-tricks",className:"block text-primary hover:underline",children:"9. Pro Tips and Tricks"}),e.jsx("a",{href:"#conclusion",className:"block text-primary hover:underline",children:"10. Conclusion"})]})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"understanding-circles",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"1. Understanding Circles in Minecraft"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Building ",e.jsx("strong",{children:"circles in Minecraft"})," presents a unique challenge because the game world is made entirely of square blocks. Unlike real-life circles that have smooth, continuous curves, ",e.jsx("strong",{children:"Minecraft circles"}),"are approximations created by carefully arranging blocks in a pattern that resembles a circle when viewed from above or at a distance."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The key to creating convincing ",e.jsx("strong",{children:"pixel circles"})," lies in understanding how to distribute blocks across the circumference. This technique, often called ",e.jsx("strong",{children:"pixel art circle building"}),", relies on mathematical principles that determine which blocks should be placed to create the smoothest possible curve."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"The Mathematics Behind Minecraft Circles"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Every ",e.jsx("strong",{children:"Minecraft circle"})," follows the midpoint circle algorithm or a variation of it. This algorithm determines which blocks fall within the circle's radius and which fall outside. The result is a pattern where:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Smaller circles"})," appear more blocky and angular"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Larger circles"})," appear smoother and more circular"]}),e.jsxs("li",{children:["The ",e.jsx("strong",{children:"block count"})," increases exponentially with diameter"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Symmetry"})," is crucial - true circles are symmetrical in all quadrants"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Why Circle Building Skills Matter"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Mastering ",e.jsx("strong",{children:"circle construction in Minecraft"})," opens up countless building possibilities. From ",e.jsx("strong",{children:"towers"})," and ",e.jsx("strong",{children:"domes"})," to ",e.jsx("strong",{children:"wells"}),", ",e.jsx("strong",{children:"fountains"}),", and ",e.jsx("strong",{children:"arenas"}),", circular shapes add visual interest and architectural sophistication to your builds."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Many iconic ",e.jsx("strong",{children:"Minecraft structures"})," rely on circles as their foundation. Understanding how to create them accurately will dramatically improve your ",e.jsx("strong",{children:"Minecraft building"})," capabilities in both",e.jsx("strong",{children:" Minecraft Java Edition"})," and ",e.jsx("strong",{children:"Minecraft Bedrock Edition PC"}),". Whether you",e.jsx("strong",{children:" play Minecraft"})," in ",e.jsx("strong",{children:"Minecraft creative mode"})," or ",e.jsx("strong",{children:"Minecraft survival"}),", mastering circles elevates every ",e.jsx("strong",{children:"Minecraft world"})," you create."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Circle Building for Different Play Styles"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Our circle generator is invaluable whether you're:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:["Building on ",e.jsx("strong",{children:"Minecraft servers"})," like ",e.jsx("strong",{children:"Hypixel"})," for competition maps"]}),e.jsxs("li",{children:["Designing ",e.jsx("strong",{children:"Minecraft PvP"})," arenas and ",e.jsx("strong",{children:"Minecraft Bedwars"})," battle zones"]}),e.jsxs("li",{children:["Creating efficient layouts for ",e.jsx("strong",{children:"Skyblock Minecraft"})," islands"]}),e.jsxs("li",{children:["Working with ",e.jsx("strong",{children:"modded Minecraft"})," packs from ",e.jsx("strong",{children:"CurseForge"})," or ",e.jsx("strong",{children:"ATLauncher"})]}),e.jsxs("li",{children:["Building bases in ",e.jsx("strong",{children:"RLCraft"})," or ",e.jsx("strong",{children:"FTB Minecraft"})," modpacks"]}),e.jsxs("li",{children:["Designing ",e.jsx("strong",{children:"Minecraft Pixelmon"})," gyms and pokemon stadiums"]}),e.jsxs("li",{children:["Teaching geometry in ",e.jsx("strong",{children:"Minecraft Education Edition"})," classrooms"]})]})]}),e.jsxs("section",{id:"circle-generator-tool",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"2. Using a Circle Generator Tool"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["While you can calculate ",e.jsx("strong",{children:"Minecraft circles"})," manually, using a dedicated",e.jsx("strong",{children:" circle generator tool"})," saves time and ensures accuracy. Our free",e.jsx(p,{to:"/",className:"text-primary hover:underline mx-1",children:"Minecraft Circle Generator"}),"provides instant, pixel-perfect templates for any diameter."]}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-primary"})," Benefits of Using a Generator"]}),e.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Instant results"})," - No manual calculations needed"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Accurate block counts"})," - Know exactly how many materials you need"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Visual guides"})," - See the exact block placement pattern"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Filled vs hollow options"})," - Choose based on your project needs"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Any size supported"})," - From tiny 3-block circles to massive 200+ diameter structures"]})]})]})}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"How to Use Our Circle Generator"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Using our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," is straightforward:"]}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:["Navigate to the ",e.jsx("strong",{children:"Minecraft Circle Generator"})," page"]}),e.jsxs("li",{children:["Enter your desired ",e.jsx("strong",{children:"diameter"})," (width in blocks)"]}),e.jsxs("li",{children:["Choose between ",e.jsx("strong",{children:"filled"})," or ",e.jsx("strong",{children:"hollow"})," circle"]}),e.jsxs("li",{children:["The generator instantly displays your ",e.jsx("strong",{children:"circle template"})]}),e.jsx("li",{children:"Count the blocks in each row to replicate in-game"}),e.jsxs("li",{children:["Use the ",e.jsx("strong",{children:"block count"})," to gather materials"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For more complex shapes, explore our other tools including the",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline mx-1",children:"Oval Generator"})," for elliptical shapes and the",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline mx-1",children:"3D Sphere Generator"})," for complete spherical structures."]})]}),e.jsxs("section",{id:"small-circles",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"3. Building Small Circles (5-20 Blocks)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Small Minecraft circles"})," are the most challenging to build convincingly because each block has a significant visual impact. With fewer blocks available, the approximation of a curve becomes more apparent."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"5-Block Diameter Circle"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The smallest practical ",e.jsx("strong",{children:"Minecraft circle"})," uses a 5-block diameter. This creates a recognizable circular shape while remaining compact. The pattern consists of:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Row 1: 3 blocks centered"}),e.jsx("li",{children:"Row 2: 5 blocks (full width)"}),e.jsx("li",{children:"Row 3: 5 blocks (full width)"}),e.jsx("li",{children:"Row 4: 5 blocks (full width)"}),e.jsx("li",{children:"Row 5: 3 blocks centered"})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["This creates a roughly circular shape that works well for small ",e.jsx("strong",{children:"wells"}),",",e.jsx("strong",{children:"plant pots"}),", or ",e.jsx("strong",{children:"decorative elements"}),"."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"10-Block Diameter Circle"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"A 10-block diameter circle begins to look more convincingly round. This size is ideal for:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Small towers"})," and turrets"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fountains"})," and water features"]}),e.jsx("li",{children:e.jsx("strong",{children:"Tree canopy bases"})}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floor medallions"})," and decorative patterns"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"15-20 Block Diameter Circles"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["At this size, ",e.jsx("strong",{children:"Minecraft circles"})," start to feel genuinely circular. The increased number of blocks allows for smoother curves and more architectural possibilities. Perfect for:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Circular rooms"})," and chambers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Watch towers"})," with interior space"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Garden features"})," and landscaping"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Base floors"})," for dome structures"]})]}),e.jsx(S,{className:"bg-yellow-500/10 border-yellow-500/30 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-yellow-500"})," Pro Tip for Small Circles"]}),e.jsxs("p",{className:"text-muted-foreground",children:["When building small circles, use ",e.jsx("strong",{children:"slabs"})," and ",e.jsx("strong",{children:"stairs"})," to smooth out the curves. While the main structure uses full blocks, adding half-blocks on the inside or outside edges creates the illusion of smoother curves, especially when viewed from ground level."]})]})})]}),e.jsxs("section",{id:"medium-circles",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"4. Building Medium Circles (21-50 Blocks)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Medium-sized Minecraft circles"})," offer the best balance between visual smoothness and manageable construction. These sizes are the most commonly used in ",e.jsx("strong",{children:"Minecraft architecture"}),"and provide excellent results for most building projects."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Planning Your Medium Circle Build"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Before starting a medium circle, planning is essential. Consider these factors:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Location"}),": Ensure you have enough flat space for the entire diameter"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Materials"}),": Calculate blocks needed using our generator's block count"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Purpose"}),": Will this be a floor, wall, or 3D structure?"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Integration"}),": How will the circle connect with adjacent structures?"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Construction Method for Medium Circles"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"For circles in this size range, follow this systematic approach:"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Mark the center point"})," - Place a distinctive block at the exact center"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build the cardinal points"})," - Place blocks at North, South, East, West extremes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Connect the quadrants"})," - Fill in blocks between cardinal points using your template"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Verify symmetry"})," - Check that all four quadrants match exactly"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Complete the interior"})," - Fill in if building a solid circle"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Popular Uses for Medium Circles"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Medium ",e.jsx("strong",{children:"Minecraft circles"})," are incredibly versatile:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Castle towers"})," - 25-35 block diameters create impressive defensive towers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Coliseums"})," - 40-50 block circles form arena floors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Observatory domes"})," - Perfect base size for dome structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Crop circles"})," - Decorative farming patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Town squares"})," - Circular plazas with central features"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Swimming pools"})," - Rounded pool designs"]})]})]}),e.jsxs("section",{id:"large-circles",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"5. Building Large Circles (51+ Blocks)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Large Minecraft circles"})," create truly impressive structures but require careful planning, significant resources, and patience. At these sizes, the curves appear nearly smooth, and the structures can dominate landscapes."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Resource Planning for Large Circles"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Before attempting a large circle, calculate your material needs:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"75-block hollow circle"}),": Approximately 236 blocks for the outline"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"100-block hollow circle"}),": Approximately 314 blocks for the outline"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"100-block filled circle"}),": Approximately 7,854 blocks total"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"150-block filled circle"}),": Approximately 17,671 blocks total"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," to get exact counts for your specific diameter."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Layer-by-Layer Construction"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"For very large circles, build in layers:"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Scaffold the outline first"})," using temporary blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build quadrant by quadrant"})," rather than trying to complete the entire circumference"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use coordinate markers"})," every 10-20 blocks for reference"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Double-check measurements"})," frequently against your template"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fill interior sections"})," only after outline verification"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Mega Project Applications"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Large ",e.jsx("strong",{children:"Minecraft circles"})," enable ambitious projects:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Sports stadiums"})," - 100+ block circular arenas"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"City walls"})," - Circular defensive perimeters"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Artificial islands"})," - Circular land masses in oceans"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Space stations"})," - Ring-shaped orbital structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Roman amphitheaters"})," - Historical recreation builds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Particle accelerators"})," - Scientific facility builds"]})]})]}),e.jsxs("section",{id:"common-mistakes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"6. Common Mistakes to Avoid"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Even experienced Minecraft builders make mistakes when creating circles. Here are the most common errors and how to avoid them:"}),e.jsx(S,{className:"bg-destructive/10 border-destructive/30 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(Hr,{className:"w-5 h-5 text-destructive"})," Mistake #1: Asymmetrical Quadrants"]}),e.jsxs("p",{className:"text-muted-foreground mb-2",children:[e.jsx("strong",{children:"Problem"}),": Building each quadrant slightly differently, resulting in a lopsided circle."]}),e.jsxs("p",{className:"text-muted-foreground",children:[e.jsx("strong",{children:"Solution"}),": Always use a generator template and verify each quadrant matches. Build one quadrant completely, then mirror it exactly for the others."]})]})}),e.jsx(S,{className:"bg-destructive/10 border-destructive/30 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(Hr,{className:"w-5 h-5 text-destructive"})," Mistake #2: Off-Center Starting Point"]}),e.jsxs("p",{className:"text-muted-foreground mb-2",children:[e.jsx("strong",{children:"Problem"}),": Beginning construction without establishing the true center, leading to misaligned structures."]}),e.jsxs("p",{className:"text-muted-foreground",children:[e.jsx("strong",{children:"Solution"}),": Always mark your center point first. For even-diameter circles, the center falls on a block corner. For odd-diameter circles, it falls on a block center."]})]})}),e.jsx(S,{className:"bg-destructive/10 border-destructive/30 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(Hr,{className:"w-5 h-5 text-destructive"})," Mistake #3: Incorrect Block Counting"]}),e.jsxs("p",{className:"text-muted-foreground mb-2",children:[e.jsx("strong",{children:"Problem"}),": Miscounting blocks in each row, creating bumps or flat spots in the curve."]}),e.jsxs("p",{className:"text-muted-foreground",children:[e.jsx("strong",{children:"Solution"}),": Use the generator's visual guide and count carefully. Mark every 5th block with a different color during construction, then replace after verification."]})]})}),e.jsx(S,{className:"bg-destructive/10 border-destructive/30 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(Hr,{className:"w-5 h-5 text-destructive"})," Mistake #4: Ignoring Odd vs Even Diameters"]}),e.jsxs("p",{className:"text-muted-foreground mb-2",children:[e.jsx("strong",{children:"Problem"}),": Treating odd and even diameter circles the same way, causing offset issues."]}),e.jsxs("p",{className:"text-muted-foreground",children:[e.jsx("strong",{children:"Solution"}),": Understand that odd-diameter circles have a true center block, while even-diameter circles have a center point between four blocks. Plan accordingly."]})]})})]}),e.jsxs("section",{id:"advanced-techniques",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"7. Advanced Circle Building Techniques"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Once you've mastered basic ",e.jsx("strong",{children:"Minecraft circle building"}),", these advanced techniques will elevate your constructions to professional levels."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Technique 1: Concentric Circles"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Creating multiple circles within each other requires careful planning. Key considerations:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Maintain consistent spacing between each ring"}),e.jsx("li",{children:"Use contrasting block types for visual distinction"}),e.jsx("li",{children:"Generate each size separately and overlay the templates"}),e.jsx("li",{children:"Build from the inside out for best results"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Technique 2: Transitioning to 3D"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Taking your flat circles into three dimensions creates cylinders and more complex shapes:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cylinders"}),": Stack identical circles vertically"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cones"}),": Use progressively smaller circles stacked upward"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Domes"}),": Use our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})," for dome layers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tapered towers"}),": Alternate between two circle sizes for visual interest"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Technique 3: Smooth Curves with Mixed Blocks"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"For the smoothest possible curves, combine different block types:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Full blocks"})," for the main structure"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Slabs"})," for half-height transitions"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Stairs"})," for diagonal smoothing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Walls"})," for thin connecting elements"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Technique 4: Elliptical Variations"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Not all circular shapes need perfect symmetry. Our",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline mx-1",children:"oval generator"})," creates ellipses with different width and height values, perfect for:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Racing tracks"})," with curved ends"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Garden beds"})," with organic shapes"]}),e.jsx("li",{children:e.jsx("strong",{children:"Cathedral floor plans"})}),e.jsx("li",{children:e.jsx("strong",{children:"Eye-shaped windows"})})]})]}),e.jsxs("section",{id:"creative-applications",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"8. Creative Applications for Circles"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Minecraft circles"})," enable countless creative possibilities. Here are inspiring ideas organized by building category:"]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Architectural Applications"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Round towers"})," - Medieval castle turrets with battlements"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Lighthouse structures"})," - Tapered circular towers with light rooms"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Observatories"})," - Circular buildings with dome roofs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rotundas"})," - Grand circular entrance halls"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Silos"})," - Farm storage structures"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Landscape Features"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Circular gardens"})," - Symmetrical planting patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fountains"})," - Tiered water features"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hedge mazes"})," - Circular labyrinth designs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Amphitheaters"})," - Outdoor performance spaces"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Reflecting pools"})," - Decorative water elements"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Decorative Elements"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Rose windows"})," - Circular stained glass features"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Clock faces"})," - Town center timepieces"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floor medallions"})," - Decorative floor patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ceiling rosettes"})," - Overhead ornamental circles"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Porthole windows"})," - Nautical-themed openings"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Functional Structures"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Storage rings"})," - Circular chest arrangements"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mob farms"})," - Circular spawning platforms"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nether portals"})," - Decorative circular frames"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Enchanting rooms"})," - Circular chambers for enchanting"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Brewing stations"})," - Round potion-making areas"]})]})]}),e.jsxs("section",{id:"tips-and-tricks",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"9. Pro Tips and Tricks"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["These expert tips will help you build ",e.jsx("strong",{children:"Minecraft circles"})," faster and more accurately:"]}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Tip #1: Use Scaffolding"}),e.jsx("p",{className:"text-muted-foreground",children:"Build a temporary scaffolding grid before placing permanent blocks. Mark your circle outline with wool or concrete, verify accuracy, then replace with final materials."})]})}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Tip #2: Coordinate Tracking"}),e.jsx("p",{className:"text-muted-foreground",children:"Press F3 to display coordinates. Write down the center coordinates and mark positions at regular intervals around the circumference for reference."})]})}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Tip #3: Build Above Ground"}),e.jsx("p",{className:"text-muted-foreground",children:"When building large circles, work one block above ground level. This allows you to see the entire pattern without terrain interference. Lower it when complete."})]})}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Tip #4: Screenshot Reference"}),e.jsx("p",{className:"text-muted-foreground",children:"Take a screenshot of the generator output and keep it visible on a second monitor or printed beside you while building. This eliminates constant tab-switching."})]})}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Tip #5: Quadrant Building"}),e.jsx("p",{className:"text-muted-foreground",children:"Build one perfect quadrant first, then copy it exactly to the other three. This ensures perfect symmetry and is faster than building the entire circle sequentially."})]})}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Tip #6: Lighting Strategy"}),e.jsx("p",{className:"text-muted-foreground",children:"Place temporary torches inside large circles during construction to prevent mob spawning. Replace with permanent lighting or remove when enclosing the structure."})]})})]}),e.jsxs("section",{id:"conclusion",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"10. Conclusion"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Building ",e.jsx("strong",{children:"perfect circles in Minecraft"})," is a fundamental skill that opens up endless creative possibilities. Whether you're constructing a simple well or an elaborate circular castle, the techniques covered in this guide will help you achieve professional-quality results across all",e.jsx("strong",{children:" Minecraft games"})," and editions."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["These skills apply whether you ",e.jsx("strong",{children:"play Minecraft"})," in ",e.jsx("strong",{children:"Minecraft survival"})," mode,",e.jsx("strong",{children:" Minecraft creative mode"}),", or on popular ",e.jsx("strong",{children:"Minecraft servers"})," like ",e.jsx("strong",{children:"Hypixel"}),". Our circle generator works seamlessly with ",e.jsx("strong",{children:"Minecraft Java Edition"}),", ",e.jsx("strong",{children:"Minecraft Bedrock Edition PC"}),",",e.jsx("strong",{children:" Minecraft Pocket Edition"}),", and even ",e.jsx("strong",{children:"Minecraft Education Edition"}),"."]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Remember these key takeaways:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," for accurate templates"]}),e.jsx("li",{children:"Always mark your center point before building"}),e.jsx("li",{children:"Build quadrant by quadrant for best symmetry"}),e.jsx("li",{children:"Verify your work frequently against the template"}),e.jsx("li",{children:"Start with smaller circles to build confidence"}),e.jsxs("li",{children:["Works great with ",e.jsx("strong",{children:"modded Minecraft"})," including ",e.jsx("strong",{children:"CurseForge"}),", ",e.jsx("strong",{children:"RLCraft"}),", and ",e.jsx("strong",{children:"FTB Minecraft"})]}),e.jsxs("li",{children:["Combine circles with ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"spheres"})," and",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline mx-1",children:"ovals"})," for complex structures"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["With practice and the right tools, you'll be creating stunning ",e.jsx("strong",{children:"circular Minecraft structures"}),"that impress friends and enhance your ",e.jsx("strong",{children:"Minecraft world"}),". Perfect for ",e.jsx("strong",{children:"Minecraft building"})," projects,",e.jsx("strong",{children:" Minecraft PvP"})," arenas, ",e.jsx("strong",{children:"Skyblock Minecraft"})," islands, and ",e.jsx("strong",{children:"Minecraft Pixelmon"})," gyms. Happy building!"]})]})]}),e.jsxs("section",{className:"border-t pt-8 mt-12",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Related Building Tools"}),e.jsxs("div",{className:"grid sm:grid-cols-2 md:grid-cols-3 gap-4",children:[e.jsxs(p,{to:"/",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Circle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create pixel-perfect circles"})]}),e.jsxs(p,{to:"/sphere-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Sphere Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Build 3D spheres and domes"})]}),e.jsxs(p,{to:"/oval-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Oval Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create elliptical shapes"})]})]})]}),e.jsxs("nav",{className:"flex justify-between items-center border-t pt-8 mt-8",children:[e.jsxs(p,{to:"/blog",className:"text-primary hover:underline flex items-center gap-2",children:[e.jsx(Kl,{className:"w-4 h-4"})," Back to Blog"]}),e.jsxs(p,{to:"/blog/minecraft-dome-building-guide",className:"text-primary hover:underline flex items-center gap-2",children:["Next: Dome Building Guide ",e.jsx(Q,{className:"w-4 h-4"})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},o6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Dome Building Guide",url:"/blog/dome-building-guide"}],r=[{question:"How do you build a dome in Minecraft?",answer:"To build a dome in Minecraft, use a sphere generator to get layer-by-layer patterns, then build only the top half (hemisphere). Start with the widest circle at the base, place each successive smaller layer on top, and continue until the dome closes at the top. Use scaffolding or temporary blocks for support during construction."},{question:"What is the best dome size in Minecraft?",answer:"For a smooth-looking dome, use diameters of 30-50 blocks. Smaller domes (10-20 blocks) appear blocky, while larger domes (60+ blocks) require significant resources but look impressively smooth. A 40-block diameter dome offers the best balance of visual appeal and manageable construction."},{question:"How do you make a glass dome in Minecraft?",answer:"Build a glass dome using the same sphere generator patterns as regular domes. Use glass blocks or glass panes for transparency. For structural integrity, add a frame using stone or wood, then fill with glass. Consider using stained glass for colorful domes or tinted glass for privacy."},{question:"What is a geodesic dome in Minecraft?",answer:"A geodesic dome in Minecraft uses triangular panels arranged in a spherical pattern, creating a faceted appearance instead of smooth curves. Build it using hexagon and triangle generators, connecting triangular sections to form the dome structure. Popular for modern and futuristic builds."},{question:"How many blocks for a Minecraft dome?",answer:"Block count varies by dome size. A hollow 25-block diameter hemisphere needs approximately 800-1000 blocks. A 40-block dome requires around 2,500 blocks, while a 60-block dome needs about 5,600 blocks. Use a sphere generator with block count feature for precise material planning."}];return e.jsx(se,{title:"Minecraft Dome Building Guide: From Simple to Complex Structures",description:"Learn how to build stunning domes in Minecraft with our comprehensive guide. Master sphere generators, geodesic domes, half-spheres, and elliptical dome construction techniques.",canonicalPath:"/blog/dome-building-guide",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Dome Building Guide"}),e.jsxs("header",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Advanced"}),e.jsx(L,{variant:"outline",children:"Architecture"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Minecraft Dome Building Guide: From Simple to Complex Structures"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Master the art of building breathtaking ",e.jsx("strong",{children:"Minecraft domes"}),". This comprehensive guide covers everything from basic ",e.jsx("strong",{children:"half-sphere construction"})," to advanced ",e.jsx("strong",{children:"geodesic dome designs"}),"and ",e.jsx("strong",{children:"elliptical domes"}),"."]}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 18 min read"]})]})]}),e.jsx(S,{className:"mb-12",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Table of Contents"}),e.jsxs("nav",{className:"space-y-2 text-sm",children:[e.jsx("a",{href:"#introduction-domes",className:"block text-primary hover:underline",children:"1. Introduction to Minecraft Domes"}),e.jsx("a",{href:"#dome-types",className:"block text-primary hover:underline",children:"2. Types of Domes in Minecraft"}),e.jsx("a",{href:"#sphere-generator",className:"block text-primary hover:underline",children:"3. Using the Sphere Generator for Domes"}),e.jsx("a",{href:"#small-domes",className:"block text-primary hover:underline",children:"4. Building Small Domes (10-30 Blocks)"}),e.jsx("a",{href:"#medium-domes",className:"block text-primary hover:underline",children:"5. Building Medium Domes (31-60 Blocks)"}),e.jsx("a",{href:"#large-domes",className:"block text-primary hover:underline",children:"6. Building Large Domes (61+ Blocks)"}),e.jsx("a",{href:"#geodesic-domes",className:"block text-primary hover:underline",children:"7. Creating Geodesic Dome Patterns"}),e.jsx("a",{href:"#elliptical-domes",className:"block text-primary hover:underline",children:"8. Elliptical and Elongated Domes"}),e.jsx("a",{href:"#interior-design",className:"block text-primary hover:underline",children:"9. Dome Interior Design Tips"}),e.jsx("a",{href:"#advanced-techniques",className:"block text-primary hover:underline",children:"10. Advanced Dome Techniques"}),e.jsx("a",{href:"#practical-applications",className:"block text-primary hover:underline",children:"11. Practical Applications"}),e.jsx("a",{href:"#conclusion",className:"block text-primary hover:underline",children:"12. Conclusion"})]})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"introduction-domes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"1. Introduction to Minecraft Domes"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Domes"})," represent one of the most visually impressive and technically challenging structures in ",e.jsx("strong",{children:"Minecraft building"}),". These curved ceiling structures have been used in architecture for thousands of years, from ancient Roman temples to modern sports stadiums, and they bring the same grandeur to your Minecraft worlds."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A ",e.jsx("strong",{children:"Minecraft dome"})," is essentially the top half of a sphere, creating a curved roof or ceiling that encloses a circular space below. Unlike flat roofs or simple angled structures, domes provide a sense of volume, openness, and architectural sophistication that transforms ordinary builds into extraordinary ones."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Why Build Domes in Minecraft?"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Dome structures"})," offer numerous advantages for Minecraft builders:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Visual impact"})," - Domes immediately draw the eye and create focal points"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Interior space"})," - The curved ceiling creates spacious, open interiors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Natural lighting"})," - Domes can incorporate skylights and windows effectively"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Historical accuracy"})," - Essential for realistic builds of churches, mosques, and capitols"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Structural elegance"})," - Demonstrates advanced building skills"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Versatility"})," - Works for both survival and creative builds"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"The Challenge of Dome Construction"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Building domes in Minecraft presents unique challenges because you're approximating smooth curves using cubic blocks. The key to success lies in:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:["Understanding how ",e.jsx("strong",{children:"sphere generators"})," calculate layer-by-layer patterns"]}),e.jsxs("li",{children:["Choosing the right ",e.jsx("strong",{children:"dome diameter"})," for your project"]}),e.jsxs("li",{children:["Maintaining ",e.jsx("strong",{children:"symmetry"})," throughout construction"]}),e.jsxs("li",{children:["Planning for ",e.jsx("strong",{children:"structural support"})," during building"]}),e.jsxs("li",{children:["Considering how the dome will connect to ",e.jsx("strong",{children:"walls and foundations"})]})]})]}),e.jsxs("section",{id:"dome-types",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"2. Types of Domes in Minecraft"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Before starting construction, understand the different ",e.jsx("strong",{children:"dome types"})," you can build in Minecraft:"]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Hemispherical Dome (Half-Sphere)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The most common dome type, a ",e.jsx("strong",{children:"hemisphere"})," is exactly half of a perfect sphere. This creates a smooth, symmetrical dome that rises to a height equal to half its diameter. Our",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline mx-1",children:"3D Sphere Generator"}),"produces the exact layers needed for this type."]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Best for"}),": Classical architecture, observatories, capitol buildings"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Difficulty"}),": Moderate"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Required tool"}),": Sphere generator for layer templates"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Shallow Dome (Saucer Dome)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A ",e.jsx("strong",{children:"shallow dome"})," has less height relative to its diameter, creating a flatter, more saucer-like appearance. This is achieved by using only the top portion of a larger sphere or by using ",e.jsx("strong",{children:"elliptical calculations"}),"."]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Best for"}),": Modern buildings, sports arenas, UFO structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Difficulty"}),": Moderate to Advanced"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Required tool"}),": Oval generator or modified sphere calculations"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Pointed Dome (Onion Dome)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Pointed domes"}),", also called onion domes, have a taller profile that comes to a point at the top. Common in Russian and Eastern European architecture, these domes require custom layer calculations or creative combination of sphere sections."]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Best for"}),": Russian churches, fantasy castles, mosques"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Difficulty"}),": Advanced"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Required tool"}),": Custom calculations or sphere + cone combination"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Geodesic Dome"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Geodesic domes"})," use triangular panels to approximate a spherical surface, creating a distinctive faceted appearance. While complex to calculate, they offer unique visual appeal and structural efficiency."]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Best for"}),": Modern architecture, bio-domes, futuristic buildings"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Difficulty"}),": Expert"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Required tool"}),": ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon"})," and ",e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"triangle generators"})]})]})]}),e.jsxs("section",{id:"sphere-generator",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"3. Using the Sphere Generator for Domes"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," is the essential tool for ",e.jsx("strong",{children:"dome construction"}),". Here's how to use it effectively:"]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Step-by-Step Generator Usage"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Determine your dome diameter"})," - This equals the width of your building's circular base"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Enter the diameter"})," in the sphere generator"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Generate the full sphere"})," - The tool shows each layer from bottom to top"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Identify the center layer"})," - This is your dome's base (the widest circle)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use only the top half"})," - Layers above the center form your dome"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Note the block count"})," for each layer to plan materials"]})]}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-primary"})," Understanding Sphere Layers"]}),e.jsxs("p",{className:"text-muted-foreground mb-3",children:["A sphere generator divides the sphere into horizontal ",e.jsx("strong",{children:"layers"})," or ",e.jsx("strong",{children:"slices"}),". Each layer is essentially a circle of a specific diameter. For a 40-block sphere:"]}),e.jsxs("ul",{className:"space-y-2 text-muted-foreground",children:[e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Layer 1 (bottom)"}),": Small circle, approximately 24 blocks diameter"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Layer 10"}),": Larger circle, approaching full diameter"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Layer 20 (center)"}),": Maximum diameter - 40 blocks"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Layers 21-40"}),": Progressively smaller circles - YOUR DOME"]})]})]})}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Converting Sphere Data to Dome Construction"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["When building a dome, you'll work from the ",e.jsx("strong",{children:"base upward"}),":"]}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Build your circular foundation"})," using the center layer dimensions"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Construct walls"})," to the desired height"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Begin dome construction"}),' at wall top, which becomes your "layer 1"']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Place each successive layer"})," following the generator pattern"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Continue until reaching the top"})," where the dome closes"]})]})]}),e.jsxs("section",{id:"small-domes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"4. Building Small Domes (10-30 Blocks)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Small domes"})," are perfect for beginners and work well for specific architectural features. These domes can be completed relatively quickly and don't require enormous material quantities."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"10-15 Block Diameter Domes"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"At this scale, domes appear somewhat blocky but still recognizably domed. Best applications include:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Tower caps"})," - Topping small towers and turrets"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Shrines"})," - Small religious or memorial structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gazebos"})," - Garden pavilion roofs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wells"})," - Decorative well covers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Entry features"})," - Small entrance canopies"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"20-30 Block Diameter Domes"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["This range offers the best balance of ",e.jsx("strong",{children:"visual smoothness"})," and ",e.jsx("strong",{children:"manageable construction"}),". The curves become notably smoother, and the interior space becomes genuinely usable."]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Small chapels"})," - Religious buildings with dome roofs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Planetariums"})," - Astronomy-themed structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Greenhouses"})," - Botanical growing structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tombs"})," - Memorial buildings"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Storage domes"})," - Functional covered storage"]})]}),e.jsx(S,{className:"bg-yellow-500/10 border-yellow-500/30 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-yellow-500"})," Material Estimation for Small Domes"]}),e.jsxs("p",{className:"text-muted-foreground",children:["A hollow ",e.jsx("strong",{children:"25-block diameter hemisphere"})," requires approximately 800-1000 blocks. For survival mode, this translates to roughly 12-15 stacks of your chosen material. Glass domes will require significant sand smelting preparation!"]})]})}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Construction Tips for Small Domes"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Build a support pillar"})," at the center that reaches dome peak height"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mark layer heights"})," on the pillar for reference"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Complete one layer fully"})," before moving to the next"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Work in quadrants"})," to maintain symmetry"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Remove the center pillar"})," when dome is complete"]})]})]}),e.jsxs("section",{id:"medium-domes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"5. Building Medium Domes (31-60 Blocks)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Medium-sized domes"})," create impressive structures that can serve as main buildings or major features. At this scale, domes appear genuinely smooth and provide substantial interior space."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Planning Medium Dome Construction"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Before starting a medium dome, careful planning prevents problems:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Clear adequate space"})," - Ensure no obstructions within and around the build area"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Establish the exact center"})," - Mark it permanently with a distinctive block"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build foundation walls first"})," - Complete the circular base structure"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Calculate materials accurately"})," - A 50-block dome needs 3000-4000 blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Plan access scaffolding"})," - You'll need ways to reach all parts during construction"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Layer-by-Layer Construction Method"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"For medium domes, systematic layer construction is essential:"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Print or display the sphere generator output"})," for constant reference"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Number each layer"})," from base (1) to top"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build complete rings"})," for each layer before ascending"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use scaffolding blocks"})," inside the dome for access"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Verify each layer's diameter"})," against the template before continuing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Remove interior scaffolding"})," after completing the dome"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Applications for Medium Domes"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cathedral domes"})," - Main church roof structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Palace throne rooms"})," - Grand audience chambers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Market halls"})," - Covered marketplace structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Astronomical observatories"})," - Functional or decorative"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Swimming pool enclosures"})," - Indoor aquatic facilities"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Arena centers"})," - Central dome over competition floors"]})]})]}),e.jsxs("section",{id:"large-domes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"6. Building Large Domes (61+ Blocks)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Large domes"})," are major architectural undertakings that create landmark structures. These domes require significant planning, resources, and construction time, but the results are spectacular and can define entire server landscapes."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Resource Requirements"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Large dome construction demands substantial resources:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"75-block diameter dome"}),": 5,000-7,000 blocks (hollow)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"100-block diameter dome"}),": 10,000-15,000 blocks (hollow)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"150-block diameter dome"}),": 25,000-35,000 blocks (hollow)"]})]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"In survival mode, gathering this many blocks requires significant preparation. Consider:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Stone generators"})," for cobblestone-based domes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tree farms"})," for wooden dome construction"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Desert expeditions"})," for sand (glass domes)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mining operations"})," for quartz, prismarine, or other materials"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Construction Strategies for Large Domes"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Large domes require strategic construction approaches:"}),e.jsx("h4",{className:"text-lg font-semibold mb-2 mt-6",children:"Octant Building Method"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Divide the dome into eight sections (octants) and build each one completely before moving to the next. This method:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Makes errors easier to identify and fix"}),e.jsx("li",{children:"Allows multiple builders to work simultaneously"}),e.jsx("li",{children:"Provides sense of progress during long builds"})]}),e.jsx("h4",{className:"text-lg font-semibold mb-2 mt-6",children:"Ring-by-Ring Method"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Build complete horizontal rings from bottom to top. This method:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Ensures perfect horizontal alignment"}),e.jsx("li",{children:"Makes counting and verification easier"}),e.jsx("li",{children:"Allows walking on completed rings for access"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Mega Structure Applications"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Capitol buildings"})," - Government center pieces"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Sports stadiums"})," - Retractable or permanent dome roofs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Bio-domes"})," - Enclosed ecosystem structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Space station modules"})," - Sci-fi orbital habitats"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cathedral complexes"})," - Major religious structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"City centerpieces"})," - Landmark buildings"]})]})]}),e.jsxs("section",{id:"geodesic-domes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"7. Creating Geodesic Dome Patterns"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Geodesic domes"})," offer a distinctive alternative to smooth domes. Instead of curved surfaces, they use triangular panels arranged in a pattern that approximates a sphere. While more complex to build, geodesic domes create striking, modern-looking structures."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Understanding Geodesic Geometry"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Geodesic domes are based on ",e.jsx("strong",{children:"icosahedral geometry"})," - dividing a sphere's surface into triangular segments. Key concepts include:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Frequency"})," - How many times the basic triangles are subdivided"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hub points"})," - Vertices where triangular panels meet"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Strut lengths"})," - The edges of triangular panels"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Panels"})," - The triangular surfaces filling the frame"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Building Geodesic Domes in Minecraft"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Creating geodesic domes in Minecraft requires combining multiple tools:"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Plan the overall dome size"})," using the sphere generator as reference"]}),e.jsxs("li",{children:[e.jsxs("strong",{children:["Use the ",e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"triangle generator"})]})," to create individual panels"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Design the framework"})," using diagonal lines between hub points"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fill triangular panels"})," with your chosen material"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Alternate panel colors"})," for visual interest (optional)"]})]}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(St,{className:"w-5 h-5 text-primary"})," Geodesic Dome Tip"]}),e.jsxs("p",{className:"text-muted-foreground",children:["Start with a ",e.jsx("strong",{children:"low-frequency geodesic dome"})," (larger triangles, fewer panels) for your first attempt. Higher frequency domes with smaller triangles look more spherical but are much more complex to construct. A frequency-2 dome with 80 triangular panels is a good starting point."]})]})})]}),e.jsxs("section",{id:"elliptical-domes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"8. Elliptical and Elongated Domes"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Not all domes need to be perfectly hemispherical. ",e.jsx("strong",{children:"Elliptical domes"})," have different dimensions in different directions, creating unique architectural effects."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Types of Elliptical Domes"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Stretched dome"})," - Longer on one axis, creating an elongated appearance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Flattened dome"})," - Lower height-to-width ratio, more saucer-like"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tall dome"})," - Higher height-to-width ratio, more pointed appearance"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Using the Oval Generator for Elliptical Domes"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," helps create the base layers for elliptical domes:"]}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Determine your dome's footprint"})," - the oval base dimensions"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Generate the base oval"})," using width and height parameters"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Calculate intermediate layers"})," - each layer is a smaller oval"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Plan the dome height"})," - independent of the base dimensions"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Generate ovals for each layer"})," progressively smaller toward the top"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Applications for Elliptical Domes"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Train stations"})," - Long, stretched dome roofs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Sports arenas"})," - Oval playing field coverage"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Church transepts"})," - Dome over crossing area"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hangars"})," - Aircraft or ship storage"]})]})]}),e.jsxs("section",{id:"interior-design",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"9. Dome Interior Design Tips"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"A beautiful dome exterior deserves an equally impressive interior. The curved ceiling creates unique design opportunities and challenges."}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Lighting Considerations"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Dome interiors benefit from thoughtful lighting design:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Central chandelier"})," - A hanging light fixture at the dome's apex"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ring lighting"})," - Lights placed in circular patterns following dome curves"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Skylight integration"})," - Glass panels in the dome for natural light"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Uplighting"})," - Ground-level lights illuminating the dome surface"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hidden lighting"})," - Glowstone or sea lanterns behind decorative elements"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Floor Design"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"The floor beneath a dome should complement its circular nature:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Circular patterns"})," - Concentric rings echoing the dome shape"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Radial designs"})," - Patterns radiating from center"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Compass roses"})," - Directional floor medallions"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Contrasting materials"})," - Different blocks highlighting the circular space"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Wall-to-Dome Transitions"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"The transition from vertical walls to curved dome requires attention:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cornices"})," - Decorative horizontal bands at the transition"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Drum sections"})," - Cylindrical walls between base and dome"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pendentives"})," - Triangular transitions from square to circular"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Squinches"})," - Arched corner supports"]})]})]}),e.jsxs("section",{id:"advanced-techniques",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"10. Advanced Dome Techniques"}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Double-Shell Domes"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Double-shell construction"})," creates an inner and outer dome with space between. Benefits include:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Hidden lighting between shells"}),e.jsx("li",{children:"Structural support space"}),e.jsx("li",{children:"Different interior and exterior materials"}),e.jsx("li",{children:"More impressive proportions"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Ribbed Dome Construction"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Ribbed domes"})," feature structural ribs radiating from the apex:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Build main ribs first using sphere generator guides"}),e.jsx("li",{children:"Fill panels between ribs"}),e.jsx("li",{children:"Use contrasting materials for ribs and panels"}),e.jsx("li",{children:"Consider adding decorative elements along ribs"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Oculus Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["An ",e.jsx("strong",{children:"oculus"})," is an opening at the dome's apex, like the famous Pantheon in Rome:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Stop dome construction before reaching the top"}),e.jsx("li",{children:"Use glass panes or leave open"}),e.jsx("li",{children:"Frame with decorative ring"}),e.jsx("li",{children:"Consider weather effects in survival mode"})]})]}),e.jsxs("section",{id:"practical-applications",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"11. Practical Applications"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Here are detailed examples of dome applications in Minecraft:"}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Observatory Build"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Base"}),": 30-block diameter circular building"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dome"}),': Hemisphere with opening slot for "telescope"']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Interior"}),": Central pillar with viewing platform"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Materials"}),": Stone brick walls, glass dome sections"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Capitol Building"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Base"}),": 50-block diameter dome on elevated drum"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dome"}),": White concrete or quartz hemisphere"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Interior"}),": Rotunda with balcony levels"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Details"}),": Columned drum, lantern on top"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Underwater Base"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Dome"}),": Glass hemisphere for underwater viewing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Size"}),": 40-block diameter for substantial interior"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Features"}),": Airlock entry, conduit for water breathing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Lighting"}),": Sea lanterns integrated into floor"]})]})]}),e.jsxs("section",{id:"conclusion",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"12. Conclusion"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Building ",e.jsx("strong",{children:"domes in Minecraft"})," transforms ordinary structures into architectural masterpieces. Whether you're creating a small shrine or a massive cathedral, the techniques in this guide will help you achieve professional-quality results across all ",e.jsx("strong",{children:"Minecraft games"}),"."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["These dome-building skills work whether you ",e.jsx("strong",{children:"play Minecraft"})," in ",e.jsx("strong",{children:"Minecraft creative mode"}),",",e.jsx("strong",{children:" Minecraft survival"}),", or on ",e.jsx("strong",{children:"Minecraft servers"})," like ",e.jsx("strong",{children:"Hypixel"}),". Our tools support ",e.jsx("strong",{children:"Minecraft Java Edition"}),", ",e.jsx("strong",{children:"Minecraft Bedrock Edition PC"}),",",e.jsx("strong",{children:" Minecraft Pocket Edition"}),", and ",e.jsx("strong",{children:"Minecraft Education Edition"}),"."]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Key takeaways for successful dome building:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})," for accurate layer templates"]}),e.jsx("li",{children:"Plan materials and construction access before starting"}),e.jsx("li",{children:"Work systematically - either ring-by-ring or octant-by-octant"}),e.jsx("li",{children:"Consider interior design alongside exterior construction"}),e.jsxs("li",{children:["Works with ",e.jsx("strong",{children:"modded Minecraft"})," including ",e.jsx("strong",{children:"CurseForge"}),", ",e.jsx("strong",{children:"RLCraft"}),", and ",e.jsx("strong",{children:"FTB Minecraft"})]}),e.jsx("li",{children:"Explore variations like geodesic and elliptical domes for unique builds"}),e.jsxs("li",{children:["Combine with ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circles"})," and",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline mx-1",children:"ovals"})," for complex structures"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["With practice and the right tools, you'll be creating stunning ",e.jsx("strong",{children:"Minecraft domes"}),"that showcase your ",e.jsx("strong",{children:"Minecraft building"})," expertise. Perfect for ",e.jsx("strong",{children:"Skyblock Minecraft"})," bases,",e.jsx("strong",{children:" Minecraft Pixelmon"})," arenas, and custom ",e.jsx("strong",{children:"Minecraft world"})," builds. Happy building!"]})]})]}),e.jsxs("section",{className:"border-t pt-8 mt-12",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Related Building Tools"}),e.jsxs("div",{className:"grid sm:grid-cols-2 md:grid-cols-3 gap-4",children:[e.jsxs(p,{to:"/sphere-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Sphere Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Essential for dome layer templates"})]}),e.jsxs(p,{to:"/",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Circle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create dome base foundations"})]}),e.jsxs(p,{to:"/oval-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Oval Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"For elliptical dome bases"})]})]})]}),e.jsxs("nav",{className:"flex justify-between items-center border-t pt-8 mt-8",children:[e.jsxs(p,{to:"/blog/how-to-build-perfect-circles-in-minecraft",className:"text-primary hover:underline flex items-center gap-2",children:[e.jsx(Kl,{className:"w-4 h-4"})," Previous: Circle Building Guide"]}),e.jsxs(p,{to:"/blog/minecraft-tower-designs-spiral-staircases",className:"text-primary hover:underline flex items-center gap-2",children:["Next: Tower Designs ",e.jsx(Q,{className:"w-4 h-4"})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},l6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Tower Designs Guide",url:"/blog/tower-designs-guide"}],r=[{question:"How do you build a tower in Minecraft?",answer:"Start with a circular or square foundation using a circle generator for round towers. Build walls upward to your desired height (typically 20-50 blocks). Add floors every 4-6 blocks using slabs or full blocks. Include windows, arrow slits, and a spiral staircase for interior access. Top with a roof, battlements, or observation deck."},{question:"How do you make a spiral staircase in Minecraft?",answer:"Use a spiral staircase generator to get the exact block placement. For manual building: place stairs in a circular pattern, rotating 90 degrees every few steps. Each level should rise by one block. A 7-block diameter tower fits a comfortable spiral staircase with 8 stairs per full rotation."},{question:"What is the best tower height in Minecraft?",answer:"Tower height depends on purpose: watchtowers work at 15-25 blocks, castle towers at 25-40 blocks, and lighthouse towers at 40-60 blocks. For build limit projects, towers can reach 320 blocks. Consider that taller towers need wider bases for visual stability and structural proportion."},{question:"How do you build a wizard tower in Minecraft?",answer:"Create a circular base (15-20 blocks diameter) using a circle generator. Build upward with slight narrowing every 10 blocks. Add a conical roof using stairs and slabs. Include mystical elements like purple stained glass, end rods, enchanting tables, bookshelves, and brewing stations inside."},{question:"How do you make a lighthouse in Minecraft?",answer:"Build a tall circular tower (40-60 blocks high, 10-15 block diameter at base). Taper the tower slightly as it rises. Create a glass-enclosed top section with sea lanterns or glowstone for the light. Add a red and white striped exterior using concrete blocks. Include a spiral staircase inside."}];return e.jsx(se,{title:"Minecraft Tower Designs with Spiral Staircases: Ultimate Building Guide",description:"Create impressive towers with functional spiral staircases in Minecraft. Learn medieval towers, modern skyscrapers, lighthouse designs, and fantasy wizard tower construction.",canonicalPath:"/blog/tower-designs-guide",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Tower Designs Guide"}),e.jsxs("header",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Building"}),e.jsx(L,{variant:"outline",children:"Intermediate"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Minecraft Tower Designs with Spiral Staircases: Ultimate Building Guide"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Learn to create stunning ",e.jsx("strong",{children:"Minecraft towers"})," with functional ",e.jsx("strong",{children:"spiral staircases"}),". This comprehensive guide covers ",e.jsx("strong",{children:"medieval castle towers"}),", ",e.jsx("strong",{children:"modern skyscrapers"}),",",e.jsx("strong",{children:"lighthouse designs"}),", and ",e.jsx("strong",{children:"fantasy wizard towers"}),"."]}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 16 min read"]})]})]}),e.jsx(S,{className:"mb-12",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Table of Contents"}),e.jsxs("nav",{className:"space-y-2 text-sm",children:[e.jsx("a",{href:"#introduction",className:"block text-primary hover:underline",children:"1. Introduction to Tower Building"}),e.jsx("a",{href:"#spiral-staircase-basics",className:"block text-primary hover:underline",children:"2. Spiral Staircase Fundamentals"}),e.jsx("a",{href:"#generator-tool",className:"block text-primary hover:underline",children:"3. Using the Spiral Staircase Generator"}),e.jsx("a",{href:"#medieval-towers",className:"block text-primary hover:underline",children:"4. Medieval Castle Towers"}),e.jsx("a",{href:"#lighthouse-towers",className:"block text-primary hover:underline",children:"5. Lighthouse Tower Designs"}),e.jsx("a",{href:"#wizard-towers",className:"block text-primary hover:underline",children:"6. Fantasy Wizard Towers"}),e.jsx("a",{href:"#modern-towers",className:"block text-primary hover:underline",children:"7. Modern Tower Designs"}),e.jsx("a",{href:"#structural-tips",className:"block text-primary hover:underline",children:"8. Structural Building Tips"}),e.jsx("a",{href:"#interior-design",className:"block text-primary hover:underline",children:"9. Tower Interior Design"}),e.jsx("a",{href:"#advanced-techniques",className:"block text-primary hover:underline",children:"10. Advanced Techniques"}),e.jsx("a",{href:"#conclusion",className:"block text-primary hover:underline",children:"11. Conclusion"})]})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"introduction",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"1. Introduction to Tower Building"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Towers"})," are among the most iconic structures in ",e.jsx("strong",{children:"Minecraft architecture"}),". From defensive ",e.jsx("strong",{children:"castle turrets"})," to mystical ",e.jsx("strong",{children:"wizard spires"}),", towers add vertical drama and functionality to any build. When combined with elegant ",e.jsx("strong",{children:"spiral staircases"}),", towers become both visually impressive and practically useful."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["This comprehensive guide explores every aspect of ",e.jsx("strong",{children:"tower construction in Minecraft"}),", with special emphasis on incorporating ",e.jsx("strong",{children:"spiral staircases"})," that provide functional access while enhancing aesthetic appeal."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Why Build Towers with Spiral Staircases?"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Spiral staircases"})," offer significant advantages over straight staircases in tower construction:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Space efficiency"})," - Spiral stairs occupy a circular footprint, maximizing usable floor area"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Aesthetic elegance"})," - The helical pattern creates visual interest at every level"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Structural integration"})," - Spirals naturally fit within circular tower walls"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Historical accuracy"})," - Real medieval towers often featured spiral staircases"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Continuous access"})," - No need for landings or direction changes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Defensive design"})," - Historical spirals favored right-handed defenders"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Tower Building Prerequisites"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Before starting tower construction, ensure you have:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Circle generator knowledge"})," - Towers rely on ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circular floor plans"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Spiral staircase templates"})," - Use our ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"generator tool"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Material calculations"})," - Towers require substantial block quantities"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Height planning"})," - Determine total tower height before building"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Purpose definition"})," - Know what each tower level will contain"]})]})]}),e.jsxs("section",{id:"spiral-staircase-basics",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"2. Spiral Staircase Fundamentals"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Understanding ",e.jsx("strong",{children:"spiral staircase mechanics"})," is essential for successful tower construction. These helical structures wrap around a central axis, creating continuous vertical access within minimal floor space."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Anatomy of a Spiral Staircase"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Every ",e.jsx("strong",{children:"Minecraft spiral staircase"})," consists of several key components:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Central column"})," - The vertical axis around which stairs rotate"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Treads"})," - The horizontal stepping surfaces (typically stairs or slabs)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Risers"})," - The vertical height between each tread"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rotation angle"})," - Degrees turned per step (commonly 90° per full block height)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Outer radius"})," - Distance from center to outer stair edge"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Inner radius"})," - Width of the central column or void"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Spiral Staircase Dimensions"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Spiral staircase sizing"})," depends on your tower diameter:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Minimum functional spiral"}),": 3x3 blocks (1 block center, 1 block stairs)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Comfortable spiral"}),": 5x5 blocks (1 block center, 2 blocks stairs)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Grand spiral"}),": 7x7+ blocks (larger center, wider treads)"]})]}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-primary"})," Staircase Height Calculation"]}),e.jsxs("p",{className:"text-muted-foreground",children:["For standard spiral staircases with 4 steps per full rotation:",e.jsx("strong",{children:" Total steps = Tower height × 4"}),". A 20-block tall tower needs 80 stair blocks for a complete spiral staircase from bottom to top."]})]})}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Step Configuration Options"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Choose your step configuration based on desired aesthetics and functionality:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Full stair blocks"})," - Most common, provides half-block rise per step"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Slab-based stairs"})," - Quarter-block rise, smoother ascent"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Alternating slabs"})," - Creates gentler slope with more steps"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Full block steps"})," - Dramatic, requires jumping (not recommended)"]})]})]}),e.jsxs("section",{id:"generator-tool",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"3. Using the Spiral Staircase Generator"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"}),"eliminates the complexity of calculating spiral patterns. This tool provides layer-by-layer templates for any staircase configuration."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Generator Parameters"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"The spiral staircase generator accepts several key parameters:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Outer radius"})," - Total radius from center to outer edge"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Inner radius"})," - Size of central column or void"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Height"})," - Total vertical rise of the staircase"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Direction"})," - Clockwise or counter-clockwise rotation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Step style"})," - Full stairs, slabs, or blocks"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Reading Generator Output"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"The generator displays your spiral staircase as horizontal layers. Each layer shows:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Block positions"})," - Which blocks to place at that height"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Stair orientation"})," - Direction each stair block should face"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Central column"})," - Position of support column (if any)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wall connection"})," - Where stairs meet tower walls"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Integrating Stairs with Tower Walls"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"When building spiral staircases inside circular towers:"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Generate your tower circle"})," using the ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Generate your spiral staircase"})," with matching radius"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Overlay the patterns"})," to see where stairs meet walls"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build walls first"}),", leaving stair positions open"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Install stairs"})," connecting to wall blocks"]})]})]}),e.jsxs("section",{id:"medieval-towers",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"4. Medieval Castle Towers"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Medieval tower designs"})," represent the classic application of ",e.jsx("strong",{children:"circular towers"}),"with ",e.jsx("strong",{children:"spiral staircases"}),". These structures were the backbone of castle defenses and remain popular in Minecraft castle builds."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Corner Tower (Turret) Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Corner turrets"})," anchor castle walls and provide defensive positions:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Diameter"}),": 8-12 blocks (exterior)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Height"}),": 15-25 blocks above wall level"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Staircase"}),": 3x3 internal spiral"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Features"}),": Arrow slits, battlement crown, conical roof"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Materials"}),": Stone brick, cobblestone, deepslate"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Keep Tower (Main Tower) Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The ",e.jsx("strong",{children:"central keep tower"})," serves as the castle's last defense and lord's residence:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Diameter"}),": 15-25 blocks (exterior)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Height"}),": 30-50 blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Staircase"}),": 5x5 grand spiral with central column"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Features"}),": Multiple floors, great hall, solar chamber"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Materials"}),": Reinforced stone, iron doors, decorated interiors"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Gatehouse Tower Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Gatehouse towers"})," flank castle entrances and control access:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Diameter"}),": 10-15 blocks each (paired towers)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Height"}),": 20-30 blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Staircase"}),": 3x3 spiral in each tower"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Features"}),": Portcullis mechanism, murder holes, guard rooms"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Materials"}),": Heavy stone with iron reinforcement"]})]}),e.jsx(S,{className:"bg-yellow-500/10 border-yellow-500/30 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-yellow-500"})," Historical Accuracy Tip"]}),e.jsx("p",{className:"text-muted-foreground",children:"Real medieval spiral staircases typically spiraled clockwise (ascending). This gave right-handed defenders on upper floors an advantage when fighting attackers climbing up, as defenders could swing their sword arms freely while attackers were restricted by the central column. Consider this for authentic castle builds!"})]})})]}),e.jsxs("section",{id:"lighthouse-towers",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"5. Lighthouse Tower Designs"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Lighthouse towers"})," are iconic coastal structures that combine beautiful architecture with functional purpose. The ",e.jsx("strong",{children:"tapered circular design"})," with internal",e.jsx("strong",{children:"spiral staircase"})," makes them perfect Minecraft projects."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Classic Lighthouse Structure"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Traditional ",e.jsx("strong",{children:"lighthouse design"})," features a tapered tower with light room:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Base diameter"}),": 15-20 blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Top diameter"}),": 8-12 blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Height"}),": 40-60 blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Staircase"}),": Continuous spiral from base to lantern room"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Light source"}),": Glowstone, sea lanterns, or beacon"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Tapered Tower Construction"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Creating the characteristic lighthouse taper requires careful planning:"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Plan diameter changes"})," - Decide where tower narrows"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use multiple circle sizes"})," from our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"generator"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Maintain stair continuity"})," - Adjust spiral at transition points"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Create smooth transitions"})," - Step in gradually, not abruptly"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Lantern Room Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The ",e.jsx("strong",{children:"lighthouse lantern room"})," crowns the structure:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Glass walls"})," - Allow light to shine in all directions"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Central light"})," - Glowstone column or beacon"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Walkway"})," - External gallery for maintenance access"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Roof"})," - Copper or prismarine dome"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Lighthouse Variants"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Skeletal lighthouse"})," - Open framework, stairs visible externally"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Attached keeper's house"})," - Living quarters at base"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rock-mounted lighthouse"})," - Built on ocean monument or custom rock"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Modern lighthouse"})," - Concrete and steel aesthetic"]})]})]}),e.jsxs("section",{id:"wizard-towers",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"6. Fantasy Wizard Towers"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Wizard towers"})," offer creative freedom beyond realistic architecture. These mystical structures can break conventional rules while incorporating magical elements and dramatic ",e.jsx("strong",{children:"spiral staircases"}),"."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Classic Wizard Tower Elements"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Essential features of ",e.jsx("strong",{children:"fantasy wizard towers"}),":"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Unusual proportions"})," - Taller and thinner than practical"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Crooked design"})," - Slightly leaning or twisted"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Multiple spires"})," - Secondary towers attached at angles"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floating elements"})," - Disconnected platforms or orbs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Magical lighting"})," - End rods, soul lanterns, enchanting particles"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Observatory dome"})," - Star-watching chamber at top"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Interior Wizard Tower Levels"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Plan these thematic levels for your ",e.jsx("strong",{children:"wizard tower interior"}),":"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Entry hall"})," - Welcoming area with magical defenses"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Library"})," - Bookshelves, lecterns, enchanting setup"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Laboratory"})," - Brewing stands, cauldrons, experiments"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Study"})," - Desk, maps, magical artifacts"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Bedroom"})," - Canopy bed, personal items"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Observatory"})," - Open dome, end crystal, telescope"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Spiral Staircase Variations for Wizards"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Magical spiral staircases"})," can defy conventional physics:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Floating stairs"})," - No center column, steps hang in air"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Glass stairs"})," - Transparent treads for ethereal effect"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Alternating materials"})," - Different blocks creating patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Impossible geometry"})," - Stairs that seem to go both ways"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Illuminated treads"})," - Glowing blocks as steps"]})]})]}),e.jsxs("section",{id:"modern-towers",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"7. Modern Tower Designs"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Modern tower architecture"})," in Minecraft uses contemporary materials and clean lines. While circular towers are less common in modern architecture, they create striking",e.jsx("strong",{children:"skyscrapers"})," and ",e.jsx("strong",{children:"observation towers"}),"."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Cylindrical Skyscraper Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Round skyscrapers"})," offer unique design opportunities:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Diameter"}),": 25-40 blocks (consistent or tapered)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Height"}),": 60-100+ blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Materials"}),": Glass, concrete, iron blocks, quartz"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Features"}),": Curtain wall glass, sky lobbies, rooftop helipad"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Staircase"}),": Central core with emergency spiral stairs"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Observation Tower Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Observation towers"})," like the CN Tower or Space Needle:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Shaft"}),": Narrow central column (8-12 blocks)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pod"}),": Wide observation deck (20-30 blocks)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Spire"}),": Antenna structure above pod"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Access"}),": Internal elevator shaft and emergency stairs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Viewing"}),": 360-degree glass observation area"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Industrial Tower Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Industrial towers"})," serve functional purposes:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Water towers"})," - Elevated tank on supporting structure"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cooling towers"})," - Hyperboloid shape with open top"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Radio towers"})," - Lattice structure with antenna"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Grain silos"})," - Cylindrical storage structures"]})]})]}),e.jsxs("section",{id:"structural-tips",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"8. Structural Building Tips"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Building sturdy, visually pleasing ",e.jsx("strong",{children:"towers"})," requires attention to structural details."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Foundation Considerations"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Dig foundation"})," - Extend tower base 2-3 blocks underground"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use heavy materials"})," at base for visual weight"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Consider terrain"})," - Build on flat ground or create platform"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Plan access"})," - Entry doors at ground level"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Wall Construction Methods"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Single-thickness"})," - One block thick, lighter appearance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Double-thickness"})," - More substantial, allows interior detailing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Reinforced corners"})," - Extra blocks at stress points"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Buttresses"})," - External supports for tall towers"]})]}),e.jsx(S,{className:"bg-destructive/10 border-destructive/30 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(Hr,{className:"w-5 h-5 text-destructive"})," Common Building Mistake"]}),e.jsx("p",{className:"text-muted-foreground",children:"Avoid making towers too thin relative to their height. A tower taller than 8x its diameter looks unstable and unrealistic. For a 50-block tall tower, use at least 6-7 block diameter for visual stability."})]})}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Roof and Crown Options"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Conical roof"})," - Classic medieval appearance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Flat battlement"})," - Defensive crenellations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dome cap"})," - Use ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Spire"})," - Pointed finial extending upward"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Open platform"})," - Observation deck with railings"]})]})]}),e.jsxs("section",{id:"interior-design",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"9. Tower Interior Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Tower interiors"})," present unique challenges due to circular floor plans and central staircases. Maximize usable space while creating functional, attractive rooms."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Floor Level Planning"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Entry level"})," - Reception, storage, guard post"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Working levels"})," - Crafting, enchanting, brewing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Living levels"})," - Bedroom, dining, recreation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Special levels"})," - Library, treasury, armory"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Top level"})," - Observation, signal room, throne"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Furniture Placement"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Work with the circular space rather than against it:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Curved furniture arrangements"})," - Follow wall curve"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Central focus points"})," - Tables, features opposite stairs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wall-mounted items"})," - Maximize floor space"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Window alcoves"})," - Create seating or storage in wall thickness"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Lighting Strategies"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Wall sconces"})," - Torches or lanterns at regular intervals"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Central chandelier"})," - Hanging from ceiling center"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floor lighting"})," - Carpet over light sources"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Natural light"})," - Windows at each level"]})]})]}),e.jsxs("section",{id:"advanced-techniques",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"10. Advanced Techniques"}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Double Helix Staircase"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Create two interlocking spiral staircases that never meet - a stunning architectural feature:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Requires larger tower diameter (minimum 9x9 interior)"}),e.jsx("li",{children:"Two separate spirals offset by 180 degrees"}),e.jsx("li",{children:"Different materials distinguish each spiral"}),e.jsx("li",{children:"Use for impressive entrance halls or throne rooms"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"External Spiral Staircase"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Wrap stairs around tower exterior for dramatic effect:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Requires substantial supporting structure"}),e.jsx("li",{children:"Add railings for safety (fences or walls)"}),e.jsx("li",{children:"Consider weather protection (covered sections)"}),e.jsx("li",{children:"Creates interesting silhouette"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Multi-Tower Complexes"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Connect multiple towers for grand structures:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Bridge connections"})," - Walkways between towers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Shared bases"})," - Multiple towers from one foundation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Clustered spires"})," - Cathedral-style groupings"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Defensive walls"})," - Towers connected by curtain walls"]})]})]}),e.jsxs("section",{id:"conclusion",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"11. Conclusion"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Tower building with spiral staircases"})," combines technical skill with creative vision. Whether constructing ",e.jsx("strong",{children:"medieval castle turrets"}),", ",e.jsx("strong",{children:"coastal lighthouses"}),",",e.jsx("strong",{children:"mystical wizard spires"}),", or ",e.jsx("strong",{children:"modern skyscrapers"}),", the principles remain consistent: careful planning, accurate circular construction, and thoughtful interior design."]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Key takeaways for successful tower construction:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase generator"})," for accurate templates"]}),e.jsx("li",{children:"Plan tower dimensions before starting construction"}),e.jsxs("li",{children:["Generate ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circular floor plans"})," for each level"]}),e.jsx("li",{children:"Build walls before installing spiral staircases"}),e.jsx("li",{children:"Consider interior functionality alongside exterior aesthetics"}),e.jsxs("li",{children:["Combine with ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"domes"})," and",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline mx-1",children:"geometric shapes"})," for complex builds"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["With practice and the right tools, you'll create ",e.jsx("strong",{children:"impressive Minecraft towers"}),"that dominate skylines and showcase your building expertise. Happy building!"]})]})]}),e.jsxs("section",{className:"border-t pt-8 mt-12",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Related Building Tools"}),e.jsxs("div",{className:"grid sm:grid-cols-2 md:grid-cols-3 gap-4",children:[e.jsxs(p,{to:"/spiral-staircase-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Spiral Staircase Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Essential for tower staircases"})]}),e.jsxs(p,{to:"/",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Circle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create circular floor plans"})]}),e.jsxs(p,{to:"/sphere-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Sphere Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"For dome roof caps"})]})]})]}),e.jsxs("nav",{className:"flex justify-between items-center border-t pt-8 mt-8",children:[e.jsxs(p,{to:"/blog/minecraft-dome-building-guide",className:"text-primary hover:underline flex items-center gap-2",children:[e.jsx(Kl,{className:"w-4 h-4"})," Previous: Dome Building Guide"]}),e.jsxs(p,{to:"/blog/minecraft-geometric-patterns-shapes",className:"text-primary hover:underline flex items-center gap-2",children:["Next: Geometric Patterns ",e.jsx(Q,{className:"w-4 h-4"})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},c6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Geometric Patterns Guide",url:"/blog/geometric-patterns-guide"}],r=[{question:"How do you make geometric patterns in Minecraft?",answer:"Use shape generators for hexagons, triangles, diamonds, and circles to create precise patterns. Plan your design on graph paper or a generator tool first. Use contrasting block colors for visual impact. Start from the center and work outward for symmetrical patterns. Combine multiple shapes for complex tessellations."},{question:"What is a hexagon pattern in Minecraft?",answer:"A hexagon pattern uses six-sided shapes that tessellate perfectly, creating honeycomb-like designs. Use a hexagon generator to get accurate block placement. These patterns work excellently for floors, walls, and decorative features. Combine with triangles to fill gaps in large-scale hexagonal designs."},{question:"How do you make diamond patterns in Minecraft floors?",answer:"Create diamond patterns by placing blocks in diagonal arrangements. Use two contrasting colors alternating in a checkerboard rotated 45 degrees. For larger diamonds, use a diamond generator to get the exact proportions. Scale ranges from small 3x3 diamonds to large 15x15 feature diamonds."},{question:"What are tessellating patterns in Minecraft?",answer:"Tessellating patterns are shapes that fit together without gaps or overlaps. In Minecraft, squares, triangles, and hexagons tessellate perfectly. Create these by repeating the same shape across a surface. Use different colors for adjacent shapes to create visual interest and define boundaries."},{question:"How do you build triangular shapes in Minecraft?",answer:"Use a triangle generator for accurate equilateral triangles. Build by creating a flat base, then adding progressively shorter rows above, each indented by one block. For 3D triangular structures, stack 2D triangles with each layer slightly smaller than the one below."}];return e.jsx(se,{title:"Minecraft Geometric Patterns and Shapes: Design Inspiration Guide",description:"Explore geometric building patterns using hexagons, triangles, diamonds, and ovals in Minecraft. Perfect for floor designs, wall decorations, and architectural features.",canonicalPath:"/blog/geometric-patterns-guide",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Geometric Patterns Guide"}),e.jsxs("header",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Design"}),e.jsx(L,{variant:"outline",children:"All Levels"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl font-bold mb-4",children:"Minecraft Geometric Patterns and Shapes: Design Inspiration Guide"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Master ",e.jsx("strong",{children:"geometric design patterns"})," in Minecraft using ",e.jsx("strong",{children:"hexagons"}),",",e.jsx("strong",{children:" triangles"}),", ",e.jsx("strong",{children:"diamonds"}),", and ",e.jsx("strong",{children:"ovals"}),". This guide provides inspiration and techniques for creating stunning ",e.jsx("strong",{children:"floor designs"}),", ",e.jsx("strong",{children:"wall decorations"}),", and ",e.jsx("strong",{children:"architectural features"}),"."]}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 14 min read"]})]})]}),e.jsx(S,{className:"mb-12",children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Table of Contents"}),e.jsxs("nav",{className:"space-y-2 text-sm",children:[e.jsx("a",{href:"#introduction",className:"block text-primary hover:underline",children:"1. Introduction to Geometric Design"}),e.jsx("a",{href:"#hexagon-patterns",className:"block text-primary hover:underline",children:"2. Hexagon Patterns and Applications"}),e.jsx("a",{href:"#triangle-designs",className:"block text-primary hover:underline",children:"3. Triangle Designs and Tessellations"}),e.jsx("a",{href:"#diamond-patterns",className:"block text-primary hover:underline",children:"4. Diamond and Rhombus Patterns"}),e.jsx("a",{href:"#oval-applications",className:"block text-primary hover:underline",children:"5. Oval and Ellipse Applications"}),e.jsx("a",{href:"#combining-shapes",className:"block text-primary hover:underline",children:"6. Combining Multiple Shapes"}),e.jsx("a",{href:"#floor-designs",className:"block text-primary hover:underline",children:"7. Floor Pattern Designs"}),e.jsx("a",{href:"#wall-decorations",className:"block text-primary hover:underline",children:"8. Wall and Ceiling Decorations"}),e.jsx("a",{href:"#architectural-features",className:"block text-primary hover:underline",children:"9. Architectural Shape Features"}),e.jsx("a",{href:"#color-theory",className:"block text-primary hover:underline",children:"10. Color Theory for Patterns"}),e.jsx("a",{href:"#practical-projects",className:"block text-primary hover:underline",children:"11. Practical Project Ideas"}),e.jsx("a",{href:"#conclusion",className:"block text-primary hover:underline",children:"12. Conclusion"})]})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"introduction",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"1. Introduction to Geometric Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Geometric patterns"})," have been fundamental to human art and architecture for millennia. From ancient ",e.jsx("strong",{children:"Islamic tilework"})," to ",e.jsx("strong",{children:"Art Deco"})," facades, geometric shapes create visual interest through repetition, symmetry, and mathematical precision. In ",e.jsx("strong",{children:"Minecraft"}),", these same principles apply to creating stunning builds that stand out from simple rectangular constructions."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["This guide explores how to use ",e.jsx("strong",{children:"geometric shapes"})," - specifically ",e.jsx("strong",{children:"hexagons"}),",",e.jsx("strong",{children:"triangles"}),", ",e.jsx("strong",{children:"diamonds"}),", and ",e.jsx("strong",{children:"ovals"})," - to elevate your Minecraft builds from functional to extraordinary. Whether you're designing floors, decorating walls, or creating unique architectural features, geometric patterns provide endless creative possibilities."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Why Geometric Patterns Matter"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Geometric design patterns"})," offer several advantages in Minecraft building:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Visual complexity"})," - Simple shapes repeated create sophisticated designs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mathematical precision"})," - Patterns align perfectly when calculated correctly"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Historical authenticity"})," - Many building styles rely on geometric decoration"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Scalability"})," - Patterns work at any size, from small details to massive floors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Material efficiency"})," - Repeating units make material calculation easy"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Uniqueness"})," - Stand out from basic rectangular builds"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Essential Shape Generators"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our suite of ",e.jsx("strong",{children:"shape generator tools"})," makes geometric building accessible:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Hexagon Generator"})})," - Creates perfect six-sided shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Triangle Generator"})})," - Builds triangles of any size"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Diamond Generator"})})," - Produces diamond/rhombus shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Oval Generator"})})," - Creates elliptical patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Circle Generator"})})," - Foundation for curved geometric designs"]})]})]}),e.jsxs("section",{id:"hexagon-patterns",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"2. Hexagon Patterns and Applications"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Hexagons"})," are nature's favorite shape - found in beehives, snowflakes, and basalt columns. Their six-sided symmetry makes them perfect for ",e.jsx("strong",{children:"tessellation"})," (fitting together without gaps), creating stunning patterns that flow naturally across surfaces."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Hexagon Tessellation Basics"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Hexagonal tessellation"})," creates honeycomb-like patterns:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Each hexagon shares edges with six neighbors"}),e.jsx("li",{children:"The pattern extends infinitely in all directions"}),e.jsx("li",{children:"Works best on flat horizontal surfaces"}),e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagon generator"})," for accurate shapes"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Hexagon Pattern Applications"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Hexagonal patterns"})," work beautifully for:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Floor tiles"})," - Honeycomb flooring in grand halls"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Garden paths"})," - Stepping stone patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ceiling designs"})," - Looking up at hexagonal panels"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pool bottoms"})," - Underwater geometric patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wall sections"})," - Decorative panel arrangements"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Roof patterns"})," - Alternative to standard roofing"]})]}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-primary"})," Hexagon Size Recommendations"]}),e.jsxs("p",{className:"text-muted-foreground",children:["For floor patterns, use ",e.jsx("strong",{children:"hexagons 7-11 blocks across"})," for best visual impact. Smaller hexagons (5 blocks) work for detailed wall decorations, while larger hexagons (15+ blocks) create dramatic statement floors in great halls."]})]})}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Two-Color Hexagon Patterns"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Create visual interest with alternating colors:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Checkerboard variation"})," - Alternating filled and outlined hexagons"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Stripe pattern"})," - Rows of different colored hexagons"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Random scatter"})," - Irregular color distribution for organic feel"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gradient effect"})," - Transitioning colors across the pattern"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Three-Dimensional Hexagon Structures"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Take hexagons into 3D for architectural features:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Hexagonal columns"})," - Six-sided pillars"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hexagonal towers"})," - Buildings with hexagonal floor plans"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Raised hexagon tiles"})," - 3D floor with depth"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hexagonal frames"})," - Window or door surrounds"]})]})]}),e.jsxs("section",{id:"triangle-designs",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"3. Triangle Designs and Tessellations"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Triangles"})," are the simplest polygon and the most versatile for pattern creation. They tessellate perfectly, combine to form other shapes, and create dynamic visual energy through their pointed geometry."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Triangle Types in Minecraft"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our ",e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"triangle generator"})," creates:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Equilateral triangles"})," - All sides equal, most symmetrical"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Isoceles triangles"})," - Two equal sides, common in roofing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Right triangles"})," - One 90-degree angle, useful for corners"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Scalene triangles"})," - All sides different, unique shapes"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Triangle Tessellation Patterns"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Triangular tessellation"})," creates dynamic patterns:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Basic triangle grid"})," - Alternating up and down triangles"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hexagon formation"})," - Six triangles form a hexagon"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Star patterns"})," - Triangles radiating from center points"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pinwheel patterns"})," - Rotating triangle arrangements"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Triangle Applications"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Roof gables"})," - Triangular end walls"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floor medallions"})," - Star patterns from triangular segments"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wall arrows"})," - Directional indicators"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mountain symbols"})," - Decorative landscape representations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Warning signs"})," - Triangular alert symbols"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Crown molding"})," - Zigzag decorative borders"]})]}),e.jsx(S,{className:"bg-yellow-500/10 border-yellow-500/30 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-yellow-500"})," Triangle Design Tip"]}),e.jsxs("p",{className:"text-muted-foreground",children:[e.jsx("strong",{children:"Triangles pointing upward"})," create feelings of aspiration and growth.",e.jsx("strong",{children:"Downward-pointing triangles"})," suggest stability and grounding. Use this psychological effect intentionally in your designs - cathedrals use upward triangles in spires, while defensive structures use downward triangles in crenellations."]})]})}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"3D Triangle Structures"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Pyramids"})," - Four triangular faces meeting at apex"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tetrahedrons"})," - Four-sided solids for decorative elements"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Prisms"})," - Triangular cross-section extended"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"A-frame buildings"})," - Triangle-based architecture"]})]})]}),e.jsxs("section",{id:"diamond-patterns",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"4. Diamond and Rhombus Patterns"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Diamonds"})," (or rhombi) create elegant patterns that suggest luxury and precision. Their four-fold symmetry and 45-degree orientation add sophistication to any surface."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Diamond Pattern Basics"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our ",e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"diamond generator"})," for:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Standard diamonds"})," - Classic gem shape"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Elongated diamonds"})," - Stretched vertically or horizontally"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Square diamonds"})," - Rotated 45-degree squares"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nested diamonds"})," - Concentric diamond outlines"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Classic Diamond Patterns"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Diamond tessellation"})," creates these popular patterns:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Harlequin pattern"})," - Checkerboard of colored diamonds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Argyle pattern"})," - Overlapping diamonds with diagonal lines"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Diamond lattice"})," - Grid of diamond outlines"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Quatrefoil"})," - Four diamonds forming flower shape"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Diamond Applications"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Floor tiles"})," - Classic diamond tile patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Window patterns"})," - Diamond-paned glass"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wall paneling"})," - Raised diamond decorations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fence patterns"})," - Diamond-shaped lattice"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Playing card symbols"})," - Decorative gaming motifs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Jewelry displays"})," - Gem-themed decoration"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Creating Diamond Floor Patterns"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For impressive ",e.jsx("strong",{children:"diamond floor patterns"}),":"]}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Plan your grid"})," - Determine diamond size and spacing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mark the corners"})," - Place reference blocks at diamond points"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Connect diagonally"})," - Build diamond outlines"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fill alternating diamonds"})," - Create checkerboard effect"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Add border"})," - Frame the pattern with contrasting edge"]})]})]}),e.jsxs("section",{id:"oval-applications",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"5. Oval and Ellipse Applications"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Ovals"})," and ",e.jsx("strong",{children:"ellipses"})," bring organic curves to geometric design. Unlike circles, their varied dimensions create directional flow and visual interest."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Oval Characteristics"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"oval generator"})," creates:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Horizontal ovals"})," - Wider than tall, landscape orientation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Vertical ovals"})," - Taller than wide, portrait orientation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Near-circular ovals"})," - Subtle elliptical variation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Extreme ellipses"})," - Highly elongated shapes"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Oval Pattern Applications"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Racing tracks"})," - Oval racecourse shapes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Arena floors"})," - Elliptical sports fields"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Garden beds"})," - Organic planting areas"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pool shapes"})," - Elegant swimming pools"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Frame designs"})," - Oval picture frames"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mirror shapes"})," - Decorative wall mirrors"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Combining Ovals with Other Shapes"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Ovals complement angular shapes"})," beautifully:"]}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Oval in rectangle"})," - Centered medallion in rectangular room"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Oval with triangles"})," - Pointed accents around curved central feature"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nested ovals"})," - Concentric ellipses for ripple effects"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Oval chains"})," - Linked ellipses for border patterns"]})]})]}),e.jsxs("section",{id:"combining-shapes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"6. Combining Multiple Shapes"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The most sophisticated ",e.jsx("strong",{children:"geometric patterns"})," combine multiple shapes. Understanding how shapes interact enables complex designs that captivate viewers."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Shape Combination Principles"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Complementary shapes"})," - Triangles fit between hexagons"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nesting shapes"})," - Smaller shapes inside larger ones"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Interlocking shapes"})," - Shapes that puzzle together"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Overlapping shapes"})," - Transparent layering effects"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Classic Combination Patterns"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Stars from triangles"})," - Six triangles form six-pointed star"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Flowers from ovals"})," - Overlapping ovals create petal effects"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Celtic knots"})," - Interwoven diamond and curved shapes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Islamic geometric"})," - Complex star and polygon combinations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Art Deco patterns"})," - Chevrons, circles, and rays"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Planning Complex Patterns"}),e.jsxs("ol",{className:"list-decimal pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Sketch on paper first"})," - Plan your design before building"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Identify repeating units"})," - Find the smallest pattern that tiles"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Generate each shape separately"})," - Use appropriate tools"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Test at small scale"})," - Build one repeating unit first"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Expand systematically"})," - Copy the unit across your surface"]})]})]}),e.jsxs("section",{id:"floor-designs",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"7. Floor Pattern Designs"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Geometric floor patterns"})," transform ordinary rooms into architectural statements. From simple two-tone designs to elaborate multi-shape compositions, floors offer the largest canvas for geometric expression."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Simple Geometric Floors"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Checkerboard"})," - Classic alternating squares"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Diagonal checkerboard"})," - Rotated 45 degrees"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Stripe patterns"})," - Linear bands of color"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Border with center"})," - Frame around central field"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Intermediate Geometric Floors"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Hexagonal tiles"})," - Honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Diamond grids"})," - Harlequin designs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Central medallion"})," - Circle or oval focal point"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Compass rose"})," - Directional star pattern"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Advanced Geometric Floors"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Multi-shape tessellation"})," - Combined hexagons, triangles, squares"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Radial designs"})," - Patterns emanating from center"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Interlocking patterns"})," - Complex puzzle-like arrangements"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Optical illusions"})," - 3D-appearing flat patterns"]})]}),e.jsx(S,{className:"bg-primary/5 border-primary/20 mb-6 mt-8",children:e.jsxs(G,{className:"pt-6",children:[e.jsxs("h3",{className:"text-lg font-semibold mb-3 flex items-center gap-2",children:[e.jsx(Lr,{className:"w-5 h-5 text-primary"})," Floor Material Suggestions"]}),e.jsxs("p",{className:"text-muted-foreground",children:["Best blocks for ",e.jsx("strong",{children:"geometric floors"}),": ",e.jsx("strong",{children:"Terracotta"})," (16 colors),",e.jsx("strong",{children:"Concrete"})," (16 colors), ",e.jsx("strong",{children:"Wool"})," (soft appearance),",e.jsx("strong",{children:"Glazed Terracotta"})," (built-in patterns), ",e.jsx("strong",{children:"Quartz"})," (clean lines), and ",e.jsx("strong",{children:"Polished Stone"})," varieties (natural elegance)."]})]})})]}),e.jsxs("section",{id:"wall-decorations",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"8. Wall and Ceiling Decorations"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Vertical surfaces provide different design challenges and opportunities than floors.",e.jsx("strong",{children:"Wall patterns"})," must work with windows, doors, and structural elements."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Wall Pattern Types"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Wainscoting patterns"})," - Lower wall decoration"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Panel designs"})," - Raised or inset geometric shapes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Frieze patterns"})," - Decorative bands near ceiling"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Full wall murals"})," - Floor-to-ceiling geometric art"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Ceiling Pattern Ideas"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Coffered ceilings"})," - Grid of recessed geometric panels"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Radial patterns"})," - Designs centered on chandelier point"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Beam patterns"})," - Geometric arrangement of exposed beams"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dome decorations"})," - Patterns following dome curves"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"3D Wall Features"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Raised panels"})," - Protruding geometric shapes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Recessed niches"})," - Cut-in geometric spaces"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Relief patterns"})," - Varying depth creates shadow play"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Layered designs"})," - Multiple depths of pattern"]})]})]}),e.jsxs("section",{id:"architectural-features",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"9. Architectural Shape Features"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Beyond decorative patterns, ",e.jsx("strong",{children:"geometric shapes"})," define architectural features that give buildings their character and functionality."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Window Shapes"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Circular windows"})," - ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Rose windows"}),", portholes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Oval windows"})," - ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Eye-shaped openings"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Diamond windows"})," - ",e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Decorative accent windows"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hexagonal windows"})," - ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Unique modern features"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Triangular windows"})," - ",e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Gable end windows"})]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Door and Archway Shapes"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Pointed arches"})," - Gothic triangular tops"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Round arches"})," - Roman and Romanesque style"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Horseshoe arches"})," - Islamic architecture feature"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Diamond frames"})," - Dramatic entrance surrounds"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Roof Shapes"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Hexagonal towers"})," - Six-sided roof structures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pyramidal roofs"})," - Four-triangle construction"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Conical roofs"})," - Circular base with pointed top"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dome roofs"})," - ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"Spherical caps"})]})]})]}),e.jsxs("section",{id:"color-theory",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"10. Color Theory for Patterns"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Color choices"})," dramatically affect how geometric patterns are perceived. Understanding color relationships helps create cohesive, visually pleasing designs."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Color Scheme Types"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Monochromatic"})," - Different shades of one color"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Complementary"})," - Opposite colors on color wheel"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Analogous"})," - Adjacent colors on color wheel"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Triadic"})," - Three equally spaced colors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Neutral with accent"})," - Gray/white/black with one bright color"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Minecraft Color Palettes"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Warm palette"})," - Red, orange, yellow terracotta"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cool palette"})," - Blue, cyan, green concrete"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Earth tones"})," - Brown, tan, cream blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Jewel tones"})," - Deep purple, emerald, ruby"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pastels"})," - Light pink, cyan, lime"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Contrast and Visibility"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"For patterns to read clearly:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"High contrast"})," - Patterns are sharp and visible"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Low contrast"})," - Subtle, sophisticated effects"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Value contrast"})," - Light vs dark more important than hue"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Test at distance"})," - Ensure pattern reads from far away"]})]})]}),e.jsxs("section",{id:"practical-projects",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"11. Practical Project Ideas"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Apply your ",e.jsx("strong",{children:"geometric pattern knowledge"})," with these project suggestions:"]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Beginner Projects"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Checkerboard floor"})," - Simple two-color square pattern"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Diamond path"})," - Garden walkway with diamond tiles"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Circular garden bed"})," - Use ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Triangle banner wall"})," - Row of triangular flags"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Intermediate Projects"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Honeycomb floor"})," - Hexagonal tile grand hall"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Compass rose"})," - Central floor medallion"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gothic rose window"})," - Circular with radiating pattern"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Argyle wall"})," - Diamond pattern with line overlay"]})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3 mt-8",children:"Advanced Projects"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Islamic star pattern"})," - Complex multi-shape tessellation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Art Deco lobby"})," - Integrated floor, wall, ceiling patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Celtic knot garden"})," - Interwoven paths and beds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Geodesic greenhouse"})," - Full ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagonal structure"})]})]})]}),e.jsxs("section",{id:"conclusion",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"12. Conclusion"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Geometric patterns"})," elevate Minecraft builds from functional to extraordinary. By mastering ",e.jsx("strong",{children:"hexagons"}),", ",e.jsx("strong",{children:"triangles"}),", ",e.jsx("strong",{children:"diamonds"}),", and ",e.jsx("strong",{children:"ovals"}),", you gain a powerful toolkit for creating visually stunning structures that stand out in any world."]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Key takeaways for geometric design success:"}),e.jsxs("ul",{className:"list-disc pl-6 mb-4 text-muted-foreground space-y-2",children:[e.jsx("li",{children:"Use our shape generators for accurate templates"}),e.jsx("li",{children:"Plan patterns before building - sketch on paper first"}),e.jsx("li",{children:"Start simple and progress to complex combinations"}),e.jsx("li",{children:"Consider color contrast and visibility"}),e.jsx("li",{children:"Test small sections before committing to large patterns"}),e.jsx("li",{children:"Combine shapes thoughtfully for sophisticated effects"})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Explore our full suite of tools: ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"}),",",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline mx-1",children:"Hexagon Generator"}),",",e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline mx-1",children:"Triangle Generator"}),",",e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline mx-1",children:"Diamond Generator"}),",",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline mx-1",children:"Oval Generator"}),", and",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline mx-1",children:"Sphere Generator"}),"."]})]})]}),e.jsxs("section",{className:"border-t pt-8 mt-12",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Shape Generator Tools"}),e.jsxs("div",{className:"grid sm:grid-cols-2 md:grid-cols-3 gap-4",children:[e.jsxs(p,{to:"/hexagon-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Hexagon Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Perfect six-sided shapes"})]}),e.jsxs(p,{to:"/triangle-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Triangle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Versatile triangular shapes"})]}),e.jsxs(p,{to:"/diamond-generator",className:"p-4 border rounded-lg hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold",children:"Diamond Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Elegant diamond patterns"})]})]})]}),e.jsxs("nav",{className:"flex justify-between items-center border-t pt-8 mt-8",children:[e.jsxs(p,{to:"/blog/minecraft-tower-designs-spiral-staircases",className:"text-primary hover:underline flex items-center gap-2",children:[e.jsx(Kl,{className:"w-4 h-4"})," Previous: Tower Designs"]}),e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"Back to All Articles"})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},d6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Underwater Bases Guide",url:"/blog/underwater-bases-guide"}],r=[{question:"How do you build underwater in Minecraft?",answer:"Use doors, signs, or soul sand to create air pockets while building. Place sponges to remove water from enclosed areas. Build a frame first, seal it completely, then use sponges inside to clear water. Enchant your armor with Respiration and Aqua Affinity for extended underwater building time."},{question:"How do you remove water from a Minecraft build?",answer:"The fastest method is using sponges - place them inside your sealed structure to absorb water, then smelt wet sponges in a furnace to reuse them. For large areas, fill with sand or gravel first, then remove it. Alternatively, use flying machines with sponges for massive underwater projects."},{question:"What is a conduit in Minecraft?",answer:"A conduit is a beacon-like block that provides Conduit Power when activated underwater. It grants water breathing, night vision, and increased mining speed in a radius around it. Build a frame using prismarine blocks around the conduit to activate and extend its range up to 96 blocks."},{question:"How do you make an underwater glass dome in Minecraft?",answer:"Use a sphere generator to plan your dome shape. Build the frame underwater using temporary blocks for support. Place glass blocks following the sphere pattern for the top half only. Seal completely, then use sponges inside to remove water. Add lighting with sea lanterns or glowstone."},{question:"What is the best location for an underwater base?",answer:"Build near ocean monuments for prismarine resources and guardian farms. Deep ocean biomes offer more space and darker aesthetics. Coral reefs provide beautiful surroundings but are in shallower water. Consider proximity to land for easy access and resource transportation."}];return e.jsx(se,{title:"How to Build Underwater Bases in Minecraft: Complete Guide 2026 | Ocean Monuments & Sea Builds",description:"★ Master underwater building in Minecraft! Learn to build stunning ocean bases, underwater domes, aquariums, and submarine hangars. Includes water removal techniques, glass dome construction, and survival tips.",canonicalPath:"/blog/underwater-bases-guide",keywords:"minecraft underwater base, minecraft ocean base, underwater dome minecraft, minecraft aquarium build, how to build underwater minecraft, minecraft conduit base, ocean monument base, minecraft underwater building",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Underwater Bases Guide"}),e.jsxs("header",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Advanced Tutorial"}),e.jsx(L,{variant:"outline",children:"Ocean Building"})]}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-6",children:["How to Build ",e.jsx("span",{className:"text-primary",children:"Underwater Bases"})," in Minecraft: Complete Guide"]}),e.jsx("p",{className:"text-xl text-muted-foreground mb-6",children:"Master the art of underwater construction in Minecraft. From simple ocean outposts to elaborate underwater cities, learn every technique for building beneath the waves."}),e.jsxs("div",{className:"flex items-center gap-6 text-sm text-muted-foreground flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"}),"Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"20 min read"]})]})]}),e.jsx(S,{className:"mb-12 bg-muted/30",children:e.jsxs(G,{className:"p-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Table of Contents"}),e.jsxs("nav",{className:"space-y-2 text-sm",children:[e.jsx("a",{href:"#introduction",className:"block text-muted-foreground hover:text-primary",children:"1. Introduction to Underwater Building"}),e.jsx("a",{href:"#preparation",className:"block text-muted-foreground hover:text-primary",children:"2. Essential Preparation and Equipment"}),e.jsx("a",{href:"#water-removal",className:"block text-muted-foreground hover:text-primary",children:"3. Water Removal Techniques"}),e.jsx("a",{href:"#dome-construction",className:"block text-muted-foreground hover:text-primary",children:"4. Building Underwater Domes"}),e.jsx("a",{href:"#base-designs",className:"block text-muted-foreground hover:text-primary",children:"5. Underwater Base Design Ideas"}),e.jsx("a",{href:"#conduit-power",className:"block text-muted-foreground hover:text-primary",children:"6. Using Conduit Power"}),e.jsx("a",{href:"#ocean-monument",className:"block text-muted-foreground hover:text-primary",children:"7. Converting Ocean Monuments"}),e.jsx("a",{href:"#aquariums",className:"block text-muted-foreground hover:text-primary",children:"8. Building Aquariums"}),e.jsx("a",{href:"#submarine-hangars",className:"block text-muted-foreground hover:text-primary",children:"9. Submarine Hangars and Docks"}),e.jsx("a",{href:"#survival-tips",className:"block text-muted-foreground hover:text-primary",children:"10. Survival Mode Tips"})]})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"introduction",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(c2,{className:"w-6 h-6 text-primary"}),"Introduction to Underwater Building"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Underwater bases"})," represent one of the most challenging and rewarding building projects in Minecraft. The ocean biome offers unique opportunities for creative builders, from mysterious deep-sea laboratories to luxurious underwater mansions with panoramic views of marine life. However, ",e.jsx("strong",{children:"building underwater in Minecraft"})," requires special techniques and careful planning that differ significantly from surface construction."]}),e.jsxs("p",{children:["This comprehensive guide will teach you everything you need to know about ",e.jsx("strong",{children:"Minecraft underwater construction"}),". You'll learn multiple water removal methods, how to construct perfect ",e.jsx("strong",{children:"underwater domes"})," using our",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:" 3D sphere generator"}),", and advanced techniques for creating functional underwater facilities that look stunning and work efficiently."]}),e.jsxs("p",{children:["Whether you're playing in ",e.jsx("strong",{children:"Minecraft Java Edition"})," or ",e.jsx("strong",{children:"Bedrock Edition"}),", these techniques apply to both platforms. We'll cover everything from basic ocean outposts to elaborate underwater cities that would make even Aquaman jealous."]})]}),e.jsxs("section",{id:"preparation",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(s2,{className:"w-6 h-6 text-primary"}),"Essential Preparation and Equipment"]}),e.jsxs("p",{children:["Before diving into your ",e.jsx("strong",{children:"underwater building project"}),", you'll need to gather essential equipment and prepare properly. Underwater construction in survival mode requires specific items that make the process manageable and even enjoyable."]}),e.jsx("h3",{children:"Required Equipment for Underwater Building"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Respiration Enchantment"})," - Essential helmet enchantment that extends underwater breathing time. Respiration III gives you 60 seconds of air, making it much easier to work underwater."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Aqua Affinity Enchantment"})," - Removes the mining speed penalty underwater. Without this, breaking blocks takes 5x longer, making construction extremely tedious."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Depth Strider Enchantment"})," - Speeds up underwater movement. Depth Strider III allows you to move at normal walking speed underwater."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Turtle Shell Helmet"})," - Provides Water Breathing effect for 10 seconds when you enter water. Can be combined with Respiration for maximum air time."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Potions of Water Breathing"})," - 8-minute underwater breathing (regular) or 3-minute (splash). Essential for large projects."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Potions of Night Vision"})," - The ocean floor is dark. Night vision makes building underwater much easier and more enjoyable."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Conduit"})," - The ultimate underwater tool. Provides permanent Water Breathing, Night Vision, and Haste within range."]})]}),e.jsx("h3",{children:"Building Materials for Underwater Bases"}),e.jsxs("p",{children:["Not all blocks work equally well underwater. Here are the best materials for ",e.jsx("strong",{children:"underwater construction"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Glass and Glass Panes"})," - Perfect for windows and observation areas. Prismarine frames with glass panels create stunning underwater views."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Prismarine Blocks"})," - Thematically perfect for ocean builds. Dark prismarine, prismarine bricks, and sea lanterns create an authentic oceanic aesthetic."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Concrete"})," - Smooth, modern appearance. Gray and light blue concrete work well for contemporary underwater bases."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Quartz"})," - Clean, bright appearance that contrasts beautifully with the dark ocean depths."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Sea Lanterns"})," - Natural underwater lighting that matches the ocean theme perfectly."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Copper Blocks"})," - Oxidized copper creates a weathered, nautical appearance perfect for submarine aesthetics."]})]}),e.jsx("h3",{children:"Location Selection"}),e.jsxs("p",{children:["Choosing the right location for your ",e.jsx("strong",{children:"underwater base"})," is crucial. Consider these factors:"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Ocean Depth"})," - Deeper waters provide more building space but require more water removal. Warm ocean biomes are shallower and easier for beginners."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Proximity to Ocean Monuments"})," - Building near or converting an ocean monument gives you access to prismarine and guardians."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Coral Reefs"})," - Warm ocean biomes with coral reefs create naturally beautiful surroundings for your underwater base."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Distance from Shore"})," - Consider how you'll travel to and from your base. Building near shore makes access easier but limits depth."]})]})]}),e.jsxs("section",{id:"water-removal",children:[e.jsx("h2",{children:"Water Removal Techniques"}),e.jsxs("p",{children:["The biggest challenge in ",e.jsx("strong",{children:"underwater building"})," is removing water from your construction area. There are several methods, each with advantages for different situations."]}),e.jsx("h3",{children:"Method 1: Sand/Gravel Drop Technique"}),e.jsxs("p",{children:["The classic method for ",e.jsx("strong",{children:"removing water in Minecraft"}),". Drop columns of sand or gravel from the surface to the ocean floor, creating walls around your build area. Once enclosed, you can remove water block by block using sponges."]}),e.jsxs("ol",{children:[e.jsx("li",{children:"Mark the perimeter of your build area on the ocean surface"}),e.jsx("li",{children:"Drop sand columns from the surface to the ocean floor"}),e.jsx("li",{children:"Create a complete enclosed wall around your area"}),e.jsx("li",{children:"Use sponges to absorb water inside the enclosure"}),e.jsx("li",{children:"Remove the sand walls and replace with your actual building materials"})]}),e.jsx("h3",{children:"Method 2: Sponge Room Technique"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Sponges"})," are the most efficient way to remove large amounts of water. Wet sponges can be dried in a furnace and reused. For large projects, this is the preferred method."]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Build your structure's outer walls first (while still flooded)"}),e.jsx("li",{children:"Divide large spaces into smaller sections with temporary walls"}),e.jsx("li",{children:"Place sponges strategically to absorb maximum water"}),e.jsx("li",{children:"Sponges absorb water in a 7×7×7 area (up to 65 blocks per sponge)"}),e.jsx("li",{children:"Collect wet sponges, dry them in a furnace, and repeat"})]}),e.jsx("h3",{children:"Method 3: Flying Machine Water Remover (Advanced)"}),e.jsxs("p",{children:["For experienced players, ",e.jsx("strong",{children:"flying machines with sponges"})," can automate water removal over large areas. This redstone-powered solution is ideal for massive underwater projects but requires technical knowledge to construct."]}),e.jsx("h3",{children:"Method 4: Sugar Cane/Kelp Displacement"}),e.jsx("p",{children:"A clever technique using waterlogged blocks. Plant sugar cane or kelp columns, then break them from the bottom. This creates air pockets that can be expanded. Useful for small areas or when you don't have sponges yet."})]}),e.jsxs("section",{id:"dome-construction",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(M2,{className:"w-6 h-6 text-primary"}),"Building Underwater Domes"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Underwater glass domes"})," are perhaps the most iconic underwater structure in Minecraft. They provide stunning 360-degree views of marine life while creating a spacious, well-lit interior. Our",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:" 3D Sphere Generator"})," is essential for creating perfect dome shapes."]}),e.jsx("h3",{children:"Planning Your Dome"}),e.jsxs("p",{children:["Use our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})," to plan your dome:"]}),e.jsxs("ol",{children:[e.jsx("li",{children:"Decide on your dome diameter (20-40 blocks is ideal for living spaces)"}),e.jsx("li",{children:'Generate a sphere with our tool and select "Hollow" option'}),e.jsx("li",{children:"Use the layer-by-layer view to understand which blocks to place at each Y-level"}),e.jsx("li",{children:"For a dome (half-sphere), only build the top half of the sphere"}),e.jsx("li",{children:"Download the pattern for reference while building"})]}),e.jsx("h3",{children:"Dome Construction Steps"}),e.jsxs("ol",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Mark the Center"})," - Place a marker block at the exact center of your dome location on the ocean floor"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build the Floor"})," - Create a circular floor using our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," with your dome's diameter"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Construct the Frame"})," - Build the dome frame layer by layer, following the sphere generator pattern"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fill with Glass"})," - Replace frame blocks with glass blocks or panes for the viewing areas"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Remove Water"})," - Use sponges to clear water from inside the dome"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Seal and Decorate"})," - Check for leaks and add interior decorations"]})]}),e.jsx("h3",{children:"Multi-Dome Complexes"}),e.jsxs("p",{children:["Create impressive ",e.jsx("strong",{children:"underwater cities"})," by connecting multiple domes with glass tunnels:"]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Use smaller domes (10-15 blocks) for specialized rooms"}),e.jsx("li",{children:"Connect domes with 3×3 or 5×5 glass tunnels"}),e.jsx("li",{children:"Create a central hub dome with tunnels radiating outward"}),e.jsx("li",{children:"Vary dome sizes for visual interest"}),e.jsx("li",{children:"Include viewing galleries in the tunnels"})]})]}),e.jsxs("section",{id:"base-designs",children:[e.jsx("h2",{children:"Underwater Base Design Ideas"}),e.jsxs("p",{children:["Here are several ",e.jsx("strong",{children:"underwater base designs"})," to inspire your builds:"]}),e.jsx("h3",{children:"1. Research Station"}),e.jsx("p",{children:"A scientific facility dedicated to studying ocean life. Features include specimen tanks, observation windows, laboratory spaces, and diving airlocks. Use white concrete and glass for a clean, clinical aesthetic."}),e.jsx("h3",{children:"2. Underwater Mansion"}),e.jsx("p",{children:"A luxurious living space beneath the waves. Include grand entrance halls with floor-to-ceiling windows, bedrooms with aquarium walls, underwater gardens visible through glass floors, and elegant dining areas."}),e.jsx("h3",{children:"3. Submarine Base"}),e.jsx("p",{children:"A military-style installation with submarine docking bays, command centers, torpedo storage areas, and crew quarters. Use dark materials like blackstone and deepslate for an imposing appearance."}),e.jsx("h3",{children:"4. Atlantean City"}),e.jsx("p",{children:"A mythical underwater civilization with ancient-looking architecture. Use prismarine, sea lanterns, and weathered copper. Include temple structures, market areas, and residential districts connected by coral-lined pathways."}),e.jsx("h3",{children:"5. Aquarium Complex"}),e.jsxs("p",{children:["A public aquarium showcasing Minecraft's marine life. Build large tanks for different species, observation tunnels that pass through exhibits, touch pools, and educational displays. This design works great combined with our ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"oval generator"})," for tank shapes."]})]}),e.jsxs("section",{id:"conduit-power",children:[e.jsx("h2",{children:"Using Conduit Power"}),e.jsxs("p",{children:["The ",e.jsx("strong",{children:"Conduit"})," is a game-changing block for underwater builders. When activated, it provides Conduit Power, which grants Water Breathing, Night Vision, and Haste to nearby players."]}),e.jsx("h3",{children:"Crafting and Activating a Conduit"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Crafting Recipe"})," - 8 Nautilus Shells surrounding 1 Heart of the Sea"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Heart of the Sea"})," - Found only in buried treasure chests"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nautilus Shells"})," - Obtained from drowned, fishing, or wandering traders"]})]}),e.jsx("h3",{children:"Conduit Frame Requirements"}),e.jsx("p",{children:"The conduit must be surrounded by a frame of prismarine, dark prismarine, prismarine bricks, or sea lanterns:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Minimum Activation"})," - 16 blocks for basic activation (32 block range)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Medium Range"})," - 32 blocks for extended range (64 block range)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Maximum Range"})," - 42 blocks for full range (96 block range)"]})]}),e.jsx("h3",{children:"Integrating Conduits Into Your Base"}),e.jsx("p",{children:"Position your conduit strategically to maximize coverage. For large bases, you may need multiple conduits. The conduit frame can be integrated into your base's design, using the prismarine blocks as decorative elements."})]}),e.jsxs("section",{id:"ocean-monument",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(u2,{className:"w-6 h-6 text-primary"}),"Converting Ocean Monuments"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Ocean monuments"})," provide a ready-made underwater structure that can be converted into an impressive base. The prismarine architecture and existing rooms give you a head start on your underwater project."]}),e.jsx("h3",{children:"Clearing the Monument"}),e.jsxs("ol",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Defeat the Elder Guardians"})," - Three elder guardians must be killed to remove Mining Fatigue"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Clear Regular Guardians"})," - Systematically remove guardians as you explore"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Light Up the Interior"})," - Place sea lanterns to prevent guardian spawning"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Drain the Monument"})," - Use sponges to remove water room by room"]})]}),e.jsx("h3",{children:"Renovation Ideas"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Convert the treasure room into a master bedroom with the original gold block as decoration"}),e.jsx("li",{children:"Transform the main hall into a grand entrance with additional lighting"}),e.jsx("li",{children:"Add glass windows to external walls for ocean views"}),e.jsx("li",{children:"Build additional rooms by expanding outward from the monument"}),e.jsx("li",{children:"Create a guardian farm beneath the base for unlimited prismarine"})]})]}),e.jsxs("section",{id:"aquariums",children:[e.jsx("h2",{children:"Building Aquariums"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Aquariums"})," add life and visual interest to any build, whether underwater or on land. Here's how to create stunning aquarium displays:"]}),e.jsx("h3",{children:"Tank Design Tips"}),e.jsxs("ul",{children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"oval generator"})," for organic tank shapes"]}),e.jsx("li",{children:"Create depth with multiple glass layers"}),e.jsx("li",{children:"Include gravel or sand substrate"}),e.jsx("li",{children:"Add coral, kelp, and sea grass for natural appearance"}),e.jsx("li",{children:"Use sea lanterns or glow lichen for underwater lighting"})]}),e.jsx("h3",{children:"Stocking Your Aquarium"}),e.jsx("p",{children:"Minecraft offers various aquatic mobs to populate your tanks:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Tropical Fish"})," - Available in 2,700+ color combinations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Salmon and Cod"})," - Common fish that add movement"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pufferfish"})," - Interesting behavior but can hurt players"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Axolotls"})," - Adorable amphibians that come in five colors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Glow Squids"})," - Add bioluminescent ambiance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Turtles"})," - Require both water and land areas"]})]}),e.jsx("h3",{children:"Tunnel Aquariums"}),e.jsxs("p",{children:["Create walk-through aquarium tunnels using our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"}),"for the tunnel cross-section. Build the tunnel through a large water-filled tank for an immersive experience."]})]}),e.jsxs("section",{id:"submarine-hangars",children:[e.jsx("h2",{children:"Submarine Hangars and Docks"}),e.jsxs("p",{children:["While Minecraft doesn't have actual submarines, you can build realistic ",e.jsx("strong",{children:"submarine hangars"})," and",e.jsx("strong",{children:"underwater docking facilities"})," for boats and as decorative elements."]}),e.jsx("h3",{children:"Submarine Pen Design"}),e.jsx("p",{children:"Create a partially flooded hangar where boats can enter from underwater:"}),e.jsxs("ol",{children:[e.jsx("li",{children:"Build a large enclosed room extending from the ocean floor upward"}),e.jsx("li",{children:"Leave the bottom portion flooded for boat access"}),e.jsx("li",{children:"Create an air pocket in the upper section for a dry dock area"}),e.jsx("li",{children:"Add platforms, ladders, and storage areas"}),e.jsx("li",{children:"Include lighting and control room aesthetics"})]}),e.jsx("h3",{children:"Moon Pool Design"}),e.jsx("p",{children:"A moon pool is an opening in the floor that allows underwater access while the room stays dry:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Build your room at least 3 blocks above water level"}),e.jsx("li",{children:"Create an opening in the floor that connects to the ocean"}),e.jsx("li",{children:"Water won't rise above its natural level, keeping your room dry"}),e.jsx("li",{children:"Perfect for diving access points in underwater bases"})]})]}),e.jsxs("section",{id:"survival-tips",children:[e.jsx("h2",{children:"Survival Mode Tips"}),e.jsxs("p",{children:["Building underwater in ",e.jsx("strong",{children:"Minecraft survival mode"})," presents unique challenges. Here are tips to make your project more manageable:"]}),e.jsx("h3",{children:"Resource Gathering"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Set up a temporary surface base near your underwater build site"}),e.jsx("li",{children:"Create chests with building materials organized by type"}),e.jsx("li",{children:"Establish a reliable sponge supply (ocean monuments are the source)"}),e.jsx("li",{children:"Farm kelp early - it's useful for fuel and decoration"}),e.jsx("li",{children:"Breed turtles for scutes to make turtle shell helmets"})]}),e.jsx("h3",{children:"Safety Measures"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Always carry a door - placing it creates an instant air pocket"}),e.jsx("li",{children:"Build air pocket stations throughout your construction area"}),e.jsx("li",{children:"Keep backup potions of water breathing in your inventory"}),e.jsx("li",{children:"Light up the area to prevent drowned spawning"}),e.jsx("li",{children:"Be cautious of guardians if building near ocean monuments"})]}),e.jsx("h3",{children:"Efficiency Tips"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Build the outer shell first, then drain and add interior details"}),e.jsx("li",{children:"Work in sections rather than trying to drain everything at once"}),e.jsx("li",{children:"Use efficiency-enchanted tools for faster block breaking"}),e.jsx("li",{children:"Consider silk touch for collecting coral and other delicate blocks"}),e.jsx("li",{children:"Night Vision potions are as important as Water Breathing"})]})]}),e.jsxs("section",{className:"border-t border-border pt-8 mt-12",children:[e.jsx("h2",{children:"Related Tools and Guides"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 not-prose",children:[e.jsxs(p,{to:"/sphere-generator",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"3D Sphere Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create perfect underwater domes with layer-by-layer instructions"})]}),e.jsxs(p,{to:"/",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Circle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Design circular floors and tunnel cross-sections"})]}),e.jsxs(p,{to:"/oval-generator",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Oval Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create organic aquarium tank shapes"})]}),e.jsxs(p,{to:"/blog/dome-building-guide",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Dome Building Guide"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Complete guide to dome construction techniques"})]})]})]}),e.jsxs("section",{className:"mt-8",children:[e.jsx("h2",{children:"More Building Tutorials"}),e.jsxs("ul",{children:[e.jsx("li",{children:e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline",children:"How to Build Perfect Circles in Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:"Tower Designs with Spiral Staircases"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/geometric-patterns-guide",className:"text-primary hover:underline",children:"Geometric Patterns and Shapes Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"Medieval Castle Building Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"Minecraft Pixel Art Guide"})})]})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},u6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Medieval Castles Guide",url:"/blog/medieval-castles-guide"}],r=[{question:"How do you build a medieval castle in Minecraft?",answer:"Start with a square or rectangular foundation using cobblestone or stone bricks. Build thick outer walls (2-3 blocks wide) with battlements on top. Add circular corner towers using a circle generator, construct a gatehouse with iron doors, and build a central keep. Finish with interior rooms, a courtyard, and decorative details like banners and torches."},{question:"What blocks are best for Minecraft castles?",answer:"The best blocks for medieval castles include stone bricks, cobblestone, mossy stone bricks for aged areas, deepslate for darker sections, and oak or spruce wood for doors and supports. Use stone brick stairs and slabs for roofing, iron bars for windows, and wool or carpets for interior decoration."},{question:"How big should a Minecraft castle be?",answer:"A small castle starts at 30x30 blocks for the outer walls. Medium castles range from 50x50 to 80x80 blocks. Large epic castles can exceed 100x100 blocks. Tower diameters typically range from 8-15 blocks for corner towers and 15-25 blocks for main keeps."},{question:"How do you make castle towers in Minecraft?",answer:"Use a circle generator to create the circular base (8-15 block diameter). Build walls up 15-30 blocks high, adding arrow slits every few blocks. Top with a conical roof using stairs or a crenellated battlement. Add a spiral staircase inside using our spiral staircase generator for authentic medieval design."},{question:"What is a curtain wall in Minecraft castle building?",answer:"A curtain wall is the main defensive wall surrounding a castle, connecting towers together. Build it 3-4 blocks thick and 8-15 blocks high with a walkway on top. Add crenellations (alternating raised sections) for defense and arrow slits at regular intervals for archers."}];return e.jsx(se,{title:"How to Build Medieval Castles in Minecraft: Complete Guide 2026 | Castle Building Tips",description:"★ Build epic medieval castles in Minecraft! Learn castle architecture, circular tower construction, curtain walls, gatehouses, and interior design. Step-by-step castle building guide with tips for all skill levels.",canonicalPath:"/blog/medieval-castles-guide",keywords:"minecraft castle build, medieval castle minecraft, how to build a castle minecraft, minecraft castle tower, castle wall minecraft, minecraft gatehouse, castle interior minecraft, fortress minecraft",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Medieval Castles Guide"}),e.jsxs("header",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Building Guide"}),e.jsx(L,{variant:"outline",children:"Medieval"})]}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-6",children:["How to Build ",e.jsx("span",{className:"text-primary",children:"Medieval Castles"})," in Minecraft"]}),e.jsx("p",{className:"text-xl text-muted-foreground mb-6",children:"Master the art of medieval architecture in Minecraft. Learn to build impressive fortresses with towering keeps, defensive walls, and authentic period details."}),e.jsxs("div",{className:"flex items-center gap-6 text-sm text-muted-foreground flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"}),"Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"22 min read"]})]})]}),e.jsx(S,{className:"mb-12 bg-muted/30",children:e.jsxs(G,{className:"p-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Table of Contents"}),e.jsxs("nav",{className:"space-y-2 text-sm",children:[e.jsx("a",{href:"#introduction",className:"block text-muted-foreground hover:text-primary",children:"1. Introduction to Castle Building"}),e.jsx("a",{href:"#castle-types",className:"block text-muted-foreground hover:text-primary",children:"2. Types of Medieval Castles"}),e.jsx("a",{href:"#planning",className:"block text-muted-foreground hover:text-primary",children:"3. Planning Your Castle"}),e.jsx("a",{href:"#circular-towers",className:"block text-muted-foreground hover:text-primary",children:"4. Building Circular Towers"}),e.jsx("a",{href:"#curtain-walls",className:"block text-muted-foreground hover:text-primary",children:"5. Constructing Curtain Walls"}),e.jsx("a",{href:"#gatehouse",className:"block text-muted-foreground hover:text-primary",children:"6. The Gatehouse and Defenses"}),e.jsx("a",{href:"#keep",className:"block text-muted-foreground hover:text-primary",children:"7. The Central Keep"}),e.jsx("a",{href:"#interiors",className:"block text-muted-foreground hover:text-primary",children:"8. Castle Interior Design"}),e.jsx("a",{href:"#details",className:"block text-muted-foreground hover:text-primary",children:"9. Authentic Medieval Details"}),e.jsx("a",{href:"#landscaping",className:"block text-muted-foreground hover:text-primary",children:"10. Castle Landscaping"})]})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"introduction",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(Gj,{className:"w-6 h-6 text-primary"}),"Introduction to Castle Building"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Medieval castles"})," are among the most popular and impressive builds in Minecraft. These magnificent structures combine defensive functionality with architectural beauty, creating landmarks that dominate the landscape. Whether you're building a simple motte-and-bailey fort or an elaborate concentric castle, understanding ",e.jsx("strong",{children:"medieval architecture principles"})," will elevate your builds dramatically."]}),e.jsxs("p",{children:["This comprehensive guide will teach you authentic ",e.jsx("strong",{children:"castle building techniques"})," used by real medieval architects, adapted for Minecraft's block-based construction. You'll learn how to create impressive",e.jsx("strong",{children:"circular towers"})," using our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"}),", design defensive walls with proper crenellations, and build interiors that feel authentically medieval."]}),e.jsxs("p",{children:["Our tools are specifically designed to help with ",e.jsx("strong",{children:"castle construction"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," - Perfect circular tower bases and floor plans"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," - Authentic tower staircases"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," - Roof designs and defensive features"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," - Unique tower shapes"]})]})]}),e.jsxs("section",{id:"castle-types",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(Jl,{className:"w-6 h-6 text-primary"}),"Types of Medieval Castles"]}),e.jsxs("p",{children:["Understanding different ",e.jsx("strong",{children:"castle types"})," helps you choose the right design for your build:"]}),e.jsx("h3",{children:"1. Motte-and-Bailey Castle"}),e.jsx("p",{children:"The earliest form of medieval castle, featuring a raised earthwork (motte) topped with a wooden or stone tower, and an enclosed courtyard (bailey) below. In Minecraft, this is an excellent beginner project:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Build a raised mound 15-20 blocks high"}),e.jsxs("li",{children:["Place a small tower on top (use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," for the base)"]}),e.jsx("li",{children:"Create a fenced bailey area at ground level"}),e.jsx("li",{children:"Add a wooden palisade around the bailey"})]}),e.jsx("h3",{children:"2. Stone Keep Castle"}),e.jsx("p",{children:"Features a large, central rectangular or square tower (the keep) as the main defensive and residential structure. The Tower of London's White Tower is a famous example."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Massive stone walls 3-4 blocks thick"}),e.jsx("li",{children:"Multiple floors with different functions"}),e.jsx("li",{children:"Corner towers for added defense"}),e.jsx("li",{children:"Surrounding curtain wall"})]}),e.jsx("h3",{children:"3. Concentric Castle"}),e.jsx("p",{children:"The most advanced castle design, featuring multiple rings of defensive walls. Each inner wall is higher than the outer, creating overlapping fields of fire. This is the most challenging but rewarding castle type."}),e.jsxs("ul",{children:[e.jsx("li",{children:"Two or more complete wall circuits"}),e.jsx("li",{children:"Towers at regular intervals"}),e.jsx("li",{children:"Multiple gatehouses"}),e.jsx("li",{children:"Large central courtyard with keep"})]}),e.jsx("h3",{children:"4. Palace Castle"}),e.jsx("p",{children:"Later medieval castles that emphasized comfort and display over defense. Features large windows, decorated facades, and luxurious interiors."})]}),e.jsxs("section",{id:"planning",children:[e.jsx("h2",{children:"Planning Your Castle"}),e.jsx("p",{children:"Before placing a single block, careful planning will save you time and create a more coherent build:"}),e.jsx("h3",{children:"Site Selection"}),e.jsx("p",{children:"Real castles were strategically positioned. Consider these factors for your Minecraft castle:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Hilltops"})," - Natural defensive advantage and impressive appearance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rivers"})," - Water provides natural moat and transportation"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cliffs"})," - Dramatic setting with natural defenses on one side"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Crossroads"})," - Strategic importance for controlling trade routes"]})]}),e.jsx("h3",{children:"Scale Planning"}),e.jsx("p",{children:"Determine the size of your castle based on your ambitions:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Small Castle"})," - 50×50 blocks footprint, 1-2 hours build time"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Medium Castle"})," - 100×100 blocks footprint, 5-10 hours build time"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Large Castle"})," - 200×200 blocks footprint, 20+ hours build time"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mega Castle"})," - 300+ blocks footprint, multiple building sessions"]})]}),e.jsx("h3",{children:"Layout Planning"}),e.jsx("p",{children:"Sketch your castle layout including:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Outer wall perimeter with tower positions"}),e.jsx("li",{children:"Gatehouse location(s)"}),e.jsx("li",{children:"Keep placement (usually center or rear)"}),e.jsx("li",{children:"Courtyard buildings (great hall, barracks, chapel)"}),e.jsx("li",{children:"Service areas (kitchens, stables, smithy)"})]})]}),e.jsxs("section",{id:"circular-towers",children:[e.jsx("h2",{children:"Building Circular Towers"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Circular towers"})," are the hallmark of medieval castle architecture. They're stronger than square towers because they deflect projectiles and have no weak corners. Our",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:" circle generator"})," is essential for creating perfect round towers."]}),e.jsx("h3",{children:"Tower Construction Steps"}),e.jsxs("ol",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Generate the Circle"})," - Use our tool to create a circle of your desired diameter (7-15 blocks for typical towers)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build the Foundation"})," - Mark out the circle on the ground"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Construct Walls"})," - Build up the circular walls, keeping them 2 blocks thick for large towers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Add Floors"})," - Insert floor levels every 4-5 blocks of height"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Create Battlements"})," - Add crenellations at the top (alternating blocks)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build the Roof"})," - Choose between flat battlements or conical roofs"]})]}),e.jsx("h3",{children:"Tower Diameter Guide"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"7-9 blocks"})," - Small watchtowers, wall towers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"11-13 blocks"})," - Medium towers, corner towers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"15-17 blocks"})," - Large towers, main gatehouse towers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"19+ blocks"})," - Keep towers, great towers"]})]}),e.jsx("h3",{children:"Spiral Staircases"}),e.jsxs("p",{children:["Every tower needs internal stairs. Use our ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase generator"})," to create authentic spiral stairs:"]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Medieval spiral stairs always wound clockwise (ascending)"}),e.jsx("li",{children:"This gave right-handed defenders an advantage"}),e.jsx("li",{children:"Match your staircase radius to your tower interior"}),e.jsx("li",{children:"Include small landings at each floor level"})]})]}),e.jsxs("section",{id:"curtain-walls",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(Lj,{className:"w-6 h-6 text-primary"}),"Constructing Curtain Walls"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Curtain walls"}),` are the outer defensive walls that encircle the castle. They're called "curtain" walls because they hang between towers like curtains.`]}),e.jsx("h3",{children:"Wall Design Principles"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Height"})," - Walls should be 8-12 blocks high minimum"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Thickness"})," - 2-3 blocks thick for realism and walkways"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wall Walk"})," - Include a walkway along the top for defenders"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Crenellations"})," - Alternating high (merlons) and low (crenels) sections at top"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Arrow Loops"})," - Narrow vertical slits for archers"]})]}),e.jsx("h3",{children:"Tower Spacing"}),e.jsx("p",{children:"Place towers at regular intervals along your walls:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Corner towers are essential"}),e.jsx("li",{children:"Space wall towers every 30-50 blocks"}),e.jsx("li",{children:"Towers should project outward from the wall line"}),e.jsx("li",{children:"Tower height should exceed wall height by 3-5 blocks"})]}),e.jsx("h3",{children:"Wall Features"}),e.jsx("p",{children:"Add these authentic features to your curtain walls:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Machicolations"})," - Overhanging galleries with holes for dropping objects on attackers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Buttresses"})," - Vertical supports that add strength and visual interest"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Postern Gates"})," - Small secondary gates for emergency escape"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Murder Holes"})," - Openings in gate passages for defense"]})]})]}),e.jsxs("section",{id:"gatehouse",children:[e.jsx("h2",{children:"The Gatehouse and Defenses"}),e.jsxs("p",{children:["The ",e.jsx("strong",{children:"gatehouse"})," is the most heavily defended and architecturally impressive part of any castle. It's designed to be the strongest point because it's the obvious entry."]}),e.jsx("h3",{children:"Gatehouse Components"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Twin Towers"})," - Flanking towers that protect the entrance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Portcullis"})," - Iron or wooden gate that drops vertically (use iron bars in Minecraft)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Drawbridge"})," - Movable bridge over the moat (can be functional with redstone)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gate Passage"})," - Covered passage between outer and inner gates"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Murder Holes"})," - Openings in the ceiling of the passage"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Guard Chambers"})," - Rooms flanking the passage for defenders"]})]}),e.jsx("h3",{children:"Building Your Gatehouse"}),e.jsxs("ol",{children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," for the twin tower bases"]}),e.jsx("li",{children:"Build towers 3-5 blocks higher than curtain walls"}),e.jsx("li",{children:"Connect towers with an arch over the entrance"}),e.jsx("li",{children:"Create a 3-wide gate passage"}),e.jsx("li",{children:"Add iron bars for the portcullis effect"}),e.jsx("li",{children:"Include rooms above the passage"}),e.jsx("li",{children:"Add battlements and decorative elements"})]}),e.jsx("h3",{children:"Moat Construction"}),e.jsxs("p",{children:["A ",e.jsx("strong",{children:"moat"})," adds both defense and visual appeal:"]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Dig 4-6 blocks deep around the castle walls"}),e.jsx("li",{children:"Fill with water (or leave dry for a dry moat)"}),e.jsx("li",{children:"Ensure walls are 3+ blocks from the moat edge"}),e.jsx("li",{children:"Add a drawbridge or permanent stone bridge at the gatehouse"})]})]}),e.jsxs("section",{id:"keep",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(l2,{className:"w-6 h-6 text-primary"}),"The Central Keep"]}),e.jsxs("p",{children:["The ",e.jsx("strong",{children:"keep"})," (also called donjon) is the castle's last line of defense and the lord's residence. It's typically the tallest and most imposing structure in the castle."]}),e.jsx("h3",{children:"Keep Design Options"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Square Keep"})," - Traditional Norman style, easier to build"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rectangular Keep"})," - More interior space, common style"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Shell Keep"})," - Circular wall enclosing buildings"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tower Keep"})," - Tall, narrow circular tower (use our circle generator)"]})]}),e.jsx("h3",{children:"Keep Floor Layout"}),e.jsx("p",{children:"A typical keep has these floors from bottom to top:"}),e.jsxs("ol",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Basement/Storage"})," - Supplies, dungeon, well access"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ground Floor"})," - Guard room, service areas (entrance often on this level)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Great Hall"})," - Main gathering space, feasting hall"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Lord's Chambers"})," - Private living quarters"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Chapel"})," - Often on upper floors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Roof/Battlements"})," - Last defensive position"]})]})]}),e.jsxs("section",{id:"interiors",children:[e.jsx("h2",{children:"Castle Interior Design"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Castle interiors"})," bring your build to life. Authentic medieval interiors were a mix of functional and decorative elements."]}),e.jsx("h3",{children:"The Great Hall"}),e.jsx("p",{children:"The heart of castle life, used for dining, ceremonies, and daily activities:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Long central tables with benches"}),e.jsx("li",{children:"Raised dais at one end for the lord's table"}),e.jsx("li",{children:"Large fireplace (multiple if hall is large)"}),e.jsx("li",{children:"Banners and tapestries on walls (use wool or banners)"}),e.jsx("li",{children:"Chandeliers or torch holders"}),e.jsx("li",{children:"Screens passage at the entrance end"})]}),e.jsx("h3",{children:"Bedchambers"}),e.jsx("p",{children:"Private sleeping quarters for the lord and family:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Four-poster beds using fence posts and wool"}),e.jsx("li",{children:"Chests for storage"}),e.jsx("li",{children:"Fireplace for warmth"}),e.jsx("li",{children:"Tapestries and carpets"}),e.jsx("li",{children:"Writing desk and chairs"})]}),e.jsx("h3",{children:"Kitchen"}),e.jsx("p",{children:"Usually separate from the main keep due to fire risk:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Large cooking fireplace with cauldron"}),e.jsx("li",{children:"Preparation tables"}),e.jsx("li",{children:"Storage barrels and chests"}),e.jsx("li",{children:"Well or water source"})]}),e.jsx("h3",{children:"Chapel"}),e.jsx("p",{children:"Every castle had a private chapel:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Altar at the east end"}),e.jsx("li",{children:"Pews or standing room"}),e.jsx("li",{children:"Stained glass windows (use colored glass)"}),e.jsx("li",{children:"Religious symbols and decorations"})]})]}),e.jsxs("section",{id:"details",children:[e.jsx("h2",{children:"Authentic Medieval Details"}),e.jsx("p",{children:"Small details make your castle feel genuinely medieval:"}),e.jsx("h3",{children:"Structural Details"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Buttresses"})," - Stone supports on exterior walls"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Corbels"})," - Stone brackets supporting overhangs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gargoyles"})," - Decorative water spouts (use mob heads)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Heraldic Shields"})," - Family crests on walls (use banners)"]})]}),e.jsx("h3",{children:"Block Palette"}),e.jsx("p",{children:"Choose blocks that create an authentic look:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Stone Bricks"})," - Main construction material"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cobblestone"})," - Older, rougher sections"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mossy Variants"})," - Weathered areas, especially near water"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Deepslate"})," - Darker, more imposing sections"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dark Oak"})," - Interior woodwork, roofing"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Spruce"})," - Heavy structural timbers"]})]}),e.jsx("h3",{children:"Atmospheric Elements"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Torches in wall brackets"}),e.jsx("li",{children:"Cobwebs in neglected corners"}),e.jsx("li",{children:"Armor stands as guards"}),e.jsx("li",{children:"Weapon racks using item frames"}),e.jsx("li",{children:"Flags and banners"})]})]}),e.jsxs("section",{id:"landscaping",children:[e.jsx("h2",{children:"Castle Landscaping"}),e.jsx("p",{children:"The area around your castle is as important as the castle itself:"}),e.jsx("h3",{children:"Castle Grounds"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Outer Bailey"})," - Area between outer and inner walls with service buildings"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Lists"})," - Tournament grounds for jousting"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gardens"})," - Herb gardens, pleasure gardens"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Orchards"})," - Apple and other fruit trees"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fishponds"})," - Food source and decoration"]})]}),e.jsx("h3",{children:"Supporting Village"}),e.jsx("p",{children:"Castles rarely stood alone. Consider adding a village with:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Peasant houses clustered near the castle"}),e.jsx("li",{children:"Market square"}),e.jsx("li",{children:"Church or chapel"}),e.jsx("li",{children:"Mill (water or wind)"}),e.jsx("li",{children:"Blacksmith and other craftsmen"}),e.jsx("li",{children:"Farmland surrounding the settlement"})]})]}),e.jsxs("section",{className:"border-t border-border pt-8 mt-12",children:[e.jsx("h2",{children:"Related Tools and Guides"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 not-prose",children:[e.jsxs(p,{to:"/",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Circle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create perfect circular tower bases"})]}),e.jsxs(p,{to:"/spiral-staircase-generator",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Spiral Staircase Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Build authentic tower spiral stairs"})]}),e.jsxs(p,{to:"/triangle-generator",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Triangle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Design pointed roof and defensive features"})]}),e.jsxs(p,{to:"/blog/tower-designs-guide",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Tower Designs Guide"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Detailed tower construction techniques"})]})]})]}),e.jsxs("section",{className:"mt-8",children:[e.jsx("h2",{children:"More Building Tutorials"}),e.jsxs("ul",{children:[e.jsx("li",{children:e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline",children:"How to Build Perfect Circles in Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline",children:"Dome Building Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/geometric-patterns-guide",className:"text-primary hover:underline",children:"Geometric Patterns and Shapes Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/underwater-bases-guide",className:"text-primary hover:underline",children:"Underwater Bases Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"Minecraft Pixel Art Guide"})})]})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},h6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Pixel Art Guide",url:"/blog/pixel-art-guide"}],r=[{question:"How do you make pixel art in Minecraft?",answer:"Start with a reference image and plan your canvas size. Build a flat vertical or horizontal surface using wool, concrete, or terracotta blocks. Work row by row, matching each pixel to a Minecraft block color. Use scaffolding or flying in creative mode to reach high areas. Start with simple designs before attempting complex artwork."},{question:"What are the best blocks for Minecraft pixel art?",answer:"Concrete blocks offer the widest color range with 16 solid colors. Wool provides softer colors with the same variety. Terracotta has unique earthy tones. For special effects, use glowstone, sea lanterns, or redstone lamps for illuminated pixels. Combine different block types for maximum color variety."},{question:"How do you make circles in pixel art?",answer:"Use a circle generator to get the exact block placement pattern for your desired size. Input your circle diameter, then follow the generated pattern block by block. For pixel art circles, even small 10-15 block circles can look smooth when viewed from a distance."},{question:"How big should Minecraft pixel art be?",answer:"Small pixel art (32x32 blocks) works for simple icons and characters. Medium art (64x64 to 128x128) suits detailed characters and scenes. Large pixel art (256x256+) allows for photorealistic images but requires significant resources. Consider viewing distance when planning size."},{question:"How do you convert images to Minecraft pixel art?",answer:"Use online image-to-Minecraft converters that analyze images and suggest block colors. Reduce your image resolution to match your planned canvas size. Match each pixel color to the closest Minecraft block. For best results, choose images with clear outlines and limited color palettes."}];return e.jsx(se,{title:"Minecraft Pixel Art Guide: How to Create Amazing Pixel Art in Minecraft 2026",description:"★ Master Minecraft pixel art! Learn techniques for creating stunning pixel art, use circle generators for round elements, color theory, scaling tips, and step-by-step tutorials for all skill levels.",canonicalPath:"/blog/pixel-art-guide",keywords:"minecraft pixel art, how to make pixel art minecraft, minecraft pixel art generator, pixel art tutorial minecraft, minecraft pixel art ideas, pixel circle minecraft, minecraft art, block art minecraft",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Pixel Art Guide"}),e.jsxs("header",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Creative Guide"}),e.jsx(L,{variant:"outline",children:"Pixel Art"})]}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-6",children:["Minecraft ",e.jsx("span",{className:"text-primary",children:"Pixel Art"})," Guide: Create Amazing Block Art"]}),e.jsx("p",{className:"text-xl text-muted-foreground mb-6",children:"Transform Minecraft blocks into stunning works of art. Learn professional pixel art techniques, color selection, and how to use shape generators for perfect results."}),e.jsxs("div",{className:"flex items-center gap-6 text-sm text-muted-foreground flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"}),"Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"18 min read"]})]})]}),e.jsx(S,{className:"mb-12 bg-muted/30",children:e.jsxs(G,{className:"p-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Table of Contents"}),e.jsxs("nav",{className:"space-y-2 text-sm",children:[e.jsx("a",{href:"#introduction",className:"block text-muted-foreground hover:text-primary",children:"1. Introduction to Minecraft Pixel Art"}),e.jsx("a",{href:"#getting-started",className:"block text-muted-foreground hover:text-primary",children:"2. Getting Started with Pixel Art"}),e.jsx("a",{href:"#color-theory",className:"block text-muted-foreground hover:text-primary",children:"3. Color Theory and Block Selection"}),e.jsx("a",{href:"#using-generators",className:"block text-muted-foreground hover:text-primary",children:"4. Using Shape Generators"}),e.jsx("a",{href:"#techniques",className:"block text-muted-foreground hover:text-primary",children:"5. Essential Pixel Art Techniques"}),e.jsx("a",{href:"#scaling",className:"block text-muted-foreground hover:text-primary",children:"6. Scaling and Resolution"}),e.jsx("a",{href:"#3d-pixel-art",className:"block text-muted-foreground hover:text-primary",children:"7. 3D Pixel Art and Statues"}),e.jsx("a",{href:"#popular-subjects",className:"block text-muted-foreground hover:text-primary",children:"8. Popular Pixel Art Subjects"}),e.jsx("a",{href:"#advanced-tips",className:"block text-muted-foreground hover:text-primary",children:"9. Advanced Tips and Tricks"}),e.jsx("a",{href:"#showcase",className:"block text-muted-foreground hover:text-primary",children:"10. Showcasing Your Art"})]})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"introduction",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(Lr,{className:"w-6 h-6 text-primary"}),"Introduction to Minecraft Pixel Art"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Minecraft pixel art"})," is the practice of creating images and designs using Minecraft's colorful blocks as pixels. Since Minecraft is essentially a giant canvas of 1-meter cubes, it's the perfect medium for ",e.jsx("strong",{children:"pixel art creations"})," ranging from simple icons to massive murals that span thousands of blocks."]}),e.jsxs("p",{children:["What makes ",e.jsx("strong",{children:"Minecraft pixel art"})," special is its accessibility. You don't need artistic training or expensive software—just Minecraft and creativity. Whether you want to recreate your favorite video game characters, design original artwork, or build memorial pieces, pixel art in Minecraft offers endless possibilities."]}),e.jsxs("p",{children:["This comprehensive guide will teach you everything from basic techniques to advanced methods. You'll learn how to use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," for curved elements, select the perfect block colors, and create impressive artwork that will amaze anyone who sees it."]})]}),e.jsxs("section",{id:"getting-started",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(Rj,{className:"w-6 h-6 text-primary"}),"Getting Started with Pixel Art"]}),e.jsxs("p",{children:["Before diving into complex projects, let's establish the fundamentals of ",e.jsx("strong",{children:"creating pixel art in Minecraft"}),":"]}),e.jsx("h3",{children:"Choose Your Canvas"}),e.jsx("p",{children:"Pixel art is typically created on flat surfaces:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Vertical (Wall)"})," - Most common, easily viewable from ground level"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Horizontal (Floor/Ceiling)"})," - Great for map art or aerial views"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"3D Structures"})," - Advanced technique combining multiple angles"]})]}),e.jsx("h3",{children:"Orientation Matters"}),e.jsx("p",{children:"Consider how your art will be viewed:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Wall art should face a clear viewing area"}),e.jsx("li",{children:"Floor art works best when viewed from maps or high points"}),e.jsx("li",{children:"Consider lighting conditions at your location"}),e.jsx("li",{children:"Background matters—sky, stone, or custom backgrounds affect appearance"})]}),e.jsx("h3",{children:"Start Small"}),e.jsx("p",{children:"Begin with simple projects to build your skills:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Simple icons and emojis (16×16 blocks)"}),e.jsx("li",{children:"Game sprites from retro games (32×32 blocks)"}),e.jsx("li",{children:"Simple logos and symbols"}),e.jsx("li",{children:"Basic shapes and patterns"})]})]}),e.jsxs("section",{id:"color-theory",children:[e.jsx("h2",{children:"Color Theory and Block Selection"}),e.jsxs("p",{children:["Understanding ",e.jsx("strong",{children:"Minecraft's color palette"})," is crucial for great pixel art. The game offers approximately 150+ block colors when you include all block types and their variants."]}),e.jsx("h3",{children:"Primary Color Blocks"}),e.jsx("p",{children:"Here are the best blocks for common colors:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Red"})," - Red concrete, red wool, red terracotta, nether wart block"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Orange"})," - Orange concrete, orange wool, acacia planks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Yellow"})," - Yellow concrete, yellow wool, gold block, glowstone"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Green"})," - Lime/green concrete, green wool, moss block, emerald block"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Blue"})," - Blue/light blue concrete, blue wool, diamond block, lapis block"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Purple"})," - Purple/magenta concrete, purple wool, purpur block"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Black"})," - Black concrete, black wool, obsidian, coal block"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"White"})," - White concrete, white wool, snow, quartz"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gray"})," - Gray/light gray concrete, gray wool, stone variants"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Brown"})," - Brown concrete, brown wool, dark oak planks, mud bricks"]})]}),e.jsx("h3",{children:"Skin Tones"}),e.jsx("p",{children:"For character art, skin tones are essential:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Light Skin"})," - Birch planks, sand, sandstone, peach terracotta"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Medium Skin"})," - Oak planks, stripped oak, orange terracotta"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Dark Skin"})," - Dark oak planks, brown terracotta, spruce planks"]})]}),e.jsx("h3",{children:"Gradient and Shading Blocks"}),e.jsx("p",{children:"Creating depth requires smooth color transitions:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Use wool → concrete → terracotta for subtle shade differences"}),e.jsx("li",{children:"Stone variants (stone → cobblestone → andesite) for gray gradients"}),e.jsx("li",{children:"Wood types naturally create brown gradients (birch → oak → spruce → dark oak)"}),e.jsx("li",{children:"Prismarine blocks offer unique blue-green transitions"})]})]}),e.jsxs("section",{id:"using-generators",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(m2,{className:"w-6 h-6 text-primary"}),"Using Shape Generators"]}),e.jsxs("p",{children:["Our shape generators are invaluable tools for ",e.jsx("strong",{children:"pixel art"}),". They help create perfect geometric elements that would be difficult to draw freehand."]}),e.jsx("h3",{children:"Circle Generator for Pixel Art"}),e.jsxs("p",{children:["The ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," creates perfect circular elements:"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Eyes"})," - Use small circles (5-9 blocks) for character eyes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Heads"})," - Larger circles for rounded faces and heads"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wheels"})," - Perfect for vehicle pixel art"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Suns/Moons"})," - Celestial body art"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Orbs and Spheres"})," - Magical effects and objects"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Logo Elements"})," - Many logos contain circular components"]})]}),e.jsx("h3",{children:"Oval Generator Applications"}),e.jsxs("p",{children:["Our ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"oval generator"})," creates elliptical shapes:"]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Character bodies and torsos"}),e.jsx("li",{children:"Speech bubbles"}),e.jsx("li",{children:"Clouds and thought bubbles"}),e.jsx("li",{children:"Eggs and organic shapes"}),e.jsx("li",{children:"Perspective circles (circles viewed at an angle)"})]}),e.jsx("h3",{children:"Other Useful Generators"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," - Arrows, crystals, geometric designs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," - Gems, decorative elements, card suits"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," - Honeycomb patterns, sci-fi elements"]})]})]}),e.jsxs("section",{id:"techniques",children:[e.jsx("h2",{children:"Essential Pixel Art Techniques"}),e.jsxs("p",{children:["Master these core techniques to improve your ",e.jsx("strong",{children:"Minecraft pixel art"}),":"]}),e.jsx("h3",{children:"Anti-Aliasing"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Anti-aliasing"})," smooths jagged edges by placing intermediate color blocks:"]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Place transitional colors where two contrasting colors meet"}),e.jsx("li",{children:"Use 2-3 intermediate shades for smooth curves"}),e.jsx("li",{children:"Essential for making circles and curves look smooth"}),e.jsx("li",{children:"Works best at larger scales"})]}),e.jsx("h3",{children:"Dithering"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Dithering"})," creates the illusion of additional colors through patterns:"]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Checkerboard patterns blend two colors visually"}),e.jsx("li",{children:"Useful when you need a color that doesn't exist in Minecraft"}),e.jsx("li",{children:"Works best when viewed from a distance"}),e.jsx("li",{children:"Can create texture effects"})]}),e.jsx("h3",{children:"Outlining"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Outlines"})," make pixel art stand out:"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Black Outlines"})," - Traditional cartoon style, strong contrast"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Colored Outlines"})," - Softer look, using darker shades of adjacent colors"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"No Outline"})," - Modern, clean aesthetic"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Selective Outlining"})," - Only outline important edges"]})]}),e.jsx("h3",{children:"Shading"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Shading"})," adds depth and dimension:"]}),e.jsxs("ul",{children:[e.jsx("li",{children:"Decide on a light source direction"}),e.jsx("li",{children:"Use lighter blocks on the side facing light"}),e.jsx("li",{children:"Use darker blocks on the opposite side"}),e.jsx("li",{children:"Add highlights and shadows consistently"})]})]}),e.jsxs("section",{id:"scaling",children:[e.jsx("h2",{children:"Scaling and Resolution"}),e.jsxs("p",{children:["Understanding ",e.jsx("strong",{children:"scale"})," is crucial for successful pixel art:"]}),e.jsx("h3",{children:"Resolution Guide"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"16×16"})," - Icons, simple sprites, logos (about 30 minutes)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"32×32"})," - Detailed sprites, small characters (1-2 hours)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"64×64"})," - Detailed artwork, portraits (3-5 hours)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"128×128"})," - Large murals, detailed scenes (10+ hours)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"256×256+"})," - Massive projects, photo reproductions (days/weeks)"]})]}),e.jsx("h3",{children:"Pixel-to-Block Ratio"}),e.jsx("p",{children:"When converting images to Minecraft pixel art:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"1 pixel = 1 Minecraft block (standard)"}),e.jsx("li",{children:"1 pixel = 2×2 blocks (doubled scale, more detail possible)"}),e.jsx("li",{children:"Consider the viewing distance when choosing scale"}),e.jsx("li",{children:"Larger scales allow for better anti-aliasing"})]}),e.jsx("h3",{children:"Planning Large Projects"}),e.jsx("p",{children:"For massive pixel art:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Divide the image into sections"}),e.jsx("li",{children:"Use scaffolding or platforms for building"}),e.jsx("li",{children:"Work from bottom to top"}),e.jsx("li",{children:"Use coordinates to track progress"}),e.jsx("li",{children:"Take breaks—large projects can be tedious"})]})]}),e.jsxs("section",{id:"3d-pixel-art",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(Fj,{className:"w-6 h-6 text-primary"}),"3D Pixel Art and Statues"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"3D pixel art"})," takes your builds to the next level by creating sculptures and statues:"]}),e.jsx("h3",{children:"Building 3D Structures"}),e.jsxs("ul",{children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D sphere generator"})," for heads and bodies"]}),e.jsx("li",{children:"Build the skeleton/frame first"}),e.jsx("li",{children:"Layer details on top of the base structure"}),e.jsx("li",{children:"Consider all viewing angles"}),e.jsx("li",{children:"Lighting matters more in 3D builds"})]}),e.jsx("h3",{children:"Statue Building Tips"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Start with a reference image from multiple angles"}),e.jsx("li",{children:"Build a simple blockout shape first"}),e.jsx("li",{children:"Add details layer by layer"}),e.jsx("li",{children:"Use slabs and stairs for subtle details"}),e.jsx("li",{children:"Consider the statue's surroundings and base"})]}),e.jsx("h3",{children:"Combining 2D and 3D"}),e.jsx("p",{children:"Create impressive displays by combining techniques:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"3D character with 2D background mural"}),e.jsx("li",{children:"Flat pixel art with 3D frame or border"}),e.jsx("li",{children:"Diorama scenes mixing both styles"})]})]}),e.jsxs("section",{id:"popular-subjects",children:[e.jsx("h2",{children:"Popular Pixel Art Subjects"}),e.jsxs("p",{children:["Here are some ",e.jsx("strong",{children:"popular pixel art ideas"})," to try:"]}),e.jsx("h3",{children:"Video Game Characters"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Retro game sprites (Mario, Sonic, Pokémon)"}),e.jsx("li",{children:"Modern game characters"}),e.jsx("li",{children:"Minecraft mob pixel art"}),e.jsx("li",{children:"Gaming logos and icons"})]}),e.jsx("h3",{children:"Anime and Animation"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Popular anime characters"}),e.jsx("li",{children:"Cartoon characters"}),e.jsx("li",{children:"Movie posters"}),e.jsx("li",{children:"Comic book heroes"})]}),e.jsx("h3",{children:"Original Art"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Landscapes and nature scenes"}),e.jsx("li",{children:"Abstract geometric patterns"}),e.jsx("li",{children:"Fantasy creatures"}),e.jsx("li",{children:"Custom character designs"})]}),e.jsx("h3",{children:"Real World"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Celebrity portraits"}),e.jsx("li",{children:"Country flags"}),e.jsx("li",{children:"Sports team logos"}),e.jsx("li",{children:"Brand logos and mascots"})]})]}),e.jsxs("section",{id:"advanced-tips",children:[e.jsx("h2",{children:"Advanced Tips and Tricks"}),e.jsxs("p",{children:["Take your ",e.jsx("strong",{children:"pixel art skills"})," to the next level:"]}),e.jsx("h3",{children:"Map Art"}),e.jsx("p",{children:"Create pixel art that appears on Minecraft maps:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Build on a flat horizontal surface"}),e.jsx("li",{children:"Use a map to view your art"}),e.jsx("li",{children:"Height differences affect map colors"}),e.jsx("li",{children:"Create multi-map murals for larger images"})]}),e.jsx("h3",{children:"Schematic Software"}),e.jsx("p",{children:"Use external tools to plan complex builds:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Convert images to block patterns"}),e.jsx("li",{children:"Plan block placement before building"}),e.jsx("li",{children:"Import schematics in creative mode"}),e.jsx("li",{children:"Calculate material requirements"})]}),e.jsx("h3",{children:"Performance Tips"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Use solid blocks over transparent blocks when possible"}),e.jsx("li",{children:"Reduce entity lag by avoiding item frames for colors"}),e.jsx("li",{children:"Consider chunk loading for very large builds"}),e.jsx("li",{children:"Build in low-activity areas for better performance"})]})]}),e.jsxs("section",{id:"showcase",children:[e.jsx("h2",{children:"Showcasing Your Art"}),e.jsxs("p",{children:["Share your ",e.jsx("strong",{children:"Minecraft pixel art"})," with the world:"]}),e.jsx("h3",{children:"Photography Tips"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Use OptiFine or shaders for better screenshots"}),e.jsx("li",{children:"Time of day affects lighting dramatically"}),e.jsx("li",{children:"Remove HUD for clean screenshots (F1)"}),e.jsx("li",{children:"Consider creating a viewing platform"})]}),e.jsx("h3",{children:"Video Content"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Time-lapse building videos"}),e.jsx("li",{children:"Tutorial walkthroughs"}),e.jsx("li",{children:"Fly-by reveal videos"}),e.jsx("li",{children:"Before and after comparisons"})]}),e.jsx("h3",{children:"Sharing Platforms"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Reddit (r/Minecraft, r/PixelArt)"}),e.jsx("li",{children:"Planet Minecraft"}),e.jsx("li",{children:"Instagram and TikTok"}),e.jsx("li",{children:"YouTube for tutorials"}),e.jsx("li",{children:"Discord communities"})]})]}),e.jsxs("section",{className:"border-t border-border pt-8 mt-12",children:[e.jsx("h2",{children:"Related Tools and Guides"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 not-prose",children:[e.jsxs(p,{to:"/",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Circle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create perfect circles for eyes, heads, and round elements"})]}),e.jsxs(p,{to:"/oval-generator",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Oval Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Design ellipses for bodies and organic shapes"})]}),e.jsxs(p,{to:"/diamond-generator",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Diamond Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create gem and crystal shapes"})]}),e.jsxs(p,{to:"/blog/geometric-patterns-guide",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Geometric Patterns Guide"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Learn advanced pattern techniques"})]})]})]}),e.jsxs("section",{className:"mt-8",children:[e.jsx("h2",{children:"More Building Tutorials"}),e.jsxs("ul",{children:[e.jsx("li",{children:e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline",children:"How to Build Perfect Circles in Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline",children:"Dome Building Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"Medieval Castle Building Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/underwater-bases-guide",className:"text-primary hover:underline",children:"Underwater Bases Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/modern-architecture-guide",className:"text-primary hover:underline",children:"Modern Architecture Guide"})})]})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},m6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Modern Architecture Guide",url:"/blog/modern-architecture-guide"}],r=[{question:"How do you build a modern house in Minecraft?",answer:"Start with a flat foundation using white concrete or quartz blocks. Create clean geometric shapes with flat roofs, large glass walls using glass panes or blocks, and open floor plans. Use materials like concrete, quartz, terracotta, and dark wood accents. Add modern features like infinity pools, cantilever designs, and minimalist landscaping."},{question:"What blocks are best for modern Minecraft builds?",answer:"Best blocks for modern architecture include white and gray concrete, quartz blocks, glass panes, smooth stone, polished blackstone, dark oak wood for accents, sea lanterns or glowstone for lighting, and terracotta for colored accent walls. Avoid textured blocks like cobblestone or bricks."},{question:"How do you make a flat roof in Minecraft?",answer:"Build walls to your desired height, then place slabs or full blocks across the top. For a realistic look, add a slight overhang using slabs or stairs around the edges. Consider adding rooftop features like a garden, pool, or outdoor living space. Use trapdoors or fences as railings."},{question:"How do you build large windows in Minecraft?",answer:"Create floor-to-ceiling windows using glass blocks or glass panes. For modern designs, use black concrete or dark wood frames around large glass sections. Consider using tinted glass for privacy areas. Iron trapdoors make excellent window shutters for contemporary looks."},{question:"What is minimalist building in Minecraft?",answer:"Minimalist building focuses on clean lines, open spaces, limited color palettes (usually 2-3 colors), and functional design without excessive decoration. Use geometric shapes, remove unnecessary blocks, and let the architecture speak through form rather than ornamentation."}];return e.jsx(se,{title:"Modern Architecture in Minecraft: How to Build Contemporary Houses 2026",description:"★ Build stunning modern houses in Minecraft! Learn contemporary architecture styles, minimalist design, glass walls, flat roofs, and interior design. Step-by-step modern building guide.",canonicalPath:"/blog/modern-architecture-guide",keywords:"minecraft modern house, modern architecture minecraft, contemporary house minecraft, minecraft mansion modern, minimalist house minecraft, modern interior minecraft, glass house minecraft, modern building minecraft",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Modern Architecture Guide"}),e.jsxs("header",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Architecture Guide"}),e.jsx(L,{variant:"outline",children:"Modern Design"})]}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-bold mb-6",children:[e.jsx("span",{className:"text-primary",children:"Modern Architecture"})," in Minecraft: Build Contemporary Houses"]}),e.jsx("p",{className:"text-xl text-muted-foreground mb-6",children:"Master sleek, contemporary design in Minecraft. Learn to build stunning modern houses with clean lines, glass walls, and minimalist interiors."}),e.jsxs("div",{className:"flex items-center gap-6 text-sm text-muted-foreground flex-wrap",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"}),"Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"19 min read"]})]})]}),e.jsx(S,{className:"mb-12 bg-muted/30",children:e.jsxs(G,{className:"p-6",children:[e.jsx("h2",{className:"text-lg font-semibold mb-4",children:"Table of Contents"}),e.jsxs("nav",{className:"space-y-2 text-sm",children:[e.jsx("a",{href:"#introduction",className:"block text-muted-foreground hover:text-primary",children:"1. Introduction to Modern Architecture"}),e.jsx("a",{href:"#design-principles",className:"block text-muted-foreground hover:text-primary",children:"2. Modern Design Principles"}),e.jsx("a",{href:"#materials",className:"block text-muted-foreground hover:text-primary",children:"3. Materials and Block Palette"}),e.jsx("a",{href:"#exterior-design",className:"block text-muted-foreground hover:text-primary",children:"4. Exterior Design Elements"}),e.jsx("a",{href:"#floor-plans",className:"block text-muted-foreground hover:text-primary",children:"5. Floor Plans and Layout"}),e.jsx("a",{href:"#interior-design",className:"block text-muted-foreground hover:text-primary",children:"6. Interior Design"}),e.jsx("a",{href:"#lighting",className:"block text-muted-foreground hover:text-primary",children:"7. Modern Lighting Techniques"}),e.jsx("a",{href:"#landscaping",className:"block text-muted-foreground hover:text-primary",children:"8. Modern Landscaping"}),e.jsx("a",{href:"#house-styles",className:"block text-muted-foreground hover:text-primary",children:"9. Modern House Styles"}),e.jsx("a",{href:"#advanced-features",className:"block text-muted-foreground hover:text-primary",children:"10. Advanced Features"})]})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"introduction",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(n2,{className:"w-6 h-6 text-primary"}),"Introduction to Modern Architecture"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Modern architecture in Minecraft"})," represents a distinct departure from traditional builds. While medieval castles and fantasy structures dominate many servers, ",e.jsx("strong",{children:"contemporary house designs"}),"offer a refreshing aesthetic that emphasizes clean lines, geometric shapes, and seamless integration with the surrounding environment."]}),e.jsxs("p",{children:["Modern architecture emerged in the early 20th century, rejecting ornate decoration in favor of functional design and new materials like steel, concrete, and large glass panels. These principles translate beautifully into Minecraft, where blocks like quartz, concrete, and glass allow you to create stunning",e.jsx("strong",{children:" minimalist buildings"}),"."]}),e.jsxs("p",{children:["This guide will teach you the core principles of ",e.jsx("strong",{children:"modern Minecraft building"}),", from material selection to interior design. You'll learn to create houses that look like they belong in an architecture magazine, using techniques that work in both survival and creative mode."]}),e.jsx("p",{children:"Our shape generators are essential for modern builds:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," - Round windows, curved features, pools"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," - Curved walls, organic shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," - Unique geometric designs"]})]})]}),e.jsxs("section",{id:"design-principles",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(Dj,{className:"w-6 h-6 text-primary"}),"Modern Design Principles"]}),e.jsxs("p",{children:["Understanding these ",e.jsx("strong",{children:"modern architecture principles"})," will transform your builds:"]}),e.jsx("h3",{children:"1. Form Follows Function"}),e.jsx("p",{children:"The most fundamental principle of modern architecture. Every element should serve a purpose:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Avoid purely decorative elements that don't serve functional purposes"}),e.jsx("li",{children:"Room sizes should match their intended use"}),e.jsx("li",{children:"Circulation paths (hallways, stairs) should be efficient"}),e.jsx("li",{children:"Natural light and ventilation should inform window placement"})]}),e.jsx("h3",{children:"2. Clean Lines and Geometric Shapes"}),e.jsx("p",{children:"Modern buildings emphasize simple geometric forms:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Rectangles and squares"})," - Primary building shapes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Flat or low-slope roofs"})," - Signature of modern design"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cantilevers"})," - Sections extending beyond their support"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Asymmetry"})," - Strategic imbalance creates visual interest"]})]}),e.jsx("h3",{children:"3. Open Floor Plans"}),e.jsx("p",{children:"Modern homes feature flowing, connected spaces:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Living, dining, and kitchen areas blend together"}),e.jsx("li",{children:"Minimal interior walls"}),e.jsx("li",{children:"Double-height spaces create drama"}),e.jsx("li",{children:"Visual connections between floors"})]}),e.jsx("h3",{children:"4. Indoor-Outdoor Connection"}),e.jsx("p",{children:"Blurring the line between inside and outside:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Large glass walls facing gardens or views"}),e.jsx("li",{children:"Covered outdoor living areas"}),e.jsx("li",{children:"Interior courtyards"}),e.jsx("li",{children:"Seamless flooring transitions"})]}),e.jsx("h3",{children:"5. Honest Materials"}),e.jsx("p",{children:"Materials should appear as they are, not disguised:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Exposed concrete (in Minecraft: gray concrete)"}),e.jsx("li",{children:"Natural wood grain visible"}),e.jsx("li",{children:"Steel and glass prominently featured"}),e.jsx("li",{children:"Minimal paint or covering"})]})]}),e.jsxs("section",{id:"materials",children:[e.jsx("h2",{children:"Materials and Block Palette"}),e.jsxs("p",{children:["Selecting the right ",e.jsx("strong",{children:"block palette"})," is crucial for authentic modern builds:"]}),e.jsx("h3",{children:"Primary Materials"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"White Concrete"})," - Clean, bright surfaces (walls, ceilings)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gray Concrete"})," - Exposed concrete aesthetic (foundations, accent walls)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Light Gray Concrete"})," - Subtle variation, flooring"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Glass/Glass Panes"})," - Windows, walls, railings"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Quartz Blocks"})," - Elegant white surfaces, pillars"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Smooth Stone"})," - Contemporary flooring"]})]}),e.jsx("h3",{children:"Accent Materials"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Dark Oak Wood"})," - Warm contrast to white/gray"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Stripped Dark Oak"})," - Modern wood accents"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Black Concrete"})," - Dramatic contrast elements"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Iron Blocks"})," - Industrial accents"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Polished Blackstone"})," - Dark countertops, features"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cyan/Blue Terracotta"})," - Pool interiors"]})]}),e.jsx("h3",{children:"Modern Material Combinations"}),e.jsx("p",{children:"Effective palettes typically use 3-5 colors:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Minimal White"}),": White concrete + glass + dark oak accents"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Brutalist"}),": Gray concrete + glass + iron + black accents"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Warm Modern"}),": Light gray + dark oak + white + orange terracotta"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Luxury"}),": White quartz + black concrete + gold + glass"]})]})]}),e.jsxs("section",{id:"exterior-design",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(Ql,{className:"w-6 h-6 text-primary"}),"Exterior Design Elements"]}),e.jsxs("p",{children:["Key features that define ",e.jsx("strong",{children:"modern house exteriors"}),":"]}),e.jsx("h3",{children:"Flat Roofs"}),e.jsx("p",{children:"The signature element of modern architecture:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Use slabs to create slightly raised edges (parapet)"}),e.jsx("li",{children:"Consider rooftop terraces with glass railings"}),e.jsx("li",{children:"Add rooftop gardens for visual interest"}),e.jsx("li",{children:"Include subtle drainage slopes (not visible in Minecraft)"})]}),e.jsx("h3",{children:"Large Windows"}),e.jsx("p",{children:"Windows are perhaps the most defining feature:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Floor-to-ceiling glass walls"}),e.jsx("li",{children:"Corner windows (windows meeting at building corners)"}),e.jsx("li",{children:"Ribbon windows (horizontal bands of glass)"}),e.jsx("li",{children:"Clerestory windows (high windows for light without views)"})]}),e.jsx("h3",{children:"Cantilevers and Overhangs"}),e.jsx("p",{children:"Sections that extend beyond their support:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Upper floors extending over lower floors"}),e.jsx("li",{children:"Roof overhangs providing shade"}),e.jsx("li",{children:"Covered entries and carports"}),e.jsx("li",{children:"Balconies projecting from the building"})]}),e.jsx("h3",{children:"Asymmetrical Composition"}),e.jsx("p",{children:"Modern buildings rarely look the same from all sides:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Offset volumes and masses"}),e.jsx("li",{children:"Varied window sizes and placements"}),e.jsx("li",{children:"Different materials on different faces"}),e.jsx("li",{children:"Strategic voids and negative space"})]})]}),e.jsxs("section",{id:"floor-plans",children:[e.jsx("h2",{children:"Floor Plans and Layout"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Modern floor plans"})," prioritize flow and flexibility:"]}),e.jsx("h3",{children:"Ground Floor Layout"}),e.jsx("p",{children:"Typical ground floor arrangement:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Entry/Foyer"})," - Double-height space, dramatic first impression"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Open Living Area"})," - Combined living, dining, kitchen"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kitchen"})," - Island kitchen open to living spaces"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Home Office/Study"})," - Separate but connected"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Powder Room"})," - Guest bathroom near entrance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Garage"})," - Integrated or connected via breezeway"]})]}),e.jsx("h3",{children:"Upper Floor Layout"}),e.jsx("p",{children:"Private spaces on upper levels:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Master Suite"})," - Large bedroom with ensuite and walk-in closet"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Secondary Bedrooms"})," - Guest rooms with shared bathroom"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Laundry"})," - Often on upper floor near bedrooms"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Loft/Mezzanine"})," - Open to double-height spaces below"]})]}),e.jsx("h3",{children:"Circulation"}),e.jsx("p",{children:"Movement through modern homes:"}),e.jsxs("ul",{children:[e.jsx("li",{children:`Minimize hallways - they're "wasted" space`}),e.jsx("li",{children:"Floating staircases as sculptural elements"}),e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase generator"})," for dramatic stairs"]}),e.jsx("li",{children:"Glass railings maintain visual openness"})]})]}),e.jsxs("section",{id:"interior-design",children:[e.jsx("h2",{children:"Interior Design"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Modern interiors"})," extend the exterior's clean aesthetic:"]}),e.jsx("h3",{children:"Living Spaces"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Low-profile furniture (daybed, sectional sofa using stairs/slabs)"}),e.jsx("li",{children:"Built-in shelving using stairs and slabs"}),e.jsx("li",{children:"Feature fireplace (can use campfire with glass)"}),e.jsx("li",{children:"Statement art wall (maps, banners)"}),e.jsx("li",{children:"Minimal decoration - quality over quantity"})]}),e.jsx("h3",{children:"Kitchen Design"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Kitchen island as focal point"}),e.jsx("li",{children:"Handleless cabinets (smooth surfaces)"}),e.jsx("li",{children:"Integrated appliances (hidden behind panels)"}),e.jsx("li",{children:"Pendant lighting over island"}),e.jsx("li",{children:"Polished blackstone or quartz countertops"})]}),e.jsx("h3",{children:"Bedroom Design"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Platform beds using slabs"}),e.jsx("li",{children:"Built-in wardrobes/closets"}),e.jsx("li",{children:"Minimal bedside furniture"}),e.jsx("li",{children:"Large windows with privacy glazing concept"}),e.jsx("li",{children:"Ensuite bathrooms connected seamlessly"})]}),e.jsx("h3",{children:"Bathroom Design"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Walk-in showers with glass enclosures"}),e.jsx("li",{children:"Floating vanities (use wall-mounted)"}),e.jsx("li",{children:"Large format tiles (smooth stone slabs)"}),e.jsx("li",{children:"Minimal visible storage"}),e.jsx("li",{children:"Natural light through frosted glass or skylights"})]})]}),e.jsxs("section",{id:"lighting",children:[e.jsxs("h2",{className:"flex items-center gap-2",children:[e.jsx(C2,{className:"w-6 h-6 text-primary"}),"Modern Lighting Techniques"]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Lighting"})," is crucial in modern architecture:"]}),e.jsx("h3",{children:"Natural Light"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Maximize window area on south-facing walls (in Northern Hemisphere)"}),e.jsx("li",{children:"Use skylights for interior spaces"}),e.jsx("li",{children:"Light wells and courtyards for deep floor plans"}),e.jsx("li",{children:"Clerestory windows for high light without glare"})]}),e.jsx("h3",{children:"Artificial Lighting Options"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Sea Lanterns"})," - Clean, modern appearance"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"End Rods"})," - Minimalist linear fixtures"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Glowstone behind glass"})," - Diffused panel lighting"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Redstone Lamps"})," - Controllable accent lighting"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Lanterns"})," - Can work for industrial modern"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Froglight"})," - Subtle, ambient lighting"]})]}),e.jsx("h3",{children:"Lighting Techniques"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cove Lighting"})," - Hidden lights in ceiling recesses"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Under-cabinet Lighting"})," - Glowstone under kitchen cabinets"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floor Washing"})," - Lights recessed in floor edges"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Statement Fixtures"})," - Dramatic pendants in key locations"]})]})]}),e.jsxs("section",{id:"landscaping",children:[e.jsx("h2",{children:"Modern Landscaping"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Landscape design"})," should complement your modern architecture:"]}),e.jsx("h3",{children:"Design Principles"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Geometric shapes and clean edges"}),e.jsx("li",{children:"Limited plant palette - repetition creates cohesion"}),e.jsx("li",{children:"Contrast between hardscape and softscape"}),e.jsx("li",{children:"Water features as focal points"})]}),e.jsx("h3",{children:"Pool Design"}),e.jsx("p",{children:"Modern pools are architectural features:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," for round pools"]}),e.jsx("li",{children:"Rectangular infinity-edge pools"}),e.jsx("li",{children:"Pool integrated with house (visible from interior)"}),e.jsx("li",{children:"Surrounding deck of smooth stone or quartz"}),e.jsx("li",{children:"Underwater lighting using sea lanterns"})]}),e.jsx("h3",{children:"Outdoor Living"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Covered patios extending from interior"}),e.jsx("li",{children:"Outdoor kitchen/BBQ area"}),e.jsx("li",{children:"Fire pit seating areas"}),e.jsx("li",{children:"Modern outdoor furniture"})]})]}),e.jsxs("section",{id:"house-styles",children:[e.jsx("h2",{children:"Modern House Styles"}),e.jsxs("p",{children:["Different ",e.jsx("strong",{children:"modern architectural styles"})," to inspire your builds:"]}),e.jsx("h3",{children:"Minimalist"}),e.jsx("p",{children:"The most stripped-down modern aesthetic:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Almost exclusively white and glass"}),e.jsx("li",{children:"Maximum simplicity"}),e.jsx("li",{children:"Very few materials"}),e.jsx("li",{children:"No visible decoration"})]}),e.jsx("h3",{children:"Mid-Century Modern"}),e.jsx("p",{children:"1950s-60s style with retro appeal:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Integration with nature"}),e.jsx("li",{children:"Stone and wood accents"}),e.jsx("li",{children:"Butterfly roofs and clerestories"}),e.jsx("li",{children:"Bright accent colors"})]}),e.jsx("h3",{children:"Industrial Modern"}),e.jsx("p",{children:"Raw materials and exposed structure:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Exposed iron/metal elements"}),e.jsx("li",{children:"Gray concrete prominent"}),e.jsx("li",{children:"Large factory-style windows"}),e.jsx("li",{children:"Open ductwork (use chain, iron bars)"})]}),e.jsx("h3",{children:"Luxury Modern"}),e.jsx("p",{children:"High-end materials and dramatic spaces:"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Double and triple-height spaces"}),e.jsx("li",{children:"Premium materials (quartz, gold accents)"}),e.jsx("li",{children:"Dramatic cantilevers and features"}),e.jsx("li",{children:"Extensive glass and views"})]})]}),e.jsxs("section",{id:"advanced-features",children:[e.jsx("h2",{children:"Advanced Features"}),e.jsx("p",{children:"Take your modern builds to the next level:"}),e.jsx("h3",{children:"Smart Home Features"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Redstone-controlled lighting"}),e.jsx("li",{children:"Automatic doors and gates"}),e.jsx("li",{children:"Hidden storage and secret rooms"}),e.jsx("li",{children:"Retractable skylights"})]}),e.jsx("h3",{children:"Sustainable Design"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Green roofs using grass blocks"}),e.jsx("li",{children:"Solar panels (daylight sensors)"}),e.jsx("li",{children:"Rainwater collection systems"}),e.jsx("li",{children:"Natural ventilation design"})]}),e.jsx("h3",{children:"Dramatic Features"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Cantilevered rooms over cliffs"}),e.jsx("li",{children:"Glass floor sections"}),e.jsx("li",{children:"Indoor trees and gardens"}),e.jsx("li",{children:"Water features integrated into structure"})]})]}),e.jsxs("section",{className:"border-t border-border pt-8 mt-12",children:[e.jsx("h2",{children:"Related Tools and Guides"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 not-prose",children:[e.jsxs(p,{to:"/",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Circle Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Design curved features and pools"})]}),e.jsxs(p,{to:"/spiral-staircase-generator",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Spiral Staircase Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Create dramatic modern staircases"})]}),e.jsxs(p,{to:"/hexagon-generator",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Hexagon Generator"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Unique geometric design elements"})]}),e.jsxs(p,{to:"/blog/geometric-patterns-guide",className:"block p-4 rounded-lg border hover:border-primary transition-colors",children:[e.jsx("h3",{className:"font-semibold mb-1",children:"Geometric Patterns Guide"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Advanced pattern techniques"})]})]})]}),e.jsxs("section",{className:"mt-8",children:[e.jsx("h2",{children:"More Building Tutorials"}),e.jsxs("ul",{children:[e.jsx("li",{children:e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline",children:"How to Build Perfect Circles in Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline",children:"Dome Building Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"Medieval Castle Building Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/underwater-bases-guide",className:"text-primary hover:underline",children:"Underwater Bases Guide"})}),e.jsx("li",{children:e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"Minecraft Pixel Art Guide"})})]})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},x6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"RLCraft Building Guide",url:"/blog/rlcraft-building-guide"}],r=[{question:"How do you build a safe base in RLCraft?",answer:"Build underground or elevated bases to avoid most hostile mobs. Use cobblestone or stone brick walls at least 2 blocks thick. Install iron doors with button access. Light the entire interior and surrounding area with torches. Add a secure roof to prevent dragon attacks and flying mob entry."},{question:"What is the best RLCraft starter base?",answer:"The best starter base is an underground bunker or a fortified village house. Dig 5-10 blocks underground, create a 5x5 room, and seal the entrance with a trapdoor. Include a bed, crafting table, furnace, and chest. Expand as you gather resources and better equipment."},{question:"How do you protect against dragons in RLCraft?",answer:"Build with fire-resistant materials like stone, cobblestone, or deepslate. Create thick roofs (3+ blocks) and avoid flammable materials like wood. Build underground to avoid detection. Install arrow slits for counter-attacks and keep water buckets nearby for fire emergencies."},{question:"What blocks should you avoid in RLCraft?",answer:"Avoid using wood for external walls as dragons and fire mobs can ignite it. Dirt and sand provide poor protection against mobs. Glass breaks easily and attracts attention. For early game, stick to cobblestone and stone; upgrade to obsidian for dragon-proof sections later."},{question:"How do you survive the first night in RLCraft?",answer:"Immediately dig into a hillside or go underground. Create a small sealed room with no gaps. Place a door or blocks to seal the entrance. Don't venture out at night until you have armor and weapons. Keep the interior lit and stay quiet to avoid attracting mobs."}];return e.jsx(se,{title:"RLCraft Building Guide: Survival Base Construction Tips | Minecraft Circle Generator",description:"Master RLCraft building with fortified bases, dragon-proof structures, and survival shelters. Complete guide for RL Craft modded Minecraft server construction.",canonicalPath:"/blog/rlcraft-building-guide",keywords:"rlcraft, rl craft, rlcraft server, modded minecraft servers, minecraft server, survival servers, modded minecraft, best minecraft servers, minecraft survival, minecraft building",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),author:"Minecraft Circle Generator",articleSection:"RLCraft",children:e.jsxs("div",{className:"container mx-auto px-4 py-8 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"RLCraft Building Guide"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"RLCraft"}),e.jsx(L,{variant:"secondary",children:"Modded Minecraft"}),e.jsx(L,{variant:"outline",children:"Survival Guide"})]}),e.jsx("h1",{className:"text-3xl sm:text-4xl md:text-5xl font-bold mb-4 leading-tight",children:"RLCraft Building Guide: Survival Base Construction Tips"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-muted-foreground",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"}),"Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"20 min read"]})]})]}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsx("section",{className:"prose prose-lg max-w-none mb-12",children:e.jsxs("p",{className:"text-lg sm:text-xl text-muted-foreground leading-relaxed",children:[e.jsx("strong",{children:"RLCraft"})," is one of the most challenging ",e.jsx("strong",{children:"modded Minecraft"})," experiences available. Unlike vanilla ",e.jsx("strong",{children:"Minecraft survival"}),", building in ",e.jsx("strong",{children:"RL Craft"})," requires strategic planning to defend against dragons, hostile mobs, and environmental hazards. This guide covers everything you need to know about constructing bases on ",e.jsx("strong",{children:"RLCraft servers"})," and ",e.jsx("strong",{children:"modded Minecraft servers"}),"."]})}),e.jsxs(S,{className:"mb-12",children:[e.jsx(ee,{children:e.jsx(te,{children:"Table of Contents"})}),e.jsx(G,{children:e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsx("a",{href:"#early-game",className:"text-primary hover:underline",children:"1. Early Game Shelters"})}),e.jsx("li",{children:e.jsx("a",{href:"#mid-game",className:"text-primary hover:underline",children:"2. Mid-Game Fortified Bases"})}),e.jsx("li",{children:e.jsx("a",{href:"#dragon-proof",className:"text-primary hover:underline",children:"3. Dragon-Proof Construction"})}),e.jsx("li",{children:e.jsx("a",{href:"#underground",className:"text-primary hover:underline",children:"4. Underground Bunkers"})}),e.jsx("li",{children:e.jsx("a",{href:"#tower-defense",className:"text-primary hover:underline",children:"5. Tower Defense Systems"})}),e.jsx("li",{children:e.jsx("a",{href:"#server-tips",className:"text-primary hover:underline",children:"6. RLCraft Server Building Tips"})})]})})]}),e.jsxs("section",{id:"early-game",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(Ql,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"1. Early Game Shelters in RLCraft"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["Surviving your first nights in ",e.jsx("strong",{children:"RLCraft"})," requires immediate shelter. Unlike regular",e.jsx("strong",{children:" Minecraft survival servers"}),", you can't afford to spend time on aesthetics initially."]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 sm:gap-6 mb-6",children:[e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Hole-in-the-Wall Shelter"})}),e.jsx(G,{children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"Dig 3 blocks into a hillside"}),e.jsx("li",{children:"Place a door immediately"}),e.jsx("li",{children:"Add a torch to prevent spawns"}),e.jsx("li",{children:"Expand as resources allow"})]})})]}),e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Village Takeover"})}),e.jsx(G,{children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"Find an existing village structure"}),e.jsx("li",{children:"Block all entrances except one"}),e.jsx("li",{children:"Light up the interior thoroughly"}),e.jsx("li",{children:"Reinforce walls with cobblestone"})]})})]})]}),e.jsxs("div",{className:"bg-destructive/10 border border-destructive/20 rounded-lg p-4 sm:p-6",children:[e.jsx("h4",{className:"font-semibold text-destructive mb-2",children:"RLCraft Warning"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Dragons can spawn at any time and destroy wooden structures. Always have an escape plan and consider building near natural caves for emergency shelter."})]})]}),e.jsxs("section",{id:"mid-game",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(Jl,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"2. Mid-Game Fortified Bases"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["Once you've gathered resources on your ",e.jsx("strong",{children:"RLCraft server"}),", it's time to build a proper fortified base. These designs work well on both single-player and ",e.jsx("strong",{children:"modded Minecraft servers"}),"."]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Recommended Materials"}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3 sm:gap-4",children:[e.jsxs("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:[e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:"Cobblestone"}),e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground",children:"Fire-resistant"})]}),e.jsxs("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:[e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:"Stone Bricks"}),e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground",children:"Blast-resistant"})]}),e.jsxs("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:[e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:"Obsidian"}),e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground",children:"Maximum protection"})]}),e.jsxs("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:[e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:"Iron Bars"}),e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground",children:"Visibility + safety"})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Circular Tower Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," to create perfectly round defensive towers. Circular structures distribute damage better than square ones, making them ideal for ",e.jsx("strong",{children:"RLCraft"})," base building."]}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground",children:[e.jsx("li",{children:"Generate a 15-block diameter circle for the base"}),e.jsx("li",{children:"Build walls 8-10 blocks high minimum"}),e.jsx("li",{children:"Add arrow slits using stairs and slabs"}),e.jsxs("li",{children:["Include a ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase"})," for multi-level access"]})]})]})]})]}),e.jsxs("section",{id:"dragon-proof",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(S2,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"3. Dragon-Proof Construction"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["Dragons are the biggest threat in ",e.jsx("strong",{children:"RL Craft"}),". Building dragon-proof structures is essential for long-term survival on any ",e.jsx("strong",{children:"RLCraft server"}),"."]}),e.jsxs(S,{className:"mb-6",children:[e.jsx(ee,{children:e.jsx(te,{children:"Dragon Defense Checklist"})}),e.jsx(G,{children:e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[e.jsxs("ul",{className:"space-y-2",children:[e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary",children:"✓"}),e.jsx("span",{className:"text-sm sm:text-base",children:"Use fire-resistant materials only"})]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary",children:"✓"}),e.jsx("span",{className:"text-sm sm:text-base",children:"Build thick walls (3+ blocks)"})]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary",children:"✓"}),e.jsx("span",{className:"text-sm sm:text-base",children:"Create underground storage vaults"})]})]}),e.jsxs("ul",{className:"space-y-2",children:[e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary",children:"✓"}),e.jsx("span",{className:"text-sm sm:text-base",children:"Install multiple escape routes"})]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary",children:"✓"}),e.jsx("span",{className:"text-sm sm:text-base",children:"Add water features to prevent fire spread"})]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-primary",children:"✓"}),e.jsx("span",{className:"text-sm sm:text-base",children:"Build inside mountains when possible"})]})]})]})})]})]}),e.jsxs("section",{id:"underground",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(v2,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"4. Underground Bunkers"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["The safest bases in ",e.jsx("strong",{children:"RLCraft"})," and most ",e.jsx("strong",{children:"survival servers"})," are underground. Here's how to build effective bunkers that protect against all threats."]}),e.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 sm:p-6 mb-6",children:[e.jsx("h3",{className:"text-xl font-semibold mb-4",children:"Recommended Bunker Layout"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-3 text-muted-foreground",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Entrance Tunnel:"})," Hidden entrance with trapped corridor"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Main Hall:"})," Use ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagon patterns"})," for efficient space usage"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Storage Rooms:"})," Multiple rooms to prevent total loss"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Farming Area:"})," Underground farms with artificial light"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Emergency Exit:"})," Secret escape tunnel to the surface"]})]})]})]}),e.jsxs("section",{id:"tower-defense",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-6",children:"5. Tower Defense Systems"}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["Defensive towers are essential for protecting your base on ",e.jsx("strong",{children:"modded Minecraft servers"}),". These designs work great on both ",e.jsx("strong",{children:"RLCraft servers"})," and other ",e.jsx("strong",{children:"survival servers"}),"."]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 sm:gap-6",children:[e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Archer Tower"})}),e.jsxs(G,{className:"text-sm sm:text-base",children:[e.jsxs("p",{className:"text-muted-foreground mb-3",children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," to create a 7-block diameter tower with arrow slits on all sides."]}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground text-sm",children:[e.jsx("li",{children:"Height: 12-15 blocks"}),e.jsx("li",{children:"Arrow slits every 2 blocks"}),e.jsx("li",{children:"Covered roof for dragon protection"})]})]})]}),e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Watchtower"})}),e.jsxs(G,{className:"text-sm sm:text-base",children:[e.jsxs("p",{className:"text-muted-foreground mb-3",children:["Tall observation towers with ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircases"}),"for quick access."]}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground text-sm",children:[e.jsx("li",{children:"Height: 20+ blocks"}),e.jsx("li",{children:"Open top for visibility"}),e.jsx("li",{children:"Signal fire mechanism"})]})]})]})]})]}),e.jsxs("section",{id:"server-tips",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-6",children:"6. RLCraft Server Building Tips"}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["Building on ",e.jsx("strong",{children:"RLCraft servers"})," and other ",e.jsx("strong",{children:"best Minecraft servers"})," has unique challenges. Here are tips specifically for multiplayer survival."]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Claim Your Land"}),e.jsxs("p",{className:"text-muted-foreground text-sm sm:text-base",children:["Most ",e.jsx("strong",{children:"modded Minecraft servers"})," have land claiming plugins. Claim your area before building to prevent griefing."]})]})}),e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Hidden Base Strategy"}),e.jsxs("p",{className:"text-muted-foreground text-sm sm:text-base",children:["On competitive ",e.jsx("strong",{children:"survival servers"}),", consider building hidden bases underground or inside mountains to avoid detection."]})]})}),e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Community Builds"}),e.jsxs("p",{className:"text-muted-foreground text-sm sm:text-base",children:["Team up with other players on ",e.jsx("strong",{children:"RLCraft servers"})," to build larger defensive structures and share resources."]})]})})]})]}),e.jsxs("section",{className:"border-t pt-8 mb-8",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Useful Building Tools for RLCraft"}),e.jsxs("div",{className:"flex flex-wrap gap-2 sm:gap-4 text-sm",children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"}),e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"Sphere Generator"}),e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase"}),e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"}),e.jsx(p,{to:"/tools",className:"text-primary hover:underline",children:"All Tools"})]})]}),e.jsxs("section",{className:"bg-muted/30 rounded-lg p-4 sm:p-6",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Related Articles"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline block",children:"→ Medieval Castle Building Guide"}),e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline block",children:"→ Tower Designs with Spiral Staircases"}),e.jsx(p,{to:"/blog/underwater-bases-guide",className:"text-primary hover:underline block",children:"→ Underwater Base Construction"}),e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline block",children:"→ Dome Building Guide"})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},g6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Hypixel Building Guide",url:"/blog/hypixel-building-guide"}],r=[{question:"How do you win Build Battle on Hypixel?",answer:"Focus on recognizable shapes and clear themes that judges can identify quickly. Use a variety of block colors and textures. Add small details like furniture, plants, and lighting. Build the main structure first, then add decorations. Practice common themes and develop quick-build templates for popular categories."},{question:"What are the best tips for Hypixel Housing?",answer:"Plan your layout before building to maximize the limited space. Use WorldEdit commands available in Housing for faster building. Create themed rooms with consistent block palettes. Add interactive elements like parkour, puzzles, or minigames. Use lighting strategically to create atmosphere and highlight features."},{question:"How do you build fast in Build Battle?",answer:"Memorize block placement patterns for common shapes like circles and spheres. Use hotbar organization to access blocks quickly. Practice speed building techniques in creative mode. Focus on silhouette first, then fill details. Learn which blocks create the most visual impact with minimal placement."},{question:"What themes are common in Hypixel Build Battle?",answer:"Common themes include animals, food items, vehicles, nature scenes, holiday themes, fantasy creatures, and everyday objects. Practice building houses, trees, animals, and food items as these appear frequently. Keep a mental library of quick designs for popular themes."},{question:"How do you get more visitors to Hypixel Housing?",answer:"Create unique interactive experiences like parkour courses, escape rooms, or themed adventures. Advertise in Hypixel lobbies and Discord servers. Add clear signage and easy navigation. Update regularly with new content. Make your housing visually impressive from the spawn point to attract passersby."}];return e.jsx(se,{title:"Hypixel Building Guide: Build Battle & Housing Tips | Minecraft Circle Generator",description:"Master building on Hypixel with Build Battle strategies, Housing design tips, and SkyBlock base construction. Complete guide for Hypixel server building.",canonicalPath:"/blog/hypixel-building-guide",keywords:"hypixel, minecraft bedwars, best minecraft servers, top minecraft servers, skyblock minecraft, minecraft pvp, minecraft server, minecraft games, play minecraft",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),author:"Minecraft Circle Generator",articleSection:"Hypixel",children:e.jsxs("div",{className:"container mx-auto px-4 py-8 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Hypixel Building Guide"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Hypixel"}),e.jsx(L,{variant:"secondary",children:"Build Battle"}),e.jsx(L,{variant:"outline",children:"Server Guide"})]}),e.jsx("h1",{className:"text-3xl sm:text-4xl md:text-5xl font-bold mb-4 leading-tight",children:"Hypixel Building Guide: Build Battle & Housing Tips"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-muted-foreground",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"}),"Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"18 min read"]})]})]}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsx("section",{className:"prose prose-lg max-w-none mb-12",children:e.jsxs("p",{className:"text-lg sm:text-xl text-muted-foreground leading-relaxed",children:[e.jsx("strong",{children:"Hypixel"})," is one of the ",e.jsx("strong",{children:"best Minecraft servers"})," and ",e.jsx("strong",{children:"top Minecraft servers"}),"in the world, offering unique building experiences through Build Battle, Housing, and SkyBlock. Whether you",e.jsx("strong",{children:" play Minecraft"})," competitively or casually, mastering building on ",e.jsx("strong",{children:"Hypixel"})," will enhance your gameplay and help you win more ",e.jsx("strong",{children:"Minecraft games"}),"."]})}),e.jsxs(S,{className:"mb-12",children:[e.jsx(ee,{children:e.jsx(te,{children:"Table of Contents"})}),e.jsx(G,{children:e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsx("a",{href:"#build-battle",className:"text-primary hover:underline",children:"1. Build Battle Strategies"})}),e.jsx("li",{children:e.jsx("a",{href:"#housing",className:"text-primary hover:underline",children:"2. Housing Design Tips"})}),e.jsx("li",{children:e.jsx("a",{href:"#skyblock",className:"text-primary hover:underline",children:"3. SkyBlock Base Building"})}),e.jsx("li",{children:e.jsx("a",{href:"#bedwars",className:"text-primary hover:underline",children:"4. BedWars Defense Structures"})}),e.jsx("li",{children:e.jsx("a",{href:"#speed-building",className:"text-primary hover:underline",children:"5. Speed Building Techniques"})}),e.jsx("li",{children:e.jsx("a",{href:"#themes",className:"text-primary hover:underline",children:"6. Common Build Battle Themes"})})]})})]}),e.jsxs("section",{id:"build-battle",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(T2,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"1. Build Battle Strategies"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["Build Battle on ",e.jsx("strong",{children:"Hypixel"})," challenges players to create themed builds within a time limit. Here's how to consistently win and climb the leaderboards on one of the ",e.jsx("strong",{children:"top Minecraft servers"}),"."]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 sm:gap-6 mb-6",children:[e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Time Management"})}),e.jsx(G,{children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"Spend first 30 seconds planning"}),e.jsx("li",{children:"Build the outline/shape first"}),e.jsx("li",{children:"Add details in the middle phase"}),e.jsx("li",{children:"Final polish in last minute"})]})})]}),e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Scoring Tips"})}),e.jsx(G,{children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"Make builds recognizable"}),e.jsx("li",{children:"Use color contrast effectively"}),e.jsx("li",{children:"Add depth with stairs/slabs"}),e.jsx("li",{children:"Include environment/context"})]})})]})]}),e.jsxs("div",{className:"bg-primary/10 border border-primary/20 rounded-lg p-4 sm:p-6",children:[e.jsx("h4",{className:"font-semibold text-primary mb-2",children:"Pro Tip: Use Circle Generators"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Many winning builds on ",e.jsx("strong",{children:"Hypixel"})," Build Battle use circular shapes. Practice with our",e.jsx(p,{to:"/",className:"text-primary hover:underline mx-1",children:"circle generator"}),"to memorize common circle sizes and build them quickly during competition."]})]})]}),e.jsxs("section",{id:"housing",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(Gj,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"2. Housing Design Tips"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:[e.jsx("strong",{children:"Hypixel"})," Housing lets you create custom worlds and showcase your building skills. Stand out with unique designs that attract visitors from across the ",e.jsx("strong",{children:"best Minecraft servers"}),"."]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Popular Housing Themes"}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3 sm:gap-4",children:[e.jsxs("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:[e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:"Medieval"}),e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground",children:"Castles & villages"})]}),e.jsxs("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:[e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:"Modern"}),e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground",children:"Houses & cities"})]}),e.jsxs("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:[e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:"Fantasy"}),e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground",children:"Magic & mythical"})]}),e.jsxs("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:[e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:"Minigames"}),e.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground",children:"Interactive maps"})]})]})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Essential Housing Features"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground",children:[e.jsx("li",{children:"Clear spawn area with instructions"}),e.jsxs("li",{children:["Parkour courses using ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere"})," and ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"oval"})," shapes"]}),e.jsx("li",{children:"Interactive elements using command blocks"}),e.jsx("li",{children:"Multiple areas to explore"}),e.jsx("li",{children:"Clear pathways and navigation"})]})]})]})]}),e.jsxs("section",{id:"skyblock",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(Xl,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"3. SkyBlock Base Building"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:[e.jsx("strong",{children:"SkyBlock Minecraft"})," on ",e.jsx("strong",{children:"Hypixel"})," requires efficient island layouts that maximize farming, storage, and aesthetics. Build a base that helps you progress while looking great."]}),e.jsxs(S,{className:"mb-6",children:[e.jsx(ee,{children:e.jsx(te,{children:"Optimal SkyBlock Layout"})}),e.jsx(G,{children:e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Functional Areas"}),e.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"• Central hub with portals"}),e.jsx("li",{children:"• Organized storage system"}),e.jsx("li",{children:"• Farming platforms (use circles!)"}),e.jsx("li",{children:"• Minion placement areas"})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Aesthetic Tips"}),e.jsxs("ul",{className:"space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"• Circular floating islands"}),e.jsx("li",{children:"• Bridge connections"}),e.jsx("li",{children:"• Themed zones"}),e.jsx("li",{children:"• Lighting throughout"})]})]})]})})]}),e.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 sm:p-6",children:[e.jsx("h3",{className:"text-xl font-semibold mb-4",children:"Using Shape Generators for SkyBlock"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Create unique ",e.jsx("strong",{children:"SkyBlock Minecraft"})," islands using our building tools:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground",children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," - Perfect circular farming platforms"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"Sphere Generator"})," - Floating orb islands"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," - Honeycomb storage layouts"]})]})]})]}),e.jsxs("section",{id:"bedwars",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(Lj,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"4. BedWars Defense Structures"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["While ",e.jsx("strong",{children:"Minecraft BedWars"})," on ",e.jsx("strong",{children:"Hypixel"})," is primarily a ",e.jsx("strong",{children:"Minecraft PvP"})," game, building skills are essential for bed defense and base protection. Master these techniques to win more games."]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 sm:gap-6",children:[e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Basic Bed Defense"})}),e.jsx(G,{className:"text-sm sm:text-base",children:e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground",children:[e.jsx("li",{children:"Cover bed with wool layer"}),e.jsx("li",{children:"Add endstone outer layer"}),e.jsx("li",{children:"Glass on top to see enemies"}),e.jsx("li",{children:"Water bucket for fire protection"})]})})]}),e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Advanced Defense"})}),e.jsx(G,{className:"text-sm sm:text-base",children:e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground",children:[e.jsx("li",{children:"Multiple defense layers"}),e.jsx("li",{children:"Obsidian core protection"}),e.jsx("li",{children:"Blast-proof trenches"}),e.jsx("li",{children:"Pop-up tower platforms"})]})})]})]})]}),e.jsxs("section",{id:"speed-building",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-6",children:"5. Speed Building Techniques"}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["Whether you ",e.jsx("strong",{children:"play Minecraft"})," competitively on ",e.jsx("strong",{children:"Hypixel"})," or other",e.jsx("strong",{children:" Minecraft servers"}),", speed building is an essential skill for all ",e.jsx("strong",{children:"Minecraft games"}),"."]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Practice Circle Sizes"}),e.jsxs("p",{className:"text-muted-foreground text-sm sm:text-base",children:["Memorize common circle patterns (5x5, 7x7, 9x9) using our",e.jsx(p,{to:"/",className:"text-primary hover:underline mx-1",children:"circle generator"}),". Being able to build circles from memory gives you a huge advantage in timed building competitions."]})]})}),e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Block Palette Preparation"}),e.jsxs("p",{className:"text-muted-foreground text-sm sm:text-base",children:["Know which blocks work well together. Popular combinations on ",e.jsx("strong",{children:"Hypixel"})," Build Battle include oak/spruce wood, quartz/stone, and terracotta gradients."]})]})}),e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Hotbar Organization"}),e.jsxs("p",{className:"text-muted-foreground text-sm sm:text-base",children:["Organize your hotbar consistently across all ",e.jsx("strong",{children:"Minecraft games"}),". Put main blocks in slots 1-3, detail blocks in 4-6, and tools in 7-9."]})]})})]})]}),e.jsxs("section",{id:"themes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-6",children:"6. Common Build Battle Themes"}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:["Prepare for these frequently appearing themes on ",e.jsx("strong",{children:"Hypixel"})," Build Battle to boost your scores."]}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3 sm:gap-4",children:["Animals","Food","Vehicles","Nature","Buildings","Fantasy","Sports","Space","Ocean"].map(s=>e.jsx("div",{className:"bg-muted/50 p-3 sm:p-4 rounded-lg text-center",children:e.jsx("div",{className:"font-semibold text-sm sm:text-base",children:s})},s))})]}),e.jsxs("section",{className:"border-t pt-8 mb-8",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Useful Tools for Hypixel Building"}),e.jsxs("div",{className:"flex flex-wrap gap-2 sm:gap-4 text-sm",children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"}),e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"}),e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"Sphere Generator"}),e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"}),e.jsx(p,{to:"/tools",className:"text-primary hover:underline",children:"All Tools"})]})]}),e.jsxs("section",{className:"bg-muted/30 rounded-lg p-4 sm:p-6",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Related Articles"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline block",children:"→ How to Build Perfect Circles"}),e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline block",children:"→ Minecraft Pixel Art Guide"}),e.jsx(p,{to:"/blog/modern-architecture-guide",className:"text-primary hover:underline block",children:"→ Modern Architecture Guide"}),e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline block",children:"→ Dome Building Guide"})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},f6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Minecraft Education Guide",url:"/blog/minecraft-education-guide"}],r=[{question:"What is Minecraft Education Edition?",answer:"Minecraft Education Edition is a version of Minecraft designed for classroom use with features like classroom controls, secure sign-in, in-game coding with MakeCode and Python, Chemistry features, and pre-built lesson plans. It's available for schools and educators on Windows, Mac, iPad, and Chromebook."},{question:"How do you use Minecraft for teaching math?",answer:"Use Minecraft to teach geometry by building 3D shapes, calculating area and perimeter of structures, and understanding volume through block counting. Circle generators help visualize circumference and diameter. Students can practice multiplication by calculating materials needed for large builds."},{question:"Can you code in Minecraft Education Edition?",answer:"Yes, Minecraft Education Edition includes Code Builder which supports MakeCode blocks, JavaScript, Python, and Tynker. Students can code agents to automate building, create interactive experiences, and learn programming concepts through hands-on projects in a familiar environment."},{question:"What subjects can you teach with Minecraft?",answer:"Minecraft Education covers math, science, history, language arts, coding, and art. Build historical landmarks for history, create ecosystems for biology, design experiments for chemistry, construct geometric shapes for math, and write in-game books for language arts."},{question:"How do teachers set up Minecraft Education Edition?",answer:"Schools need Microsoft 365 Education licenses. Teachers download from education.minecraft.net, sign in with school credentials, and create worlds or use pre-built lessons from the Education Minecraft library. Classroom Mode allows teachers to manage students, teleport players, and monitor progress."}];return e.jsx(se,{title:"Minecraft Education Edition Lesson Plans & Building Projects | Minecraft Circle Generator",description:"Complete guide to Minecraft Education Edition with lesson plans, coding projects using MakeCode, and STEM building activities. Perfect for educators and students.",canonicalPath:"/blog/minecraft-education-guide",keywords:"minecraft education edition, minecraft education, minecraft edu, minecraft coding, tynker minecraft, minecraft creative mode, minecraft building, play minecraft, minecraft games",type:"article",breadcrumbs:t,faqs:r,datePublished:"2025-12-19",dateModified:ke(),author:"Minecraft Circle Generator",articleSection:"Education",children:e.jsxs("div",{className:"container mx-auto px-4 py-8 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Minecraft Education Guide"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex flex-wrap gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Education"}),e.jsx(L,{variant:"secondary",children:"Lesson Plans"}),e.jsx(L,{variant:"outline",children:"STEM"})]}),e.jsx("h1",{className:"text-3xl sm:text-4xl md:text-5xl font-bold mb-4 leading-tight",children:"Minecraft Education Edition: Lesson Plans & Building Projects"}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-muted-foreground",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"Published: December 19, 2025"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"}),"Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"22 min read"]})]})]}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsx("section",{className:"prose prose-lg max-w-none mb-12",children:e.jsxs("p",{className:"text-lg sm:text-xl text-muted-foreground leading-relaxed",children:[e.jsx("strong",{children:"Minecraft Education Edition"})," transforms the popular game into a powerful learning platform. Whether you're using ",e.jsx("strong",{children:"Minecraft Edu"})," for math, science, coding with ",e.jsx("strong",{children:"Tynker Minecraft"}),", or creative projects in ",e.jsx("strong",{children:"Minecraft creative mode"}),", this guide provides comprehensive lesson plans and building activities for educators and students who want to ",e.jsx("strong",{children:"play Minecraft"})," educationally."]})}),e.jsxs(S,{className:"mb-12",children:[e.jsx(ee,{children:e.jsx(te,{children:"Table of Contents"})}),e.jsx(G,{children:e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsx("a",{href:"#overview",className:"text-primary hover:underline",children:"1. Education Edition Overview"})}),e.jsx("li",{children:e.jsx("a",{href:"#math-geometry",className:"text-primary hover:underline",children:"2. Math & Geometry Lessons"})}),e.jsx("li",{children:e.jsx("a",{href:"#coding",className:"text-primary hover:underline",children:"3. Coding & Programming Projects"})}),e.jsx("li",{children:e.jsx("a",{href:"#history",className:"text-primary hover:underline",children:"4. History & Architecture Projects"})}),e.jsx("li",{children:e.jsx("a",{href:"#science",className:"text-primary hover:underline",children:"5. Science & Environmental Studies"})}),e.jsx("li",{children:e.jsx("a",{href:"#collaboration",className:"text-primary hover:underline",children:"6. Collaborative Building Projects"})})]})})]}),e.jsxs("section",{id:"overview",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(h2,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"1. Education Edition Overview"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:[e.jsx("strong",{children:"Minecraft Education Edition"})," (also known as ",e.jsx("strong",{children:"Minecraft Edu"}),") is specifically designed for classroom use. Unlike regular ",e.jsx("strong",{children:"Minecraft games"}),", it includes special features for educators."]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 sm:gap-6 mb-6",children:[e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Key Features"})}),e.jsx(G,{children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"Classroom Mode for teachers"}),e.jsx("li",{children:"Code Builder integration"}),e.jsx("li",{children:"Camera and portfolio tools"}),e.jsx("li",{children:"Non-player characters (NPCs)"}),e.jsx("li",{children:"Chalkboards and signs"})]})})]}),e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Learning Benefits"})}),e.jsx(G,{children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"Spatial reasoning development"}),e.jsx("li",{children:"Problem-solving skills"}),e.jsx("li",{children:"Collaboration abilities"}),e.jsx("li",{children:"Computational thinking"}),e.jsx("li",{children:"Creativity and design"})]})})]})]}),e.jsxs("div",{className:"bg-primary/10 border border-primary/20 rounded-lg p-4 sm:p-6",children:[e.jsx("h4",{className:"font-semibold text-primary mb-2",children:"Getting Started"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Minecraft Education Edition"})," is available for schools through Microsoft 365 Education licenses. Educators can access pre-built lesson plans through the in-game library or create custom worlds in",e.jsx("strong",{children:" Minecraft creative mode"}),"."]})]})]}),e.jsxs("section",{id:"math-geometry",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(N2,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"2. Math & Geometry Lessons"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:[e.jsx("strong",{children:"Minecraft building"})," is inherently mathematical. Use our generators and",e.jsx("strong",{children:" Minecraft Education Edition"})," to teach geometry concepts."]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Lesson: Understanding Circumference & Diameter"})}),e.jsx(G,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Objective"}),e.jsx("p",{className:"text-muted-foreground text-sm sm:text-base",children:"Students will understand the relationship between diameter and circumference by building circles of various sizes."})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Activity Steps"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsxs("li",{children:["Use the ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," to create circles with diameters 5, 10, 15, and 20"]}),e.jsxs("li",{children:["Have students build each circle in ",e.jsx("strong",{children:"Minecraft Edu"})]}),e.jsx("li",{children:"Count the blocks used for each circle (approximates circumference)"}),e.jsx("li",{children:"Calculate the ratio of circumference to diameter"}),e.jsx("li",{children:"Discover that the ratio approaches π (pi)"})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Assessment"}),e.jsx("p",{className:"text-muted-foreground text-sm sm:text-base",children:"Students document their findings in the portfolio tool and present their discoveries to the class."})]})]})})]}),e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Lesson: 3D Shapes & Volume"})}),e.jsx(G,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Objective"}),e.jsx("p",{className:"text-muted-foreground text-sm sm:text-base",children:"Calculate volume of spheres, cylinders, and other 3D shapes through building."})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Tools Required"}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground text-sm sm:text-base",children:[e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"Sphere Generator"})," - for building spheres"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," - for cylinder bases"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," - for prisms"]})]})]})]})})]}),e.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 sm:p-6",children:[e.jsx("h3",{className:"text-xl font-semibold mb-4",children:"Additional Math Projects"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Area & Perimeter"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Build various shapes using our generators and calculate their area and perimeter."})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Fractions"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Use different colored blocks to represent fractions in circular pie charts."})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Coordinate Systems"}),e.jsx("p",{className:"text-muted-foreground text-sm",children:"Teach X, Y, Z coordinates using Minecraft's built-in coordinate display."})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Symmetry"}),e.jsxs("p",{className:"text-muted-foreground text-sm",children:["Build symmetrical structures using ",e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"diamond"})," and ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagon"})," shapes."]})]})]})]})]})]}),e.jsxs("section",{id:"coding",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(a2,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"3. Coding & Programming Projects"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:[e.jsx("strong",{children:"Minecraft coding"})," is one of the most engaging ways to learn programming.",e.jsx("strong",{children:" Minecraft Education Edition"})," integrates with MakeCode and ",e.jsx("strong",{children:"Tynker Minecraft"}),"for visual block-based coding."]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 sm:gap-6 mb-6",children:[e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Code Builder Projects"})}),e.jsx(G,{children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"Automated circle builder agent"}),e.jsx("li",{children:"Spiral staircase generator"}),e.jsx("li",{children:"Pattern-repeating bot"}),e.jsx("li",{children:"Maze generator algorithm"}),e.jsx("li",{children:"Dome construction script"})]})})]}),e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Learning Concepts"})}),e.jsx(G,{children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground text-sm sm:text-base",children:[e.jsx("li",{children:"Loops and iteration"}),e.jsx("li",{children:"Variables and data types"}),e.jsx("li",{children:"Conditional statements"}),e.jsx("li",{children:"Functions and procedures"}),e.jsx("li",{children:"Debugging techniques"})]})})]})]}),e.jsxs(S,{className:"mb-6",children:[e.jsx(ee,{children:e.jsx(te,{children:"Sample Project: Automated Circle Builder"})}),e.jsxs(G,{children:[e.jsxs("p",{className:"text-muted-foreground mb-4 text-sm sm:text-base",children:["Create a coding agent that builds circles automatically using the patterns from our",e.jsx(p,{to:"/",className:"text-primary hover:underline mx-1",children:"circle generator"}),"."]}),e.jsx("div",{className:"bg-muted/50 p-4 rounded-lg font-mono text-xs sm:text-sm overflow-x-auto",children:e.jsx("pre",{children:`// Pseudocode for circle builder
function buildCircle(diameter):
pattern = getCirclePattern(diameter)
for each row in pattern:
for each block in row:
if block is filled:
agent.place()
agent.moveRight()
agent.moveToNextRow()`})})]})]}),e.jsxs("div",{className:"bg-primary/10 border border-primary/20 rounded-lg p-4 sm:p-6",children:[e.jsx("h4",{className:"font-semibold text-primary mb-2",children:"Tynker Integration"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Tynker Minecraft"})," provides additional coding courses specifically designed for",e.jsx("strong",{children:" Minecraft Education"}),". Students can learn JavaScript, Python, and block-based coding while building in their favorite game."]})]})]}),e.jsxs("section",{id:"history",className:"mb-12",children:[e.jsxs("h2",{className:"text-2xl sm:text-3xl font-bold mb-6 flex items-center gap-2",children:[e.jsx(qe,{className:"w-6 h-6 sm:w-8 sm:h-8 text-primary flex-shrink-0"}),"4. History & Architecture Projects"]}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:[e.jsx("strong",{children:"Minecraft building"})," brings historical structures to life. Students can explore architecture from different eras using ",e.jsx("strong",{children:"Minecraft creative mode"}),"."]}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Ancient Civilizations"}),e.jsx("p",{className:"text-muted-foreground mb-3 text-sm sm:text-base",children:"Build replicas of ancient structures while learning about their historical significance."}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground text-sm",children:[e.jsxs("li",{children:["Egyptian pyramids (use ",e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"triangle generator"}),")"]}),e.jsxs("li",{children:["Roman Colosseum (use ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"oval generator"}),")"]}),e.jsx("li",{children:"Greek Parthenon with circular columns"}),e.jsx("li",{children:"Mayan temples with geometric patterns"})]})]})}),e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Medieval Period"}),e.jsx("p",{className:"text-muted-foreground mb-3 text-sm sm:text-base",children:"Explore medieval architecture and castle design."}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground text-sm",children:[e.jsx("li",{children:"Castle construction with round towers"}),e.jsx("li",{children:"Cathedral rose windows using circles"}),e.jsx("li",{children:"Medieval village layouts"}),e.jsx("li",{children:"Fortification techniques"})]}),e.jsxs("p",{className:"text-muted-foreground mt-3 text-sm",children:["See our ",e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"Medieval Castle Building Guide"})," for detailed instructions."]})]})}),e.jsx(S,{children:e.jsxs(G,{className:"pt-6",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Modern Architecture"}),e.jsx("p",{className:"text-muted-foreground mb-3 text-sm sm:text-base",children:"Study contemporary building design and engineering."}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground text-sm",children:[e.jsxs("li",{children:["Geodesic domes using ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})]}),e.jsx("li",{children:"Skyscrapers with geometric facades"}),e.jsx("li",{children:"Sustainable building design"}),e.jsx("li",{children:"Famous landmark recreations"})]})]})})]})]}),e.jsxs("section",{id:"science",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-6",children:"5. Science & Environmental Studies"}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:[e.jsx("strong",{children:"Minecraft Education Edition"})," includes special worlds for teaching science concepts. Combine these with ",e.jsx("strong",{children:"Minecraft building"})," for hands-on learning."]}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4 sm:gap-6",children:[e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Biology Projects"})}),e.jsx(G,{className:"text-sm sm:text-base",children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground",children:[e.jsx("li",{children:"Build cell models with organelles"}),e.jsx("li",{children:"Create ecosystem dioramas"}),e.jsx("li",{children:"Model DNA double helix structures"}),e.jsx("li",{children:"Design sustainable habitats"})]})})]}),e.jsxs(S,{children:[e.jsx(ee,{children:e.jsx(te,{className:"text-lg",children:"Chemistry Projects"})}),e.jsx(G,{className:"text-sm sm:text-base",children:e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground",children:[e.jsx("li",{children:"Build atomic models with spheres"}),e.jsx("li",{children:"Create molecular structures"}),e.jsx("li",{children:"Visualize chemical bonds"}),e.jsxs("li",{children:["Model crystal lattices using ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagons"})]})]})})]})]})]}),e.jsxs("section",{id:"collaboration",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-6",children:"6. Collaborative Building Projects"}),e.jsxs("p",{className:"text-muted-foreground mb-6",children:[e.jsx("strong",{children:"Minecraft Edu"})," excels at collaborative learning. These projects work best with groups of students working together."]}),e.jsxs("div",{className:"bg-muted/30 rounded-lg p-4 sm:p-6",children:[e.jsx("h3",{className:"text-xl font-semibold mb-4",children:"Project Ideas"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-6",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"City Planning Project"}),e.jsx("p",{className:"text-muted-foreground text-sm mb-2",children:"Students collaborate to design a sustainable city with proper zoning, infrastructure, and public spaces."}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground text-xs sm:text-sm",children:[e.jsx("li",{children:"Residential zones"}),e.jsx("li",{children:"Commercial districts"}),e.jsx("li",{children:"Parks and recreation (circular designs)"}),e.jsx("li",{children:"Transportation networks"})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Historical Recreation"}),e.jsx("p",{className:"text-muted-foreground text-sm mb-2",children:"Teams work together to recreate historical sites or events at scale."}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground text-xs sm:text-sm",children:[e.jsx("li",{children:"Ancient Rome"}),e.jsx("li",{children:"Medieval kingdoms"}),e.jsx("li",{children:"Colonial settlements"}),e.jsx("li",{children:"Famous battlefields"})]})]})]})]})]}),e.jsxs("section",{className:"border-t pt-8 mb-8",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Building Tools for Minecraft Education"}),e.jsxs("div",{className:"flex flex-wrap gap-2 sm:gap-4 text-sm",children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"}),e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"Sphere Generator"}),e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"}),e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"}),e.jsx(p,{to:"/tools",className:"text-primary hover:underline",children:"All Tools"})]})]}),e.jsxs("section",{className:"bg-muted/30 rounded-lg p-4 sm:p-6",children:[e.jsx("h2",{className:"text-xl font-semibold mb-4",children:"Related Articles"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-4",children:[e.jsx(p,{to:"/blog/how-to-build-circles",className:"text-primary hover:underline block",children:"→ How to Build Perfect Circles"}),e.jsx(p,{to:"/blog/geometric-patterns-guide",className:"text-primary hover:underline block",children:"→ Geometric Patterns Guide"}),e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline block",children:"→ Dome Building Guide"}),e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline block",children:"→ Medieval Castle Guide"})]})]}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},p6=()=>{const t=[{icon:gn,title:"Akurasi Pixel Sempurna",desc:"Hasilkan lingkaran dan oval yang presisi secara matematis yang terlihat sempurna di Minecraft."},{icon:Sr,title:"Mudah Digunakan",desc:"Cukup masukkan dimensi dan dapatkan hasil visual secara instan."},{icon:_e,title:"Opsi Ekspor Beragam",desc:"Unduh lingkaran Anda sebagai PNG atau SVG untuk referensi saat membangun."},{icon:xn,title:"Gratis Sepenuhnya",desc:"Tanpa registrasi, tanpa batasan. Gunakan sebanyak yang Anda butuhkan."}],r=[{href:"/oval-generator",icon:we,title:"Generator Oval",desc:"Buat elips dan oval untuk stadion, kolam renang, dan trek balap"},{href:"/hexagon-generator",icon:Vt,title:"Generator Hexagon",desc:"Bangun pola sarang lebah dan struktur enam sisi"},{href:"/triangle-generator",icon:Yt,title:"Generator Segitiga",desc:"Desain atap, piramida, dan bentuk terarah"},{href:"/diamond-generator",icon:$t,title:"Generator Berlian",desc:"Buat pola belah ketupat untuk jendela dan lantai"},{href:"/spiral-staircase-generator",icon:mr,title:"Tangga Spiral",desc:"Panduan membangun tangga spiral layer-by-layer"},{href:"/sphere-generator",icon:Dt,title:"Generator Bola 3D",desc:"Bangun dome dan bola sempurna dengan instruksi per layer"}],s=[{name:"Beranda",url:"/"},{name:"Generator Lingkaran Minecraft",url:"/generator-lingkaran-minecraft"}],n=[{question:"Apa itu generator lingkaran Minecraft?",answer:"Generator lingkaran Minecraft adalah alat online gratis yang menghitung pola lingkaran pixel-perfect untuk membangun di Minecraft menggunakan algoritma matematika."},{question:"Seberapa akurat lingkaran yang dihasilkan?",answer:"Generator kami menggunakan algoritma lingkaran midpoint untuk hasil pixel-perfect dalam batasan berbasis blok Minecraft."},{question:"Apakah saya bisa mengunduh pola lingkaran?",answer:"Ya, unduh dalam format PNG atau SVG untuk referensi yang mudah saat membangun."},{question:"Apakah generator ini bekerja untuk Minecraft Bedrock dan Java?",answer:"Ya, alat kami bekerja untuk semua versi Minecraft termasuk Java Edition, Bedrock Edition, dan Pocket Edition."},{question:"Bagaimana cara membuat lingkaran sempurna di Minecraft?",answer:"Gunakan generator kami untuk mendapatkan template visual, lalu ikuti pola blok yang ditampilkan untuk membangun lingkaran di dunia Minecraft Anda."},{question:"Apakah saya perlu mendaftar untuk menggunakan alat ini?",answer:"Tidak, alat generator lingkaran kami sepenuhnya gratis dan tidak memerlukan registrasi atau pendaftaran."},{question:"Berapa ukuran maksimum lingkaran yang bisa dibuat?",answer:"Anda bisa membuat lingkaran dengan diameter hingga 256 blok, cocok untuk proyek bangunan besar seperti stadion atau kastil."},{question:"Apakah alat ini mobile-friendly?",answer:"Ya, generator lingkaran kami dioptimalkan untuk perangkat mobile sehingga Anda bisa mengakses panduan saat bermain Minecraft PE."}],i=[{author:"IndoBuilder2026",rating:5,reviewBody:"Generator lingkaran terbaik yang pernah saya temukan. Sempurna untuk menara kastil!",datePublished:"2026-11-15"},{author:"MCIndonesia",rating:5,reviewBody:"Akurat dan mudah digunakan. Fitur download sangat membantu.",datePublished:"2026-10-20"},{author:"GamerJakarta",rating:5,reviewBody:"Menghemat berjam-jam trial and error. Sangat direkomendasikan!",datePublished:"2026-09-10"},{author:"BuildMasterID",rating:5,reviewBody:"Alat yang bagus untuk building Minecraft. Bekerja di mobile juga.",datePublished:"2026-08-25"}];return e.jsxs(se,{title:"Generator Lingkaran Minecraft - Alat Pixel Circle Gratis Online 2026 | Buat Lingkaran Sempurna",description:"★ Buat lingkaran pixel sempurna untuk Minecraft dalam hitungan detik! Generator lingkaran gratis dengan preview instan, download PNG/SVG, kalkulator blok. Bekerja untuk Java, Bedrock & PE!",canonicalPath:"/generator-lingkaran-minecraft",keywords:"generator lingkaran minecraft, minecraft circle generator, pixel circle generator minecraft, cara membuat lingkaran di minecraft, circle generator, minecraft lingkaran, alat bangun minecraft, generator bentuk minecraft, minecraft indonesia, minecraft java, minecraft bedrock, minecraft pe, minecraft pocket edition, server minecraft indonesia, minecraft survival, minecraft creative, hypixel, skyblock, modded minecraft",type:"WebApplication",breadcrumbs:s,faqs:n,reviews:i,children:[e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:vn,alt:"Generator Lingkaran Minecraft - Bangun lingkaran pixel sempurna dan bentuk geometris",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-background/95 via-background/70 to-background/30"})]}),e.jsx("div",{className:"relative z-10 container mx-auto px-4 py-16 md:py-24 lg:py-32",children:e.jsxs("div",{className:"max-w-2xl",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("img",{src:Os,alt:"Logo Generator Lingkaran Minecraft",className:"h-12 w-12 rounded-lg shadow-lg"}),e.jsx("span",{className:"text-sm font-medium bg-primary/20 text-primary px-3 py-1 rounded-full",children:"Alat Online Gratis"})]}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-heading font-bold mb-6 animate-fade-in",children:e.jsx("strong",{children:"Generator Lingkaran Minecraft"})}),e.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-8",children:["Alat ",e.jsx("strong",{children:"generator pixel circle"})," gratis terbaik untuk ",e.jsx("strong",{children:"Minecraft"}),". Buat ",e.jsx("strong",{children:"lingkaran sempurna"}),", oval, dan bentuk geometris untuk bangunan Anda. Preview instan dengan opsi ",e.jsx("strong",{children:"download PNG dan SVG"}),"."]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ 100% Gratis"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Tanpa Registrasi"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Download Instan"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Mobile Friendly"})]})]})})]}),e.jsx("section",{className:"py-12",id:"generator",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"sr-only",children:"Alat Generator Lingkaran Minecraft"}),e.jsx(yn,{})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-4",children:["Lebih Banyak ",e.jsx("strong",{children:"Alat Building Minecraft"})]}),e.jsxs("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:["Jelajahi koleksi lengkap ",e.jsx("strong",{children:"generator bentuk Minecraft"})," kami. Bangun lingkaran, oval, hexagon, segitiga, berlian, tangga spiral, dan bola 3D."]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:r.map(a=>e.jsx(p,{to:a.href,className:"block group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsx(ee,{className:"pb-2",children:e.jsxs(te,{className:"flex items-center gap-3 text-lg",children:[e.jsx(a.icon,{className:"h-6 w-6 text-primary"}),a.title]})}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})})]})},a.href))})]})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["Mengapa Menggunakan ",e.jsx("strong",{children:"Generator Lingkaran Minecraft"})," Kami?"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:t.map((a,o)=>e.jsxs("div",{className:"bg-card rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[e.jsx(a.icon,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:a.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})]},o))})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["Cara Menggunakan ",e.jsx("strong",{children:"Generator Lingkaran Minecraft"})]}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"1"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Atur Dimensi"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Masukkan ",e.jsx("strong",{children:"lebar dan tinggi lingkaran"}),' yang diinginkan dalam blok. Gunakan "Force Circle" untuk ',e.jsx("strong",{children:"lingkaran sempurna"}),"."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"2"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Pilih Gaya"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Pilih ",e.jsx("strong",{children:"border saja"})," atau ",e.jsx("strong",{children:"lingkaran terisi"}),". Sesuaikan ketebalan untuk lingkaran berongga."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"3"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Download & Bangun"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Download ",e.jsx("strong",{children:"chart lingkaran sebagai PNG atau SVG"})," dan gunakan sebagai referensi membangun di Minecraft."]})]})]})]})}),e.jsx("section",{className:"py-16",children:e.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:e.jsxs("article",{className:"prose prose-lg max-w-none",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold mb-6",children:["Panduan Lengkap Membangun ",e.jsx("strong",{children:"Lingkaran di Minecraft"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["Membangun ",e.jsx("strong",{children:"lingkaran sempurna di Minecraft"})," bisa menjadi tantangan karena game ini menggunakan blok persegi.",e.jsx("strong",{children:"Generator lingkaran Minecraft"})," kami memecahkan masalah ini dengan menghitung tepat blok mana yang harus ditempatkan untuk membuat ",e.jsx("strong",{children:"bentuk lingkaran yang mulus dan pixel-perfect"}),". Baik Anda pemula atau builder berpengalaman,",e.jsx("strong",{children:"alat lingkaran online gratis"})," ini akan membantu Anda membuat struktur yang menakjubkan."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Apa Itu ",e.jsx("strong",{children:"Generator Lingkaran Minecraft"}),"?"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[e.jsx("strong",{children:"Generator lingkaran Minecraft"})," (juga disebut ",e.jsx("strong",{children:"pixel circle generator"})," atau ",e.jsx("strong",{children:"circle chart maker"}),") adalah alat online yang membuat blueprint visual untuk membangun struktur melingkar di Minecraft. Karena Minecraft menggunakan",e.jsx("strong",{children:"sistem berbasis voxel"})," dengan blok kubik, membuat kurva halus memerlukan perhitungan matematika yang cermat.",e.jsx("strong",{children:"Generator lingkaran untuk Minecraft"})," kami menggunakan ",e.jsx("strong",{children:"algoritma lingkaran midpoint"})," untuk menghasilkan hasil yang akurat setiap saat."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Penggunaan Umum ",e.jsx("strong",{children:"Pixel Circle Generator"})]}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Menara dan turret melingkar"})," – Bangun menara kastil abad pertengahan dengan dasar bundar sempurna"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Atap dome dan langit-langit"})," – Buat struktur dome yang menakjubkan menggunakan ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"generator bola 3D"})," kami"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Air mancur dan sumur"})," – Desain fitur air yang indah dengan basin melingkar"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Arena dan colosseum"})," – Bangun stadion melingkar besar untuk PvP atau event"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Crop circle dan taman"})," – Rencanakan tata letak pertanian melingkar dan taman dekoratif"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pixel art"})," – Buat elemen melingkar dalam proyek pixel art Minecraft Anda"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Monumen laut"})," – Rencanakan struktur bawah air melingkar"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Portal nether"})," – Desain bingkai portal kustom berbentuk lingkaran"]})]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:[e.jsx("strong",{children:"Generator Lingkaran"})," vs ",e.jsx("strong",{children:"Generator Oval"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Sementara alat utama kami membuat ",e.jsx("strong",{children:"lingkaran sempurna"})," (lebar dan tinggi sama), Anda juga bisa membuat",e.jsx("strong",{children:"elips dan oval"})," dengan menggunakan nilai lebar dan tinggi yang berbeda. Untuk kontrol lebih pada bentuk oval, coba ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"generator oval Minecraft"})," khusus kami. Oval sempurna untuk ",e.jsx("strong",{children:"trek balap"}),", ",e.jsx("strong",{children:"kolam renang"}),", dan ",e.jsx("strong",{children:"desain stadion"}),"."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:[e.jsx("strong",{children:"Generator Lingkaran Minecraft"})," untuk Semua Edisi"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[e.jsx("strong",{children:"Generator lingkaran"})," kami bekerja untuk semua versi Minecraft termasuk ",e.jsx("strong",{children:"Minecraft Java Edition"}),",",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),", ",e.jsx("strong",{children:"Minecraft Pocket Edition"}),", dan versi konsol. Pola blok bersifat universal di semua platform. Baik Anda ",e.jsx("strong",{children:"bermain Minecraft"})," di PC, mobile, atau konsol, alat kami membantu Anda membangun dengan presisi."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Sempurna untuk ",e.jsx("strong",{children:"Minecraft Creative Mode"})," dan ",e.jsx("strong",{children:"Survival"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Baik Anda bermain di ",e.jsx("strong",{children:"Minecraft creative mode"})," mendesain struktur megah atau bertahan di",e.jsx("strong",{children:" Minecraft survival"})," membangun base, generator lingkaran kami membantu Anda merencanakan dengan efisien. Hitung jumlah blok tepat sebelum mengumpulkan resource di ",e.jsx("strong",{children:"dunia Minecraft"})," Anda."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Tips Membangun ",e.jsx("strong",{children:"Lingkaran Sempurna di Minecraft"})]}),e.jsxs("ol",{className:"text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Mulai dari tengah"})," – Tandai titik tengah lingkaran Anda terlebih dahulu untuk penempatan yang akurat"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gunakan scaffolding"})," – Bangun scaffolding sementara untuk lingkaran besar di atas permukaan tanah"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Hitung blok Anda"})," – Alat kami menunjukkan ",e.jsx("strong",{children:"jumlah blok"})," yang tepat sehingga Anda bisa mengumpulkan material terlebih dahulu"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kerja dalam bagian"})," – Untuk lingkaran besar, bangun satu kuadran sekaligus dan cerminkan"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Gunakan grid"})," – Aktifkan garis grid di generator kami untuk penghitungan blok yang lebih mudah"]})]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Bermain di ",e.jsx("strong",{children:"Server Minecraft Indonesia"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Apakah Anda bermain di ",e.jsx("strong",{children:"server Minecraft Indonesia"}),", ",e.jsx("strong",{children:"Hypixel"}),", atau ",e.jsx("strong",{children:"Skyblock"}),", generator lingkaran kami membantu Anda membangun struktur profesional. Alat ini sangat berguna untuk builder yang ingin membuat bangunan menakjubkan di server ",e.jsx("strong",{children:"survival multiplayer"})," atau ",e.jsx("strong",{children:"creative build"}),"."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Lebih Banyak ",e.jsx("strong",{children:"Generator Bentuk Minecraft"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Selain lingkaran, kami menawarkan rangkaian lengkap ",e.jsx("strong",{children:"alat building Minecraft"}),":"]}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Generator Hexagon"})})," – Buat pola sarang lebah dan struktur enam sisi"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Generator Segitiga"})})," – Desain piramida, atap, dan bentuk panah"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Generator Berlian"})})," – Bangun pola belah ketupat untuk jendela dan lantai"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Generator Tangga Spiral"})})," – Panduan tangga spiral layer-by-layer"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Generator Bola 3D"})})," – Bangun dome dan bola dengan instruksi per layer"]})]})]})})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsx("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:"Pertanyaan yang Sering Diajukan"}),e.jsx(wn,{type:"single",collapsible:!0,className:"w-full",children:n.map((a,o)=>e.jsxs(zs,{value:`item-${o}`,children:[e.jsx(Hs,{className:"text-left font-semibold",children:a.question}),e.jsx(qs,{className:"text-muted-foreground",children:a.answer})]},o))})]})})]})},j6=()=>{const t=[{icon:gn,title:"Precisão de Pixel Perfeita",desc:"Gere círculos e ovais matematicamente precisos que ficam perfeitos no Minecraft."},{icon:Sr,title:"Fácil de Usar",desc:"Basta inserir as dimensões e obter resultados visuais instantâneos."},{icon:_e,title:"Múltiplas Opções de Exportação",desc:"Baixe seus círculos em PNG ou SVG para referência fácil ao construir."},{icon:xn,title:"Completamente Grátis",desc:"Sem registro, sem limites. Use quanto precisar."}],r=[{href:"/oval-generator",icon:we,title:"Gerador de Oval",desc:"Crie elipses e ovais para estádios, piscinas e pistas de corrida"},{href:"/hexagon-generator",icon:Vt,title:"Gerador de Hexágono",desc:"Construa padrões de favo de mel e estruturas de seis lados"},{href:"/triangle-generator",icon:Yt,title:"Gerador de Triângulo",desc:"Projete telhados, pirâmides e formas direcionais"},{href:"/diamond-generator",icon:$t,title:"Gerador de Diamante",desc:"Crie padrões de losango para janelas e pisos"},{href:"/spiral-staircase-generator",icon:mr,title:"Escada Espiral",desc:"Guia de construção de escada espiral camada por camada"},{href:"/sphere-generator",icon:Dt,title:"Gerador de Esfera 3D",desc:"Construa cúpulas e esferas perfeitas com instruções por camada"}],s=[{name:"Início",url:"/"},{name:"Gerador de Círculo Minecraft",url:"/gerador-circulo-minecraft"}],n=[{question:"O que é um gerador de círculo Minecraft?",answer:"Um gerador de círculo Minecraft é uma ferramenta online gratuita que calcula padrões circulares perfeitos em pixels para construir no Minecraft usando algoritmos matemáticos."},{question:"Quão precisos são os círculos gerados?",answer:"Nosso gerador usa o algoritmo de círculo de ponto médio para resultados perfeitos em pixels dentro das restrições baseadas em blocos do Minecraft."},{question:"Posso baixar o padrão do círculo?",answer:"Sim, baixe em formato PNG ou SVG para referência fácil durante a construção."},{question:"O gerador funciona para Minecraft Bedrock e Java?",answer:"Sim, nossa ferramenta funciona para todas as versões do Minecraft, incluindo Java Edition, Bedrock Edition e Pocket Edition."},{question:"Como faço um círculo perfeito no Minecraft?",answer:"Use nosso gerador para obter um modelo visual, depois siga o padrão de blocos exibido para construir o círculo no seu mundo Minecraft."},{question:"Preciso me registrar para usar esta ferramenta?",answer:"Não, nosso gerador de círculo é completamente gratuito e não requer registro."},{question:"Qual é o tamanho máximo do círculo que posso criar?",answer:"Você pode criar círculos com diâmetro de até 256 blocos, adequado para grandes projetos como estádios ou castelos."},{question:"Esta ferramenta funciona em dispositivos móveis?",answer:"Sim, nosso gerador de círculo é otimizado para dispositivos móveis para que você possa acessar guias enquanto joga Minecraft PE."}],i=[{author:"BuilderBR2026",rating:5,reviewBody:"Melhor gerador de círculo que já encontrei. Perfeito para torres de castelos!",datePublished:"2026-11-15"},{author:"MCBrasil",rating:5,reviewBody:"Preciso e fácil de usar. O recurso de download é incrível.",datePublished:"2026-10-20"},{author:"GamerPortugues",rating:5,reviewBody:"Economizou horas de tentativa e erro. Muito recomendado!",datePublished:"2026-09-10"},{author:"BuildMasterPT",rating:5,reviewBody:"Ótima ferramenta para construção no Minecraft. Funciona no celular também.",datePublished:"2026-08-25"}];return e.jsxs(se,{title:"Gerador de Círculo Minecraft - Ferramenta de Pixel Circle Grátis Online 2026",description:"★ Crie círculos de pixel perfeitos para Minecraft em segundos! Gerador de círculo grátis com visualização instantânea, download PNG/SVG, calculadora de blocos. Funciona com Java, Bedrock e PE!",canonicalPath:"/gerador-circulo-minecraft",keywords:"gerador de círculo minecraft, minecraft circle generator, gerador de pixel circle, como fazer círculos no minecraft, circle generator, minecraft círculo, ferramenta de construção minecraft, gerador de formas minecraft, minecraft brasil, minecraft java, minecraft bedrock, minecraft pe, servidor minecraft brasil, minecraft survival, minecraft criativo",type:"WebApplication",breadcrumbs:s,faqs:n,reviews:i,children:[e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:vn,alt:"Gerador de Círculo Minecraft - Construa círculos de pixel perfeitos e formas geométricas",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-background/95 via-background/70 to-background/30"})]}),e.jsx("div",{className:"relative z-10 container mx-auto px-4 py-16 md:py-24 lg:py-32",children:e.jsxs("div",{className:"max-w-2xl",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("img",{src:Os,alt:"Logo Gerador de Círculo Minecraft",className:"h-12 w-12 rounded-lg shadow-lg"}),e.jsx("span",{className:"text-sm font-medium bg-primary/20 text-primary px-3 py-1 rounded-full",children:"Ferramenta Online Grátis"})]}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-heading font-bold mb-6 animate-fade-in",children:e.jsx("strong",{children:"Gerador de Círculo Minecraft"})}),e.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-8",children:["A melhor ferramenta gratuita de ",e.jsx("strong",{children:"gerador de pixel circle"})," para ",e.jsx("strong",{children:"Minecraft"}),". Crie ",e.jsx("strong",{children:"círculos perfeitos"}),", ovais e formas geométricas para suas construções. Visualização instantânea com opções de ",e.jsx("strong",{children:"download PNG e SVG"}),"."]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ 100% Grátis"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Sem Registro"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Download Instantâneo"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Mobile Friendly"})]})]})})]}),e.jsx("section",{className:"py-12",id:"generator",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"sr-only",children:"Ferramenta Gerador de Círculo Minecraft"}),e.jsx(yn,{})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-4",children:["Mais ",e.jsx("strong",{children:"Ferramentas de Construção Minecraft"})]}),e.jsxs("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:["Explore nossa coleção completa de ",e.jsx("strong",{children:"geradores de formas Minecraft"}),". Construa círculos, ovais, hexágonos, triângulos, diamantes, escadas espirais e esferas 3D."]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:r.map(a=>e.jsx(p,{to:a.href,className:"block group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsx(ee,{className:"pb-2",children:e.jsxs(te,{className:"flex items-center gap-3 text-lg",children:[e.jsx(a.icon,{className:"h-6 w-6 text-primary"}),a.title]})}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})})]})},a.href))})]})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["Por Que Usar Nosso ",e.jsx("strong",{children:"Gerador de Círculo Minecraft"}),"?"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:t.map((a,o)=>e.jsxs("div",{className:"bg-card rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[e.jsx(a.icon,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:a.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})]},o))})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["Como Usar o ",e.jsx("strong",{children:"Gerador de Círculo Minecraft"})]}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"1"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Defina as Dimensões"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Insira a ",e.jsx("strong",{children:"largura e altura do círculo"}),' desejadas em blocos. Use "Forçar Círculo" para ',e.jsx("strong",{children:"círculos perfeitos"}),"."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"2"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Escolha o Estilo"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Selecione ",e.jsx("strong",{children:"apenas borda"})," ou ",e.jsx("strong",{children:"círculo preenchido"}),". Ajuste a espessura para círculos ocos."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"3"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Baixe e Construa"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Baixe o ",e.jsx("strong",{children:"gráfico do círculo como PNG ou SVG"})," e use como referência para construir no Minecraft."]})]})]})]})}),e.jsx("section",{className:"py-16",children:e.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:e.jsxs("article",{className:"prose prose-lg max-w-none",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold mb-6",children:["Guia Completo para Construir ",e.jsx("strong",{children:"Círculos no Minecraft"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["Construir ",e.jsx("strong",{children:"círculos perfeitos no Minecraft"})," pode ser desafiador porque o jogo usa blocos quadrados. Nosso ",e.jsx("strong",{children:"gerador de círculo Minecraft"})," resolve esse problema calculando exatamente quais blocos colocar para criar ",e.jsx("strong",{children:"formas circulares suaves e perfeitas em pixels"}),". Seja você um iniciante ou construtor experiente, esta ",e.jsx("strong",{children:"ferramenta de círculo online gratuita"})," ajudará você a criar estruturas impressionantes."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["O Que é um ",e.jsx("strong",{children:"Gerador de Círculo Minecraft"}),"?"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Um ",e.jsx("strong",{children:"gerador de círculo Minecraft"})," (também chamado de ",e.jsx("strong",{children:"pixel circle generator"})," ou ",e.jsx("strong",{children:"criador de gráfico de círculo"}),") é uma ferramenta online que cria blueprints visuais para construir estruturas circulares no Minecraft. Como o Minecraft usa um",e.jsx("strong",{children:"sistema baseado em voxels"})," com blocos cúbicos, criar curvas suaves requer cálculos matemáticos cuidadosos. Nosso ",e.jsx("strong",{children:"gerador de círculo para Minecraft"})," usa o ",e.jsx("strong",{children:"algoritmo de círculo de ponto médio"})," para produzir resultados precisos toda vez."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:[e.jsx("strong",{children:"Gerador de Círculo Minecraft"})," para Todas as Edições"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Nosso ",e.jsx("strong",{children:"gerador de círculo"})," funciona para todas as versões do Minecraft incluindo ",e.jsx("strong",{children:"Minecraft Java Edition"}),",",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),", ",e.jsx("strong",{children:"Minecraft Pocket Edition"})," e versões de console. Os padrões de blocos são universais em todas as plataformas. Se você ",e.jsx("strong",{children:"joga Minecraft"})," no PC, celular ou console, nossas ferramentas ajudam você a construir com precisão."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Jogando em ",e.jsx("strong",{children:"Servidores Minecraft Brasil"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Se você joga em ",e.jsx("strong",{children:"servidores Minecraft Brasil"}),", ",e.jsx("strong",{children:"Hypixel"})," ou ",e.jsx("strong",{children:"Skyblock"}),", nosso gerador de círculo ajuda você a construir estruturas profissionais. Esta ferramenta é especialmente útil para construtores que querem criar edifícios incríveis em servidores ",e.jsx("strong",{children:"survival multiplayer"})," ou ",e.jsx("strong",{children:"creative build"}),"."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Mais ",e.jsx("strong",{children:"Geradores de Formas Minecraft"})]}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Gerador de Hexágono"})})," – Crie padrões de favo de mel e estruturas de seis lados"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Gerador de Triângulo"})})," – Projete pirâmides, telhados e formas de seta"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Gerador de Diamante"})})," – Construa padrões de losango para janelas e pisos"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Gerador de Escada Espiral"})})," – Guia de escada espiral camada por camada"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:e.jsx("strong",{children:"Gerador de Esfera 3D"})})," – Construa cúpulas e esferas com instruções por camada"]})]}),e.jsx("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:"Disponível em Outros Idiomas"}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsx("li",{children:e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"English - Minecraft Circle Generator"})}),e.jsx("li",{children:e.jsx(p,{to:"/generator-lingkaran-minecraft",className:"text-primary hover:underline",children:"Bahasa Indonesia - Generator Lingkaran Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/generador-circulos-minecraft-vn",className:"text-primary hover:underline",children:"Tiếng Việt - Công Cụ Tạo Hình Tròn Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-circle-generator-hindi",className:"text-primary hover:underline",children:"हिंदी - माइनक्राफ्ट सर्कल जनरेटर"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-daire-olusturucu",className:"text-primary hover:underline",children:"Türkçe - Minecraft Daire Oluşturucu"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-circle-generator-thai",className:"text-primary hover:underline",children:"ไทย - เครื่องมือสร้างวงกลม Minecraft"})})]})]})})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsx("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:"Perguntas Frequentes"}),e.jsx(wn,{type:"single",collapsible:!0,className:"w-full",children:n.map((a,o)=>e.jsxs(zs,{value:`item-${o}`,children:[e.jsx(Hs,{className:"text-left font-semibold",children:a.question}),e.jsx(qs,{className:"text-muted-foreground",children:a.answer})]},o))})]})})]})},b6=()=>{const t=[{icon:gn,title:"Độ Chính Xác Pixel Hoàn Hảo",desc:"Tạo hình tròn và hình bầu dục chính xác về mặt toán học, trông hoàn hảo trong Minecraft."},{icon:Sr,title:"Dễ Sử Dụng",desc:"Chỉ cần nhập kích thước và nhận kết quả hình ảnh ngay lập tức."},{icon:_e,title:"Nhiều Tùy Chọn Xuất",desc:"Tải xuống hình tròn của bạn dưới dạng PNG hoặc SVG để tham khảo dễ dàng khi xây dựng."},{icon:xn,title:"Hoàn Toàn Miễn Phí",desc:"Không cần đăng ký, không giới hạn. Sử dụng bao nhiêu tùy thích."}],r=[{href:"/oval-generator",icon:we,title:"Công Cụ Tạo Hình Oval",desc:"Tạo hình elip và oval cho sân vận động, hồ bơi và đường đua"},{href:"/hexagon-generator",icon:Vt,title:"Công Cụ Tạo Lục Giác",desc:"Xây dựng họa tiết tổ ong và cấu trúc sáu cạnh"},{href:"/triangle-generator",icon:Yt,title:"Công Cụ Tạo Tam Giác",desc:"Thiết kế mái nhà, kim tự tháp và hình dạng có hướng"},{href:"/diamond-generator",icon:$t,title:"Công Cụ Tạo Kim Cương",desc:"Tạo họa tiết hình thoi cho cửa sổ và sàn nhà"},{href:"/spiral-staircase-generator",icon:mr,title:"Cầu Thang Xoắn",desc:"Hướng dẫn xây cầu thang xoắn từng lớp"},{href:"/sphere-generator",icon:Dt,title:"Công Cụ Tạo Cầu 3D",desc:"Xây dựng mái vòm và hình cầu hoàn hảo với hướng dẫn từng lớp"}],s=[{name:"Trang Chủ",url:"/"},{name:"Công Cụ Tạo Hình Tròn Minecraft",url:"/generador-circulos-minecraft-vn"}],n=[{question:"Công cụ tạo hình tròn Minecraft là gì?",answer:"Công cụ tạo hình tròn Minecraft là một công cụ trực tuyến miễn phí tính toán các mẫu hình tròn pixel hoàn hảo để xây dựng trong Minecraft bằng thuật toán toán học."},{question:"Các hình tròn được tạo ra chính xác như thế nào?",answer:"Công cụ của chúng tôi sử dụng thuật toán hình tròn midpoint để có kết quả pixel hoàn hảo trong giới hạn khối của Minecraft."},{question:"Tôi có thể tải xuống mẫu hình tròn không?",answer:"Có, tải xuống ở định dạng PNG hoặc SVG để tham khảo dễ dàng khi xây dựng."},{question:"Công cụ này có hoạt động cho Minecraft Bedrock và Java không?",answer:"Có, công cụ của chúng tôi hoạt động cho tất cả các phiên bản Minecraft bao gồm Java Edition, Bedrock Edition và Pocket Edition."},{question:"Làm thế nào để tạo hình tròn hoàn hảo trong Minecraft?",answer:"Sử dụng công cụ của chúng tôi để có mẫu hình ảnh, sau đó làm theo mẫu khối hiển thị để xây dựng hình tròn trong thế giới Minecraft của bạn."},{question:"Tôi có cần đăng ký để sử dụng công cụ này không?",answer:"Không, công cụ tạo hình tròn của chúng tôi hoàn toàn miễn phí và không yêu cầu đăng ký."},{question:"Kích thước tối đa của hình tròn có thể tạo là bao nhiêu?",answer:"Bạn có thể tạo hình tròn với đường kính lên đến 256 khối, phù hợp cho các dự án lớn như sân vận động hoặc lâu đài."},{question:"Công cụ này có thân thiện với thiết bị di động không?",answer:"Có, công cụ tạo hình tròn của chúng tôi được tối ưu hóa cho thiết bị di động để bạn có thể truy cập hướng dẫn khi chơi Minecraft PE."}],i=[{author:"BuilderVN2026",rating:5,reviewBody:"Công cụ tạo hình tròn tốt nhất mà tôi tìm thấy. Hoàn hảo cho tháp lâu đài!",datePublished:"2026-11-15"},{author:"MCVietnam",rating:5,reviewBody:"Chính xác và dễ sử dụng. Tính năng tải xuống rất tuyệt vời.",datePublished:"2026-10-20"},{author:"GamerViet",rating:5,reviewBody:"Tiết kiệm hàng giờ thử và sai. Rất khuyến khích!",datePublished:"2026-09-10"},{author:"BuildMasterVN",rating:5,reviewBody:"Công cụ tuyệt vời để xây dựng Minecraft. Hoạt động trên điện thoại nữa.",datePublished:"2026-08-25"}];return e.jsxs(se,{title:"Công Cụ Tạo Hình Tròn Minecraft - Pixel Circle Generator Miễn Phí 2026",description:"★ Tạo hình tròn pixel hoàn hảo cho Minecraft trong vài giây! Công cụ tạo hình tròn miễn phí với xem trước tức thì, tải PNG/SVG, máy tính khối. Hoạt động với Java, Bedrock & PE!",canonicalPath:"/generador-circulos-minecraft-vn",keywords:"công cụ tạo hình tròn minecraft, minecraft circle generator, pixel circle generator, cách tạo hình tròn trong minecraft, circle generator, minecraft hình tròn, công cụ xây dựng minecraft, minecraft việt nam, minecraft java, minecraft bedrock, minecraft pe, server minecraft việt nam, minecraft survival, minecraft creative, hypixel, skyblock",type:"WebApplication",breadcrumbs:s,faqs:n,reviews:i,children:[e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:vn,alt:"Công Cụ Tạo Hình Tròn Minecraft - Xây dựng hình tròn pixel hoàn hảo và hình dạng hình học",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-background/95 via-background/70 to-background/30"})]}),e.jsx("div",{className:"relative z-10 container mx-auto px-4 py-16 md:py-24 lg:py-32",children:e.jsxs("div",{className:"max-w-2xl",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("img",{src:Os,alt:"Logo Công Cụ Tạo Hình Tròn Minecraft",className:"h-12 w-12 rounded-lg shadow-lg"}),e.jsx("span",{className:"text-sm font-medium bg-primary/20 text-primary px-3 py-1 rounded-full",children:"Công Cụ Trực Tuyến Miễn Phí"})]}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-heading font-bold mb-6 animate-fade-in",children:e.jsx("strong",{children:"Công Cụ Tạo Hình Tròn Minecraft"})}),e.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-8",children:["Công cụ ",e.jsx("strong",{children:"tạo pixel circle"})," miễn phí tốt nhất cho ",e.jsx("strong",{children:"Minecraft"}),". Tạo ",e.jsx("strong",{children:"hình tròn hoàn hảo"}),", hình bầu dục và hình dạng hình học cho các công trình của bạn. Xem trước tức thì với tùy chọn ",e.jsx("strong",{children:"tải PNG và SVG"}),"."]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ 100% Miễn Phí"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Không Cần Đăng Ký"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Tải Xuống Ngay"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Thân Thiện Di Động"})]})]})})]}),e.jsx("section",{className:"py-12",id:"generator",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"sr-only",children:"Công Cụ Tạo Hình Tròn Minecraft"}),e.jsx(yn,{})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-4",children:["Thêm ",e.jsx("strong",{children:"Công Cụ Xây Dựng Minecraft"})]}),e.jsxs("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:["Khám phá bộ sưu tập đầy đủ ",e.jsx("strong",{children:"công cụ tạo hình Minecraft"})," của chúng tôi. Xây dựng hình tròn, oval, lục giác, tam giác, kim cương, cầu thang xoắn và cầu 3D."]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:r.map(a=>e.jsx(p,{to:a.href,className:"block group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsx(ee,{className:"pb-2",children:e.jsxs(te,{className:"flex items-center gap-3 text-lg",children:[e.jsx(a.icon,{className:"h-6 w-6 text-primary"}),a.title]})}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})})]})},a.href))})]})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["Tại Sao Sử Dụng ",e.jsx("strong",{children:"Công Cụ Tạo Hình Tròn Minecraft"})," Của Chúng Tôi?"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:t.map((a,o)=>e.jsxs("div",{className:"bg-card rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[e.jsx(a.icon,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:a.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})]},o))})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["Cách Sử Dụng ",e.jsx("strong",{children:"Công Cụ Tạo Hình Tròn Minecraft"})]}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"1"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Đặt Kích Thước"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Nhập ",e.jsx("strong",{children:"chiều rộng và chiều cao hình tròn"}),' mong muốn theo khối. Sử dụng "Force Circle" cho ',e.jsx("strong",{children:"hình tròn hoàn hảo"}),"."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"2"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Chọn Kiểu"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Chọn ",e.jsx("strong",{children:"chỉ viền"})," hoặc ",e.jsx("strong",{children:"hình tròn đặc"}),". Điều chỉnh độ dày cho hình tròn rỗng."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"3"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Tải Xuống & Xây Dựng"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Tải ",e.jsx("strong",{children:"biểu đồ hình tròn dưới dạng PNG hoặc SVG"})," và sử dụng làm tài liệu tham khảo để xây dựng trong Minecraft."]})]})]})]})}),e.jsx("section",{className:"py-16",children:e.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:e.jsxs("article",{className:"prose prose-lg max-w-none",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold mb-6",children:["Hướng Dẫn Đầy Đủ Xây Dựng ",e.jsx("strong",{children:"Hình Tròn Trong Minecraft"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["Xây dựng ",e.jsx("strong",{children:"hình tròn hoàn hảo trong Minecraft"})," có thể là thách thức vì game sử dụng khối vuông.",e.jsx("strong",{children:"Công cụ tạo hình tròn Minecraft"})," của chúng tôi giải quyết vấn đề này bằng cách tính toán chính xác khối nào cần đặt để tạo ",e.jsx("strong",{children:"hình tròn mượt mà và pixel hoàn hảo"}),". Dù bạn là người mới hay builder có kinh nghiệm,",e.jsx("strong",{children:"công cụ hình tròn trực tuyến miễn phí"})," này sẽ giúp bạn tạo các cấu trúc ấn tượng."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:[e.jsx("strong",{children:"Công Cụ Tạo Hình Tròn Minecraft"})," Cho Tất Cả Các Phiên Bản"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[e.jsx("strong",{children:"Công cụ tạo hình tròn"})," của chúng tôi hoạt động cho tất cả các phiên bản Minecraft bao gồm ",e.jsx("strong",{children:"Minecraft Java Edition"}),",",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),", ",e.jsx("strong",{children:"Minecraft Pocket Edition"})," và các phiên bản console. Mẫu khối là phổ quát trên tất cả các nền tảng. Dù bạn ",e.jsx("strong",{children:"chơi Minecraft"})," trên PC, điện thoại hay console, công cụ của chúng tôi giúp bạn xây dựng với độ chính xác."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Chơi Trên ",e.jsx("strong",{children:"Server Minecraft Việt Nam"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["Nếu bạn chơi trên ",e.jsx("strong",{children:"server Minecraft Việt Nam"}),", ",e.jsx("strong",{children:"Hypixel"})," hoặc ",e.jsx("strong",{children:"Skyblock"}),", công cụ tạo hình tròn của chúng tôi giúp bạn xây dựng các cấu trúc chuyên nghiệp. Công cụ này đặc biệt hữu ích cho các builder muốn tạo các tòa nhà ấn tượng trên server ",e.jsx("strong",{children:"survival multiplayer"})," hoặc ",e.jsx("strong",{children:"creative build"}),"."]}),e.jsx("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:"Có Sẵn Bằng Các Ngôn Ngữ Khác"}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsx("li",{children:e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"English - Minecraft Circle Generator"})}),e.jsx("li",{children:e.jsx(p,{to:"/generator-lingkaran-minecraft",className:"text-primary hover:underline",children:"Bahasa Indonesia - Generator Lingkaran Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/gerador-circulo-minecraft",className:"text-primary hover:underline",children:"Português - Gerador de Círculo Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-circle-generator-hindi",className:"text-primary hover:underline",children:"हिंदी - माइनक्राफ्ट सर्कल जनरेटर"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-daire-olusturucu",className:"text-primary hover:underline",children:"Türkçe - Minecraft Daire Oluşturucu"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-circle-generator-thai",className:"text-primary hover:underline",children:"ไทย - เครื่องมือสร้างวงกลม Minecraft"})})]})]})})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsx("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:"Câu Hỏi Thường Gặp"}),e.jsx(wn,{type:"single",collapsible:!0,className:"w-full",children:n.map((a,o)=>e.jsxs(zs,{value:`item-${o}`,children:[e.jsx(Hs,{className:"text-left font-semibold",children:a.question}),e.jsx(qs,{className:"text-muted-foreground",children:a.answer})]},o))})]})})]})},y6=()=>{const t=[{icon:gn,title:"पिक्सेल परफेक्ट सटीकता",desc:"गणितीय रूप से सटीक सर्कल और ओवल बनाएं जो Minecraft में परफेक्ट दिखते हैं।"},{icon:Sr,title:"उपयोग में आसान",desc:"बस अपने आयाम दर्ज करें और तुरंत विज़ुअल परिणाम प्राप्त करें।"},{icon:_e,title:"कई एक्सपोर्ट विकल्प",desc:"निर्माण करते समय आसान संदर्भ के लिए अपने सर्कल PNG या SVG के रूप में डाउनलोड करें।"},{icon:xn,title:"पूरी तरह से मुफ्त",desc:"कोई पंजीकरण नहीं, कोई सीमा नहीं। जितना चाहें उतना उपयोग करें।"}],r=[{href:"/oval-generator",icon:we,title:"ओवल जेनरेटर",desc:"स्टेडियम, पूल और रेस ट्रैक के लिए एलिप्स और ओवल बनाएं"},{href:"/hexagon-generator",icon:Vt,title:"हेक्सागन जेनरेटर",desc:"हनीकॉम्ब पैटर्न और छह तरफा संरचनाएं बनाएं"},{href:"/triangle-generator",icon:Yt,title:"ट्राएंगल जेनरेटर",desc:"छतें, पिरामिड और दिशात्मक आकार डिजाइन करें"},{href:"/diamond-generator",icon:$t,title:"डायमंड जेनरेटर",desc:"खिड़कियों और फर्श के लिए रॉम्बस पैटर्न बनाएं"},{href:"/spiral-staircase-generator",icon:mr,title:"स्पाइरल सीढ़ी",desc:"लेयर-बाय-लेयर स्पाइरल सीढ़ी बिल्डिंग गाइड"},{href:"/sphere-generator",icon:Dt,title:"3D स्फीयर जेनरेटर",desc:"लेयर निर्देशों के साथ परफेक्ट डोम और स्फीयर बनाएं"}],s=[{name:"होम",url:"/"},{name:"माइनक्राफ्ट सर्कल जेनरेटर",url:"/minecraft-circle-generator-hindi"}],n=[{question:"माइनक्राफ्ट सर्कल जेनरेटर क्या है?",answer:"माइनक्राफ्ट सर्कल जेनरेटर एक मुफ्त ऑनलाइन टूल है जो गणितीय एल्गोरिदम का उपयोग करके Minecraft में निर्माण के लिए पिक्सेल-परफेक्ट सर्कुलर पैटर्न की गणना करता है।"},{question:"जेनरेट किए गए सर्कल कितने सटीक हैं?",answer:"हमारा जेनरेटर Minecraft की ब्लॉक-आधारित बाधाओं के भीतर पिक्सेल-परफेक्ट परिणामों के लिए मिडपॉइंट सर्कल एल्गोरिदम का उपयोग करता है।"},{question:"क्या मैं सर्कल पैटर्न डाउनलोड कर सकता हूं?",answer:"हां, निर्माण करते समय आसान संदर्भ के लिए PNG या SVG फॉर्मेट में डाउनलोड करें।"},{question:"क्या यह जेनरेटर Minecraft Bedrock और Java के लिए काम करता है?",answer:"हां, हमारा टूल Java Edition, Bedrock Edition और Pocket Edition सहित Minecraft के सभी संस्करणों के लिए काम करता है।"},{question:"Minecraft में परफेक्ट सर्कल कैसे बनाएं?",answer:"विज़ुअल टेम्पलेट प्राप्त करने के लिए हमारे जेनरेटर का उपयोग करें, फिर अपनी Minecraft दुनिया में सर्कल बनाने के लिए दिखाए गए ब्लॉक पैटर्न का पालन करें।"},{question:"क्या इस टूल का उपयोग करने के लिए मुझे पंजीकरण करना होगा?",answer:"नहीं, हमारा सर्कल जेनरेटर पूरी तरह से मुफ्त है और इसके लिए किसी पंजीकरण की आवश्यकता नहीं है।"},{question:"सर्कल का अधिकतम आकार क्या बनाया जा सकता है?",answer:"आप 256 ब्लॉक तक के व्यास वाले सर्कल बना सकते हैं, जो स्टेडियम या महल जैसी बड़ी परियोजनाओं के लिए उपयुक्त है।"},{question:"क्या यह टूल मोबाइल-फ्रेंडली है?",answer:"हां, हमारा सर्कल जेनरेटर मोबाइल उपकरणों के लिए अनुकूलित है ताकि आप Minecraft PE खेलते समय गाइड एक्सेस कर सकें।"}],i=[{author:"BuilderIndia2026",rating:5,reviewBody:"सबसे अच्छा सर्कल जेनरेटर जो मैंने पाया। महल टॉवर के लिए परफेक्ट!",datePublished:"2026-11-15"},{author:"MCIndia",rating:5,reviewBody:"सटीक और उपयोग में आसान। डाउनलोड फीचर शानदार है।",datePublished:"2026-10-20"},{author:"GamerHindi",rating:5,reviewBody:"ट्रायल और एरर के घंटे बचाए। अत्यधिक अनुशंसित!",datePublished:"2026-09-10"},{author:"BuildMasterIN",rating:5,reviewBody:"Minecraft बिल्डिंग के लिए बढ़िया टूल। मोबाइल पर भी काम करता है।",datePublished:"2026-08-25"}];return e.jsxs(se,{title:"माइनक्राफ्ट सर्कल जेनरेटर - मुफ्त ऑनलाइन पिक्सेल सर्कल टूल 2026",description:"★ Minecraft के लिए सेकंड में परफेक्ट पिक्सेल सर्कल बनाएं! इंस्टेंट प्रीव्यू, PNG/SVG डाउनलोड, ब्लॉक कैलकुलेटर के साथ मुफ्त सर्कल जेनरेटर। Java, Bedrock और PE के साथ काम करता है!",canonicalPath:"/minecraft-circle-generator-hindi",keywords:"माइनक्राफ्ट सर्कल जेनरेटर, minecraft circle generator, पिक्सेल सर्कल जेनरेटर, minecraft में सर्कल कैसे बनाएं, circle generator, minecraft सर्कल, minecraft बिल्डिंग टूल, minecraft इंडिया, minecraft java, minecraft bedrock, minecraft pe, minecraft server india, minecraft survival, minecraft creative, hypixel, skyblock",type:"WebApplication",breadcrumbs:s,faqs:n,reviews:i,children:[e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:vn,alt:"माइनक्राफ्ट सर्कल जेनरेटर - परफेक्ट पिक्सेल सर्कल और ज्यामितीय आकार बनाएं",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-background/95 via-background/70 to-background/30"})]}),e.jsx("div",{className:"relative z-10 container mx-auto px-4 py-16 md:py-24 lg:py-32",children:e.jsxs("div",{className:"max-w-2xl",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("img",{src:Os,alt:"माइनक्राफ्ट सर्कल जेनरेटर लोगो",className:"h-12 w-12 rounded-lg shadow-lg"}),e.jsx("span",{className:"text-sm font-medium bg-primary/20 text-primary px-3 py-1 rounded-full",children:"मुफ्त ऑनलाइन टूल"})]}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-heading font-bold mb-6 animate-fade-in",children:e.jsx("strong",{children:"माइनक्राफ्ट सर्कल जेनरेटर"})}),e.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-8",children:[e.jsx("strong",{children:"Minecraft"})," के लिए सबसे अच्छा मुफ्त ",e.jsx("strong",{children:"पिक्सेल सर्कल जेनरेटर"}),"। अपनी बिल्डिंग के लिए ",e.jsx("strong",{children:"परफेक्ट सर्कल"}),", ओवल और ज्यामितीय आकार बनाएं। ",e.jsx("strong",{children:"PNG और SVG डाउनलोड"})," विकल्पों के साथ इंस्टेंट प्रीव्यू।"]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ 100% मुफ्त"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ कोई पंजीकरण नहीं"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ इंस्टेंट डाउनलोड"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ मोबाइल फ्रेंडली"})]})]})})]}),e.jsx("section",{className:"py-12",id:"generator",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"sr-only",children:"माइनक्राफ्ट सर्कल जेनरेटर टूल"}),e.jsx(yn,{})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-4",children:["और ",e.jsx("strong",{children:"Minecraft बिल्डिंग टूल्स"})]}),e.jsxs("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:["हमारे ",e.jsx("strong",{children:"Minecraft शेप जेनरेटर्स"})," का पूरा संग्रह एक्सप्लोर करें। सर्कल, ओवल, हेक्सागन, ट्राएंगल, डायमंड, स्पाइरल सीढ़ी और 3D स्फीयर बनाएं।"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:r.map(a=>e.jsx(p,{to:a.href,className:"block group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsx(ee,{className:"pb-2",children:e.jsxs(te,{className:"flex items-center gap-3 text-lg",children:[e.jsx(a.icon,{className:"h-6 w-6 text-primary"}),a.title]})}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})})]})},a.href))})]})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["हमारा ",e.jsx("strong",{children:"माइनक्राफ्ट सर्कल जेनरेटर"})," क्यों उपयोग करें?"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:t.map((a,o)=>e.jsxs("div",{className:"bg-card rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[e.jsx(a.icon,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:a.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})]},o))})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:[e.jsx("strong",{children:"माइनक्राफ्ट सर्कल जेनरेटर"})," का उपयोग कैसे करें"]}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"1"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"आयाम सेट करें"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["ब्लॉक में अपनी वांछित ",e.jsx("strong",{children:"सर्कल चौड़ाई और ऊंचाई"})," दर्ज करें। ",e.jsx("strong",{children:"परफेक्ट सर्कल"}),' के लिए "Force Circle" का उपयोग करें।']})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"2"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"स्टाइल चुनें"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"केवल बॉर्डर"})," या ",e.jsx("strong",{children:"भरा हुआ सर्कल"})," चुनें। खोखले सर्कल के लिए मोटाई समायोजित करें।"]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"3"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"डाउनलोड करें और बनाएं"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"PNG या SVG के रूप में सर्कल चार्ट"})," डाउनलोड करें और Minecraft में बिल्डिंग रेफरेंस के रूप में उपयोग करें।"]})]})]})]})}),e.jsx("section",{className:"py-16",children:e.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:e.jsxs("article",{className:"prose prose-lg max-w-none",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold mb-6",children:["Minecraft में ",e.jsx("strong",{children:"सर्कल बनाने"})," की पूरी गाइड"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["Minecraft में ",e.jsx("strong",{children:"परफेक्ट सर्कल बनाना"})," चुनौतीपूर्ण हो सकता है क्योंकि गेम स्क्वायर ब्लॉक का उपयोग करता है। हमारा ",e.jsx("strong",{children:"माइनक्राफ्ट सर्कल जेनरेटर"})," यह समस्या हल करता है - यह बिल्कुल सटीक गणना करता है कि कौन से ब्लॉक रखने हैं",e.jsx("strong",{children:"स्मूथ, पिक्सेल-परफेक्ट सर्कुलर शेप्स"})," बनाने के लिए। चाहे आप नए हों या अनुभवी बिल्डर, यह ",e.jsx("strong",{children:"मुफ्त ऑनलाइन सर्कल टूल"})," आपको शानदार स्ट्रक्चर बनाने में मदद करेगा।"]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["सभी एडिशन के लिए ",e.jsx("strong",{children:"माइनक्राफ्ट सर्कल जेनरेटर"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:["हमारा ",e.jsx("strong",{children:"सर्कल जेनरेटर"})," Minecraft के सभी वर्जन के लिए काम करता है जिसमें ",e.jsx("strong",{children:"Minecraft Java Edition"}),",",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),", ",e.jsx("strong",{children:"Minecraft Pocket Edition"})," और कंसोल वर्जन शामिल हैं। ब्लॉक पैटर्न सभी प्लेटफॉर्म पर यूनिवर्सल हैं। चाहे आप PC, मोबाइल या कंसोल पर ",e.jsx("strong",{children:"Minecraft खेलें"}),", हमारे टूल आपको प्रिसिजन के साथ बिल्ड करने में मदद करते हैं।"]}),e.jsx("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:"अन्य भाषाओं में उपलब्ध"}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsx("li",{children:e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"English - Minecraft Circle Generator"})}),e.jsx("li",{children:e.jsx(p,{to:"/generator-lingkaran-minecraft",className:"text-primary hover:underline",children:"Bahasa Indonesia - Generator Lingkaran Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/gerador-circulo-minecraft",className:"text-primary hover:underline",children:"Português - Gerador de Círculo Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/generador-circulos-minecraft-vn",className:"text-primary hover:underline",children:"Tiếng Việt - Công Cụ Tạo Hình Tròn Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-daire-olusturucu",className:"text-primary hover:underline",children:"Türkçe - Minecraft Daire Oluşturucu"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-circle-generator-thai",className:"text-primary hover:underline",children:"ไทย - เครื่องมือสร้างวงกลม Minecraft"})})]})]})})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsx("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:"अक्सर पूछे जाने वाले प्रश्न"}),e.jsx(wn,{type:"single",collapsible:!0,className:"w-full",children:n.map((a,o)=>e.jsxs(zs,{value:`item-${o}`,children:[e.jsx(Hs,{className:"text-left font-semibold",children:a.question}),e.jsx(qs,{className:"text-muted-foreground",children:a.answer})]},o))})]})})]})},v6=()=>{const t=[{icon:gn,title:"Piksel Mükemmel Doğruluk",desc:"Minecraft'ta mükemmel görünen matematiksel olarak hassas daireler ve ovaller oluşturun."},{icon:Sr,title:"Kullanımı Kolay",desc:"Boyutlarınızı girin ve anında görsel sonuçlar alın."},{icon:_e,title:"Çoklu Dışa Aktarma Seçenekleri",desc:"İnşaat sırasında kolay referans için dairelerinizi PNG veya SVG olarak indirin."},{icon:xn,title:"Tamamen Ücretsiz",desc:"Kayıt yok, limit yok. İstediğiniz kadar kullanın."}],r=[{href:"/oval-generator",icon:we,title:"Oval Oluşturucu",desc:"Stadyumlar, havuzlar ve yarış pistleri için elips ve ovaller oluşturun"},{href:"/hexagon-generator",icon:Vt,title:"Altıgen Oluşturucu",desc:"Petek desenleri ve altı kenarlı yapılar inşa edin"},{href:"/triangle-generator",icon:Yt,title:"Üçgen Oluşturucu",desc:"Çatılar, piramitler ve yönlü şekiller tasarlayın"},{href:"/diamond-generator",icon:$t,title:"Elmas Oluşturucu",desc:"Pencereler ve zeminler için eşkenar dörtgen desenleri oluşturun"},{href:"/spiral-staircase-generator",icon:mr,title:"Spiral Merdiven",desc:"Katman katman spiral merdiven inşa rehberi"},{href:"/sphere-generator",icon:Dt,title:"3B Küre Oluşturucu",desc:"Katman talimatlarıyla mükemmel kubbeler ve küreler inşa edin"}],s=[{name:"Ana Sayfa",url:"/"},{name:"Minecraft Daire Oluşturucu",url:"/minecraft-daire-olusturucu"}],n=[{question:"Minecraft daire oluşturucu nedir?",answer:"Minecraft daire oluşturucu, matematiksel algoritmalar kullanarak Minecraft'ta inşa etmek için piksel mükemmel dairesel desenler hesaplayan ücretsiz bir çevrimiçi araçtır."},{question:"Oluşturulan daireler ne kadar doğru?",answer:"Oluşturucumuz, Minecraft'ın blok tabanlı kısıtlamaları dahilinde piksel mükemmel sonuçlar için orta nokta daire algoritmasını kullanır."},{question:"Daire desenini indirebilir miyim?",answer:"Evet, inşaat sırasında kolay referans için PNG veya SVG formatında indirin."},{question:"Bu oluşturucu Minecraft Bedrock ve Java için çalışır mı?",answer:"Evet, aracımız Java Edition, Bedrock Edition ve Pocket Edition dahil tüm Minecraft sürümleri için çalışır."},{question:"Minecraft'ta mükemmel daire nasıl yapılır?",answer:"Görsel şablon almak için oluşturucumuzu kullanın, ardından Minecraft dünyanızda daire inşa etmek için gösterilen blok desenini takip edin."},{question:"Bu aracı kullanmak için kayıt olmam gerekiyor mu?",answer:"Hayır, daire oluşturucumuz tamamen ücretsizdir ve kayıt gerektirmez."},{question:"Oluşturulabilecek maksimum daire boyutu nedir?",answer:"256 bloğa kadar çapa sahip daireler oluşturabilirsiniz, stadyumlar veya kaleler gibi büyük projeler için uygundur."},{question:"Bu araç mobil uyumlu mu?",answer:"Evet, daire oluşturucumuz mobil cihazlar için optimize edilmiştir, böylece Minecraft PE oynarken rehberlere erişebilirsiniz."}],i=[{author:"BuilderTR2026",rating:5,reviewBody:"Bulduğum en iyi daire oluşturucu. Kale kuleleri için mükemmel!",datePublished:"2026-11-15"},{author:"MCTurkiye",rating:5,reviewBody:"Doğru ve kullanımı kolay. İndirme özelliği harika.",datePublished:"2026-10-20"},{author:"GamerTurk",rating:5,reviewBody:"Saatlerce deneme yanılmadan kurtardı. Şiddetle tavsiye edilir!",datePublished:"2026-09-10"},{author:"BuildMasterTR",rating:5,reviewBody:"Minecraft inşaatı için harika araç. Mobilde de çalışıyor.",datePublished:"2026-08-25"}];return e.jsxs(se,{title:"Minecraft Daire Oluşturucu - Ücretsiz Çevrimiçi Piksel Daire Aracı 2026",description:"★ Minecraft için saniyeler içinde mükemmel piksel daireler oluşturun! Anında önizleme, PNG/SVG indirme, blok hesaplayıcı ile ücretsiz daire oluşturucu. Java, Bedrock ve PE ile çalışır!",canonicalPath:"/minecraft-daire-olusturucu",keywords:"minecraft daire oluşturucu, minecraft circle generator, piksel daire oluşturucu, minecraft'ta daire nasıl yapılır, circle generator, minecraft daire, minecraft inşaat aracı, minecraft türkiye, minecraft java, minecraft bedrock, minecraft pe, minecraft server türkiye, minecraft survival, minecraft creative, hypixel, skyblock",type:"WebApplication",breadcrumbs:s,faqs:n,reviews:i,children:[e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:vn,alt:"Minecraft Daire Oluşturucu - Mükemmel piksel daireler ve geometrik şekiller inşa edin",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-background/95 via-background/70 to-background/30"})]}),e.jsx("div",{className:"relative z-10 container mx-auto px-4 py-16 md:py-24 lg:py-32",children:e.jsxs("div",{className:"max-w-2xl",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("img",{src:Os,alt:"Minecraft Daire Oluşturucu Logo",className:"h-12 w-12 rounded-lg shadow-lg"}),e.jsx("span",{className:"text-sm font-medium bg-primary/20 text-primary px-3 py-1 rounded-full",children:"Ücretsiz Çevrimiçi Araç"})]}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-heading font-bold mb-6 animate-fade-in",children:e.jsx("strong",{children:"Minecraft Daire Oluşturucu"})}),e.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-8",children:[e.jsx("strong",{children:"Minecraft"})," için en iyi ücretsiz ",e.jsx("strong",{children:"piksel daire oluşturucu"}),". İnşaatlarınız için ",e.jsx("strong",{children:"mükemmel daireler"}),", ovaller ve geometrik şekiller oluşturun. ",e.jsx("strong",{children:"PNG ve SVG indirme"})," seçenekleriyle anında önizleme."]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ %100 Ücretsiz"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Kayıt Gerektirmez"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Anında İndirme"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ Mobil Uyumlu"})]})]})})]}),e.jsx("section",{className:"py-12",id:"generator",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"sr-only",children:"Minecraft Daire Oluşturucu Aracı"}),e.jsx(yn,{})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-4",children:["Daha Fazla ",e.jsx("strong",{children:"Minecraft İnşaat Aracı"})]}),e.jsxs("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:[e.jsx("strong",{children:"Minecraft şekil oluşturucuları"})," koleksiyonumuzu keşfedin. Daireler, ovaller, altıgenler, üçgenler, elmaslar, spiral merdivenler ve 3B küreler inşa edin."]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:r.map(a=>e.jsx(p,{to:a.href,className:"block group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsx(ee,{className:"pb-2",children:e.jsxs(te,{className:"flex items-center gap-3 text-lg",children:[e.jsx(a.icon,{className:"h-6 w-6 text-primary"}),a.title]})}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})})]})},a.href))})]})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["Neden ",e.jsx("strong",{children:"Minecraft Daire Oluşturucumuzu"})," Kullanmalısınız?"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:t.map((a,o)=>e.jsxs("div",{className:"bg-card rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[e.jsx(a.icon,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:a.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})]},o))})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:[e.jsx("strong",{children:"Minecraft Daire Oluşturucu"})," Nasıl Kullanılır"]}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"1"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Boyutları Ayarlayın"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Blok cinsinden istediğiniz ",e.jsx("strong",{children:"daire genişliği ve yüksekliğini"})," girin. ",e.jsx("strong",{children:"Mükemmel daireler"}),' için "Force Circle" kullanın.']})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"2"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"Stil Seçin"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Sadece kenarlık"})," veya ",e.jsx("strong",{children:"dolu daire"})," seçin. İçi boş daireler için kalınlığı ayarlayın."]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"3"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"İndirin ve İnşa Edin"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Daire grafiğini PNG veya SVG olarak"})," indirin ve Minecraft'ta inşaat referansı olarak kullanın."]})]})]})]})}),e.jsx("section",{className:"py-16",children:e.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:e.jsxs("article",{className:"prose prose-lg max-w-none",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold mb-6",children:["Minecraft'ta ",e.jsx("strong",{children:"Daire İnşa Etme"})," Tam Rehberi"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["Minecraft'ta ",e.jsx("strong",{children:"mükemmel daireler inşa etmek"})," zor olabilir çünkü oyun kare bloklar kullanır.",e.jsx("strong",{children:"Minecraft daire oluşturucumuz"})," bu sorunu çözer - ",e.jsx("strong",{children:"pürüzsüz, piksel mükemmel dairesel şekiller"})," oluşturmak için tam olarak hangi blokların yerleştirileceğini hesaplar. İster yeni başlayan ister deneyimli bir inşaatçı olun, bu ",e.jsx("strong",{children:"ücretsiz çevrimiçi daire aracı"})," muhteşem yapılar oluşturmanıza yardımcı olacaktır."]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:["Tüm Sürümler için ",e.jsx("strong",{children:"Minecraft Daire Oluşturucu"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[e.jsx("strong",{children:"Daire oluşturucumuz"})," ",e.jsx("strong",{children:"Minecraft Java Edition"}),",",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),", ",e.jsx("strong",{children:"Minecraft Pocket Edition"})," ve konsol sürümleri dahil tüm Minecraft sürümleri için çalışır. Blok desenleri tüm platformlarda evrenseldir. PC, mobil veya konsolda ",e.jsx("strong",{children:"Minecraft oynayın"}),", araçlarımız hassas inşaat yapmanıza yardımcı olur."]}),e.jsx("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:"Diğer Dillerde Mevcut"}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsx("li",{children:e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"English - Minecraft Circle Generator"})}),e.jsx("li",{children:e.jsx(p,{to:"/generator-lingkaran-minecraft",className:"text-primary hover:underline",children:"Bahasa Indonesia - Generator Lingkaran Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/gerador-circulo-minecraft",className:"text-primary hover:underline",children:"Português - Gerador de Círculo Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/generador-circulos-minecraft-vn",className:"text-primary hover:underline",children:"Tiếng Việt - Công Cụ Tạo Hình Tròn Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-circle-generator-hindi",className:"text-primary hover:underline",children:"हिंदी - माइनक्राफ्ट सर्कल जनरेटर"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-circle-generator-thai",className:"text-primary hover:underline",children:"ไทย - เครื่องมือสร้างวงกลม Minecraft"})})]})]})})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsx("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:"Sık Sorulan Sorular"}),e.jsx(wn,{type:"single",collapsible:!0,className:"w-full",children:n.map((a,o)=>e.jsxs(zs,{value:`item-${o}`,children:[e.jsx(Hs,{className:"text-left font-semibold",children:a.question}),e.jsx(qs,{className:"text-muted-foreground",children:a.answer})]},o))})]})})]})},w6=()=>{const t=[{icon:gn,title:"ความแม่นยำ Pixel Perfect",desc:"สร้างวงกลมและวงรีที่แม่นยำทางคณิตศาสตร์ที่ดูสมบูรณ์แบบใน Minecraft"},{icon:Sr,title:"ใช้งานง่าย",desc:"เพียงป้อนขนาดและรับผลลัพธ์ภาพทันที"},{icon:_e,title:"ตัวเลือกส่งออกหลายรูปแบบ",desc:"ดาวน์โหลดวงกลมของคุณเป็น PNG หรือ SVG เพื่อใช้อ้างอิงขณะสร้าง"},{icon:xn,title:"ฟรีทั้งหมด",desc:"ไม่ต้องลงทะเบียน ไม่มีข้อจำกัด ใช้ได้ตามต้องการ"}],r=[{href:"/oval-generator",icon:we,title:"เครื่องสร้างวงรี",desc:"สร้างวงรีสำหรับสนามกีฬา สระว่ายน้ำ และสนามแข่ง"},{href:"/hexagon-generator",icon:Vt,title:"เครื่องสร้างหกเหลี่ยม",desc:"สร้างลวดลายรังผึ้งและโครงสร้างหกด้าน"},{href:"/triangle-generator",icon:Yt,title:"เครื่องสร้างสามเหลี่ยม",desc:"ออกแบบหลังคา พีระมิด และรูปทรงทิศทาง"},{href:"/diamond-generator",icon:$t,title:"เครื่องสร้างเพชร",desc:"สร้างลวดลายรูปสี่เหลี่ยมขนมเปียกปูนสำหรับหน้าต่างและพื้น"},{href:"/spiral-staircase-generator",icon:mr,title:"บันไดเวียน",desc:"คู่มือสร้างบันไดเวียนทีละชั้น"},{href:"/sphere-generator",icon:Dt,title:"เครื่องสร้างทรงกลม 3D",desc:"สร้างโดมและทรงกลมสมบูรณ์แบบพร้อมคำแนะนำแต่ละชั้น"}],s=[{name:"หน้าแรก",url:"/"},{name:"เครื่องสร้างวงกลม Minecraft",url:"/minecraft-circle-generator-thai"}],n=[{question:"เครื่องสร้างวงกลม Minecraft คืออะไร?",answer:"เครื่องสร้างวงกลม Minecraft เป็นเครื่องมือออนไลน์ฟรีที่คำนวณรูปแบบวงกลม pixel-perfect สำหรับการสร้างใน Minecraft โดยใช้อัลกอริทึมทางคณิตศาสตร์"},{question:"วงกลมที่สร้างขึ้นแม่นยำแค่ไหน?",answer:"เครื่องสร้างของเราใช้อัลกอริทึมวงกลม midpoint สำหรับผลลัพธ์ pixel-perfect ภายในข้อจำกัดของบล็อก Minecraft"},{question:"ฉันสามารถดาวน์โหลดรูปแบบวงกลมได้หรือไม่?",answer:"ได้ ดาวน์โหลดในรูปแบบ PNG หรือ SVG เพื่อใช้อ้างอิงง่ายๆ ขณะสร้าง"},{question:"เครื่องสร้างนี้ใช้กับ Minecraft Bedrock และ Java ได้หรือไม่?",answer:"ได้ เครื่องมือของเราใช้ได้กับ Minecraft ทุกเวอร์ชัน รวมถึง Java Edition, Bedrock Edition และ Pocket Edition"},{question:"ทำวงกลมสมบูรณ์แบบใน Minecraft อย่างไร?",answer:"ใช้เครื่องสร้างของเราเพื่อรับเทมเพลตภาพ จากนั้นทำตามรูปแบบบล็อกที่แสดงเพื่อสร้างวงกลมในโลก Minecraft ของคุณ"},{question:"ต้องลงทะเบียนเพื่อใช้เครื่องมือนี้หรือไม่?",answer:"ไม่ เครื่องสร้างวงกลมของเราฟรีทั้งหมดและไม่ต้องลงทะเบียน"},{question:"ขนาดวงกลมสูงสุดที่สามารถสร้างได้คือเท่าไหร่?",answer:"คุณสามารถสร้างวงกลมที่มีเส้นผ่านศูนย์กลางสูงสุด 256 บล็อก เหมาะสำหรับโปรเจกต์ใหญ่เช่นสนามกีฬาหรือปราสาท"},{question:"เครื่องมือนี้รองรับมือถือหรือไม่?",answer:"ได้ เครื่องสร้างวงกลมของเราปรับให้เหมาะกับอุปกรณ์มือถือ เพื่อให้คุณเข้าถึงคู่มือขณะเล่น Minecraft PE"}],i=[{author:"BuilderTH2026",rating:5,reviewBody:"เครื่องสร้างวงกลมที่ดีที่สุดที่เคยพบ สมบูรณ์แบบสำหรับหอคอยปราสาท!",datePublished:"2026-11-15"},{author:"MCThailand",rating:5,reviewBody:"แม่นยำและใช้งานง่าย ฟีเจอร์ดาวน์โหลดยอดเยี่ยม",datePublished:"2026-10-20"},{author:"GamerThai",rating:5,reviewBody:"ประหยัดเวลาลองผิดลองถูกหลายชั่วโมง แนะนำอย่างยิ่ง!",datePublished:"2026-09-10"},{author:"BuildMasterTH",rating:5,reviewBody:"เครื่องมือที่ยอดเยี่ยมสำหรับสร้าง Minecraft ใช้ได้บนมือถือด้วย",datePublished:"2026-08-25"}];return e.jsxs(se,{title:"เครื่องสร้างวงกลม Minecraft - เครื่องมือ Pixel Circle ฟรีออนไลน์ 2026",description:"★ สร้างวงกลม pixel สมบูรณ์แบบสำหรับ Minecraft ในไม่กี่วินาที! เครื่องสร้างวงกลมฟรีพร้อมแสดงตัวอย่างทันที ดาวน์โหลด PNG/SVG คำนวณบล็อก ใช้ได้กับ Java, Bedrock และ PE!",canonicalPath:"/minecraft-circle-generator-thai",keywords:"เครื่องสร้างวงกลม minecraft, minecraft circle generator, pixel circle generator, วิธีทำวงกลมใน minecraft, circle generator, minecraft วงกลม, เครื่องมือสร้าง minecraft, minecraft ไทย, minecraft java, minecraft bedrock, minecraft pe, server minecraft ไทย, minecraft survival, minecraft creative, hypixel, skyblock",type:"WebApplication",breadcrumbs:s,faqs:n,reviews:i,children:[e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 z-0",children:[e.jsx("img",{src:vn,alt:"เครื่องสร้างวงกลม Minecraft - สร้างวงกลม pixel สมบูรณ์แบบและรูปทรงเรขาคณิต",className:"w-full h-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-background/95 via-background/70 to-background/30"})]}),e.jsx("div",{className:"relative z-10 container mx-auto px-4 py-16 md:py-24 lg:py-32",children:e.jsxs("div",{className:"max-w-2xl",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx("img",{src:Os,alt:"โลโก้เครื่องสร้างวงกลม Minecraft",className:"h-12 w-12 rounded-lg shadow-lg"}),e.jsx("span",{className:"text-sm font-medium bg-primary/20 text-primary px-3 py-1 rounded-full",children:"เครื่องมือออนไลน์ฟรี"})]}),e.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl font-heading font-bold mb-6 animate-fade-in",children:e.jsx("strong",{children:"เครื่องสร้างวงกลม Minecraft"})}),e.jsxs("p",{className:"text-lg md:text-xl text-muted-foreground mb-8",children:[e.jsx("strong",{children:"เครื่องสร้าง pixel circle"})," ฟรีที่ดีที่สุดสำหรับ ",e.jsx("strong",{children:"Minecraft"})," สร้าง ",e.jsx("strong",{children:"วงกลมสมบูรณ์แบบ"}),"วงรี และรูปทรงเรขาคณิตสำหรับสิ่งก่อสร้างของคุณ ดูตัวอย่างทันทีพร้อมตัวเลือก ",e.jsx("strong",{children:"ดาวน์โหลด PNG และ SVG"})]}),e.jsxs("div",{className:"flex flex-wrap gap-3 text-sm",children:[e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ ฟรี 100%"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ ไม่ต้องลงทะเบียน"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ ดาวน์โหลดทันที"}),e.jsx("span",{className:"bg-background/80 backdrop-blur-sm border border-border px-4 py-2 rounded-full font-medium",children:"✓ รองรับมือถือ"})]})]})})]}),e.jsx("section",{className:"py-12",id:"generator",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"sr-only",children:"เครื่องมือสร้างวงกลม Minecraft"}),e.jsx(yn,{})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-4",children:[e.jsx("strong",{children:"เครื่องมือสร้าง Minecraft"})," เพิ่มเติม"]}),e.jsxs("p",{className:"text-center text-muted-foreground mb-12 max-w-2xl mx-auto",children:["สำรวจคอลเลกชัน ",e.jsx("strong",{children:"เครื่องสร้างรูปทรง Minecraft"})," ของเรา สร้างวงกลม วงรี หกเหลี่ยม สามเหลี่ยม เพชร บันไดเวียน และทรงกลม 3D"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-6",children:r.map(a=>e.jsx(p,{to:a.href,className:"block group",children:e.jsxs(S,{className:"h-full hover:shadow-lg transition-shadow border-2 hover:border-primary/50",children:[e.jsx(ee,{className:"pb-2",children:e.jsxs(te,{className:"flex items-center gap-3 text-lg",children:[e.jsx(a.icon,{className:"h-6 w-6 text-primary"}),a.title]})}),e.jsx(G,{children:e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})})]})},a.href))})]})}),e.jsx("section",{className:"py-16",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["ทำไมต้องใช้ ",e.jsx("strong",{children:"เครื่องสร้างวงกลม Minecraft"})," ของเรา?"]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-6",children:t.map((a,o)=>e.jsxs("div",{className:"bg-card rounded-lg p-6 text-center shadow-sm hover:shadow-md transition-shadow",children:[e.jsx(a.icon,{className:"h-12 w-12 mx-auto mb-4 text-primary"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:a.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.desc})]},o))})]})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:["วิธีใช้ ",e.jsx("strong",{children:"เครื่องสร้างวงกลม Minecraft"})]}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"1"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"ตั้งค่าขนาด"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["ป้อน ",e.jsx("strong",{children:"ความกว้างและความสูงวงกลม"}),' ที่ต้องการเป็นบล็อก ใช้ "Force Circle" สำหรับ ',e.jsx("strong",{children:"วงกลมสมบูรณ์แบบ"})]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"2"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"เลือกสไตล์"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["เลือก ",e.jsx("strong",{children:"เฉพาะขอบ"})," หรือ ",e.jsx("strong",{children:"วงกลมเต็ม"})," ปรับความหนาสำหรับวงกลมกลวง"]})]}),e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"bg-primary text-primary-foreground w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-4 text-xl font-bold",children:"3"}),e.jsx("h3",{className:"font-heading font-semibold mb-2",children:"ดาวน์โหลดและสร้าง"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["ดาวน์โหลด ",e.jsx("strong",{children:"แผนภูมิวงกลมเป็น PNG หรือ SVG"})," และใช้เป็นข้อมูลอ้างอิงสำหรับการสร้างใน Minecraft"]})]})]})]})}),e.jsx("section",{className:"py-16",children:e.jsx("div",{className:"container mx-auto px-4 max-w-4xl",children:e.jsxs("article",{className:"prose prose-lg max-w-none",children:[e.jsxs("h2",{className:"text-3xl font-heading font-bold mb-6",children:["คู่มือฉบับสมบูรณ์สำหรับการสร้าง ",e.jsx("strong",{children:"วงกลมใน Minecraft"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-6",children:["การสร้าง ",e.jsx("strong",{children:"วงกลมสมบูรณ์แบบใน Minecraft"})," อาจเป็นเรื่องท้าทายเพราะเกมใช้บล็อกสี่เหลี่ยม",e.jsx("strong",{children:"เครื่องสร้างวงกลม Minecraft"})," ของเราแก้ปัญหานี้ด้วยการคำนวณอย่างแม่นยำว่าควรวางบล็อกตรงไหน เพื่อสร้าง ",e.jsx("strong",{children:"รูปทรงวงกลมที่ราบรื่นและ pixel-perfect"})," ไม่ว่าคุณจะเป็นมือใหม่หรือนักสร้างที่มีประสบการณ์",e.jsx("strong",{children:"เครื่องมือวงกลมออนไลน์ฟรี"})," นี้จะช่วยคุณสร้างโครงสร้างที่น่าทึ่ง"]}),e.jsxs("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:[e.jsx("strong",{children:"เครื่องสร้างวงกลม Minecraft"})," สำหรับทุกเวอร์ชัน"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed",children:[e.jsx("strong",{children:"เครื่องสร้างวงกลม"})," ของเราใช้ได้กับ Minecraft ทุกเวอร์ชัน รวมถึง ",e.jsx("strong",{children:"Minecraft Java Edition"}),",",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),", ",e.jsx("strong",{children:"Minecraft Pocket Edition"})," และเวอร์ชันคอนโซล รูปแบบบล็อกเป็นสากลในทุกแพลตฟอร์ม ไม่ว่าคุณจะ ",e.jsx("strong",{children:"เล่น Minecraft"})," บน PC มือถือ หรือคอนโซล เครื่องมือของเราช่วยให้คุณสร้างได้อย่างแม่นยำ"]}),e.jsx("h3",{className:"text-2xl font-heading font-semibold mt-8 mb-4",children:"มีให้บริการในภาษาอื่น"}),e.jsxs("ul",{className:"text-muted-foreground space-y-2",children:[e.jsx("li",{children:e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"English - Minecraft Circle Generator"})}),e.jsx("li",{children:e.jsx(p,{to:"/generator-lingkaran-minecraft",className:"text-primary hover:underline",children:"Bahasa Indonesia - Generator Lingkaran Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/gerador-circulo-minecraft",className:"text-primary hover:underline",children:"Português - Gerador de Círculo Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/generador-circulos-minecraft-vn",className:"text-primary hover:underline",children:"Tiếng Việt - Công Cụ Tạo Hình Tròn Minecraft"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-circle-generator-hindi",className:"text-primary hover:underline",children:"हिंदी - माइनक्राफ्ट सर्कल जनरेटर"})}),e.jsx("li",{children:e.jsx(p,{to:"/minecraft-daire-olusturucu",className:"text-primary hover:underline",children:"Türkçe - Minecraft Daire Oluşturucu"})})]})]})})}),e.jsx("section",{className:"py-16 bg-muted/30",children:e.jsxs("div",{className:"container mx-auto px-4 max-w-4xl",children:[e.jsx("h2",{className:"text-3xl font-heading font-bold text-center mb-12",children:"คำถามที่พบบ่อย"}),e.jsx(wn,{type:"single",collapsible:!0,className:"w-full",children:n.map((a,o)=>e.jsxs(zs,{value:`item-${o}`,children:[e.jsx(Hs,{className:"text-left font-semibold",children:a.question}),e.jsx(qs,{className:"text-muted-foreground",children:a.answer})]},o))})]})})]})},N6=[{slug:"how-to-build-circles",title:"How to Build Perfect Circles in Minecraft",category:"Tutorial"},{slug:"dome-building-guide",title:"Minecraft Dome Building Guide",category:"Advanced"},{slug:"medieval-castles-guide",title:"How to Build Medieval Castles",category:"Building"},{slug:"underwater-bases-guide",title:"Underwater Bases Guide",category:"Advanced"},{slug:"modern-architecture-guide",title:"Modern Architecture in Minecraft",category:"Design"},{slug:"pixel-art-guide",title:"Minecraft Pixel Art Guide",category:"Creative"},{slug:"tower-designs-guide",title:"Tower Designs with Spiral Staircases",category:"Building"},{slug:"geometric-patterns-guide",title:"Geometric Patterns Guide",category:"Design"},{slug:"rlcraft-building-guide",title:"RLCraft Building Guide",category:"RLCraft"},{slug:"hypixel-building-guide",title:"Hypixel Building Guide",category:"Hypixel"},{slug:"minecraft-education-guide",title:"Minecraft Education Edition Guide",category:"Education"},{slug:"redstone-circular-builds",title:"Redstone Circular Builds Guide",category:"Advanced"},{slug:"bridge-building-guide",title:"How to Build Bridges in Minecraft",category:"Building"},{slug:"garden-landscaping-guide",title:"Garden & Landscaping Guide",category:"Design"},{slug:"survival-base-designs-2026",title:"Best Survival Base Designs 2026",category:"Building"},{slug:"spiral-staircase-designs",title:"Spiral Staircase Design Ideas",category:"Building"},{slug:"best-skin-generators-2026",title:"Best Minecraft Skin Generators 2026",category:"Tools"},{slug:"free-account-generators-scam",title:"Free Account Generators: Scam or Real?",category:"Safety"},{slug:"best-ai-video-generators-2026",title:"Best AI Minecraft Video Generators 2026",category:"Tools"},{slug:"minecraft-logo-title-maker",title:"Minecraft Logo & Title Maker Tools",category:"Design"},{slug:"how-to-make-cobblestone-generator",title:"How to Make a Cobblestone Generator",category:"Tutorial"},{slug:"best-map-generators-2026",title:"Best Minecraft Map Generators 2026",category:"Tools"}],Xe=({currentSlug:t,category:r})=>{const s=N6.filter(n=>n.slug!==t).sort((n,i)=>{if(r){if(n.category===r&&i.category!==r)return-1;if(i.category===r&&n.category!==r)return 1}return 0}).slice(0,3);return s.length===0?null:e.jsxs("section",{className:"mt-12 pt-8 border-t",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Related Articles"}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-4",children:s.map(n=>e.jsx(p,{to:`/blog/${n.slug}`,children:e.jsxs(S,{className:"h-full hover:shadow-md transition-shadow hover:border-primary/50 group",children:[e.jsxs(ee,{className:"pb-2",children:[e.jsx(L,{variant:"secondary",className:"w-fit mb-2",children:n.category}),e.jsx(te,{className:"text-base group-hover:text-primary transition-colors line-clamp-2",children:n.title})]}),e.jsx(G,{children:e.jsxs("span",{className:"text-sm text-primary flex items-center gap-1 group-hover:gap-2 transition-all",children:["Read More ",e.jsx(Q,{className:"w-3 h-3"})]})})]})},n.slug))})]})},k6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Circle Building Mistakes",url:"/blog/circle-building-mistakes-2026"}],r=[{question:"What is the biggest mistake when building circles in Minecraft?",answer:"The biggest mistake is not using a circle generator tool and trying to build by eye, which wastes blocks and creates uneven shapes."},{question:"How many blocks do I waste without a generator?",answer:"Players typically waste 20-40% more blocks when building circles without proper planning tools."},{question:"Does this apply to Minecraft Bedrock and Java?",answer:"Yes, these mistakes and solutions apply to all Minecraft editions including Java, Bedrock, and Pocket Edition."}],s=[{id:"mistake-1",title:"Mistake #1: Building Without a Template"},{id:"mistake-2",title:"Mistake #2: Starting from the Wrong Point"},{id:"mistake-3",title:"Mistake #3: Ignoring Symmetry"},{id:"mistake-4",title:"Mistake #4: Using Wrong Block Counts"},{id:"mistake-5",title:"Mistake #5: Not Planning for 3D Structures"},{id:"solution",title:"The Solution: Use a Circle Generator"}];return e.jsx(se,{title:"Stop Building Minecraft Circles Like This (You're Wasting Blocks) - 2026 Guide",description:"You're probably making these 5 critical circle-building mistakes in Minecraft. Learn why you're wasting blocks and how to fix it with our free circle generator tool.",canonicalPath:"/blog/circle-building-mistakes-2026",keywords:"minecraft circle mistakes, minecraft building tips, minecraft circle generator, how to build circles minecraft, minecraft block waste, minecraft tutorial 2026, minecraft java, minecraft bedrock, minecraft tips and tricks",type:"article",breadcrumbs:t,faqs:r,dateModified:"2026-01-20",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[],currentPage:"Circle Building Mistakes"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"destructive",children:"Warning"}),e.jsx(L,{variant:"secondary",children:"Building Tips"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsxs("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:["Stop Building Minecraft Circles Like This ",e.jsx("span",{className:"text-destructive",children:"(You're Wasting Blocks)"})]}),e.jsx("p",{className:"text-xl text-muted-foreground mb-6",children:"Are you making these 5 critical mistakes? Most Minecraft players waste 20-40% more blocks than necessary when building circles. Here's how to fix it."}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"January 20, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"12 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"}),"Building Expert"]})]}),e.jsx(Te,{title:"Stop Building Minecraft Circles Like This"})]}),e.jsxs("div",{className:"mb-8 rounded-xl overflow-hidden",children:[e.jsx("img",{src:Xv,alt:"Minecraft player looking at a messy circle build with wasted blocks scattered around",className:"w-full h-auto object-cover",loading:"eager"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2 text-center italic",children:"Don't let this be your circle. Learn from these common mistakes."})]}),e.jsx(S,{className:"mb-8 bg-muted/30",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"}),"Table of Contents"]}),e.jsx("nav",{children:e.jsx("ul",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground",children:[i+1,"."]}),n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("p",{className:"text-lg leading-relaxed mb-6",children:["I've been building in ",e.jsx("strong",{children:"Minecraft"})," for years, and I still see players making the same circle-building mistakes I made when I started. The problem? Most players don't realize they're doing anything wrong until they've already wasted stacks of blocks and hours of time."]}),e.jsxs("p",{className:"text-lg leading-relaxed mb-6",children:["After analyzing hundreds of builds on ",e.jsx("strong",{children:"Hypixel"}),", ",e.jsx("strong",{children:"survival multiplayer servers"}),", and",e.jsx("strong",{children:"creative worlds"}),", I've identified the 5 most common mistakes that are costing you resources and making your circles look amateur."]}),e.jsxs("div",{className:"bg-destructive/10 border-l-4 border-destructive p-6 rounded-r-lg mb-8",children:[e.jsxs("h3",{className:"font-bold text-lg mb-2 flex items-center gap-2",children:[e.jsx(Hr,{className:"w-5 h-5 text-destructive"}),"The Hard Truth"]}),e.jsxs("p",{className:"text-muted-foreground",children:["If you're not using a ",e.jsx("strong",{children:"circle generator tool"}),", you're probably wasting 20-40% more blocks than necessary. That's the difference between a good build and a great one."]})]}),e.jsx("h2",{id:"mistake-1",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Mistake #1: Building Without a Template"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["This is the most common mistake I see in both ",e.jsx("strong",{children:"Minecraft Java Edition"})," and ",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),'. Players try to build circles "by eye" without any reference. The result? Lopsided shapes, inconsistent curves, and wasted blocks.']}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:[e.jsx("strong",{children:"The math doesn't lie:"})," A perfect circle requires precise block placement based on mathematical algorithms. Your eye simply cannot calculate the correct placement for each block, especially for larger circles."]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsx("p",{className:"font-semibold text-primary",children:"✓ Solution:"}),e.jsxs("p",{className:"text-muted-foreground",children:["Use our free ",e.jsx(p,{to:"/",className:"text-primary hover:underline font-semibold",children:"Minecraft Circle Generator"})," to create a precise template before you start building. Download it as PNG and use it as a reference."]})]}),e.jsx("h2",{id:"mistake-2",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Mistake #2: Starting from the Wrong Point"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Many players start building from one edge of the circle and work their way around. This leads to cumulative errors that become more noticeable as you complete the shape."}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Whether you're playing on a ",e.jsx("strong",{children:"Minecraft server"}),", ",e.jsx("strong",{children:"Skyblock"}),", or single-player ",e.jsx("strong",{children:"survival"}),", this mistake will cost you time and resources."]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsx("p",{className:"font-semibold text-primary",children:"✓ Solution:"}),e.jsx("p",{className:"text-muted-foreground",children:"Always start from the center of your circle and work outward. Mark the center point first, then use the generator's grid to count blocks in each direction."})]}),e.jsx("h2",{id:"mistake-3",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Mistake #3: Ignoring Symmetry"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Circles are perfectly symmetrical, meaning each quadrant should be an exact mirror of the others. Many builders complete one section, then try to recreate it three more times – introducing errors each time."}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["This is especially problematic in ",e.jsx("strong",{children:"modded Minecraft"})," servers like ",e.jsx("strong",{children:"RLCraft"})," or on",e.jsx("strong",{children:"CurseForge"})," modpacks where resources are scarce and every block counts."]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsx("p",{className:"font-semibold text-primary",children:"✓ Solution:"}),e.jsx("p",{className:"text-muted-foreground",children:"Build one quadrant perfectly using the generator, then use /clone commands (in creative) or carefully mirror the pattern for survival builds."})]}),e.jsx("h2",{id:"mistake-4",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Mistake #4: Using Wrong Block Counts"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Nothing is more frustrating than gathering materials for your tower in ",e.jsx("strong",{children:"Minecraft creative mode"})," or",e.jsx("strong",{children:"survival"}),", only to realize you need more. Or worse – having piles of leftover blocks."]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Players on ",e.jsx("strong",{children:"Minecraft Pocket Edition"})," and mobile devices especially struggle with this, as inventory management is more challenging."]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsx("p",{className:"font-semibold text-primary",children:"✓ Solution:"}),e.jsx("p",{className:"text-muted-foreground",children:"Our generator shows exact block counts. For a border-only circle, you'll see the perimeter count. For filled circles, you get the total blocks needed including stacks of 64."})]}),e.jsx("h2",{id:"mistake-5",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Mistake #5: Not Planning for 3D Structures"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"A flat circle is just the beginning. When building towers, domes, or spheres, each layer needs a different-sized circle. Players who don't plan ahead end up with bulging or pinched structures."}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["This is critical for complex builds like those shown on ",e.jsx("strong",{children:"Minecraft Education Edition"})," projects or competition builds on servers."]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsx("p",{className:"font-semibold text-primary",children:"✓ Solution:"}),e.jsxs("p",{className:"text-muted-foreground",children:["Use our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline font-semibold",children:"3D Sphere Generator"})," for domes and spheres. It shows you exactly which circle size to use for each layer."]})]}),e.jsxs("h2",{id:"solution",className:"text-2xl font-heading font-bold mt-12 mb-4 flex items-center gap-2",children:[e.jsx(ht,{className:"w-6 h-6 text-primary"}),"The Solution: Use a Circle Generator"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Every mistake above can be avoided by spending 30 seconds with a ",e.jsx("strong",{children:"circle generator tool"})," before you start building. Our free ",e.jsx(p,{to:"/",className:"text-primary hover:underline font-semibold",children:"Minecraft Circle Generator"})," gives you:"]}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2 text-muted-foreground mb-6",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Pixel-perfect templates"})," – Mathematical precision every time"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Exact block counts"})," – Never over-gather or under-prepare"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Multiple sizes"})," – From 3-block circles to 256-block stadiums"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"PNG/SVG download"})," – Use on any device while building"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Works for all editions"})," – Java, Bedrock, PE, and console"]})]}),e.jsxs("div",{className:"bg-gradient-to-r from-primary/20 to-primary/10 p-8 rounded-xl mt-8 mb-8",children:[e.jsx("h3",{className:"font-bold text-xl mb-3",children:"Start Building Better Circles Today"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Stop wasting blocks and time. Our free circle generator takes 30 seconds to use and saves hours of frustration."}),e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-6 py-3 rounded-lg font-semibold hover:bg-primary/90 transition-colors",children:["Try the Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]}),e.jsx("h3",{className:"text-xl font-heading font-semibold mt-12 mb-4",children:"More Minecraft Building Tools"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Beyond circles, check out our other free generators:"}),e.jsxs("ul",{className:"text-muted-foreground space-y-2 mb-8",children:[e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – For elliptical shapes like pools and tracks"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Layer-by-layer dome and sphere guides"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Honeycomb patterns and six-sided structures"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," – Perfect spiral stairs for towers"]})]})]}),e.jsx(Xe,{currentSlug:"circle-building-mistakes-2026",category:"Building"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},M6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Minecraft Lag Fix 2026",url:"/blog/minecraft-lag-fix-2026"}],r=[{question:"Why is my Minecraft world lagging in 2026?",answer:"The 2026 updates including Vibrant Visuals and new mob models require more resources. Outdated settings, too many entities, and unoptimized mods are common causes."},{question:"Does the Vibrant Visuals update cause lag?",answer:"It can if your settings aren't optimized. The new graphics require adjusting render distance and graphics settings for older hardware."},{question:"How do I fix chunk loading lag?",answer:"Reduce render distance to 8-12 chunks, use Sodium mod for Java Edition, and ensure your world isn't corrupted by backing up and optimizing."}],s=[{id:"why-lagging",title:"Why Your 2026 World is Lagging"},{id:"vibrant-visuals",title:"The Vibrant Visuals Update Problem"},{id:"entity-lag",title:"Entity Overload: The Hidden Culprit"},{id:"chunk-loading",title:"Chunk Loading Issues"},{id:"mod-optimization",title:"Mod Optimization for 2026"},{id:"settings-guide",title:"Optimal Settings Guide"},{id:"quick-fixes",title:"5 Quick Fixes You Can Do Now"}];return e.jsx(se,{title:"Why Your 2026 Minecraft World Might Be Lagging (And How to Fix It)",description:"Is your Minecraft world stuttering after the 2026 update? Learn the hidden causes of lag and 7 proven fixes that actually work for Java and Bedrock Edition.",canonicalPath:"/blog/minecraft-lag-fix-2026",keywords:"minecraft lag fix 2026, minecraft performance, minecraft vibrant visuals lag, minecraft fps boost, minecraft optimization, minecraft java lag, minecraft bedrock lag, sodium mod, minecraft server lag, distant horizons mod, minecraft chunk loading",type:"article",breadcrumbs:t,faqs:r,dateModified:"2026-01-20",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[],currentPage:"Minecraft Lag Fix 2026"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"destructive",children:"Urgent"}),e.jsx(L,{variant:"secondary",children:"Performance"}),e.jsx(L,{variant:"outline",children:"2026 Update"})]}),e.jsxs("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:["Why Your 2026 Minecraft World ",e.jsx("span",{className:"text-destructive",children:"Might Be Lagging"})," (And How to Fix It)"]}),e.jsx("p",{className:"text-xl text-muted-foreground mb-6",children:"The 2026 updates broke something. Here's exactly what's happening and 7 proven fixes that actually work."}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"January 20, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"15 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"}),"Performance Expert"]})]}),e.jsx(Te,{title:"Why Your 2026 Minecraft World Might Be Lagging"})]}),e.jsxs("div",{className:"mb-8 rounded-xl overflow-hidden",children:[e.jsx("img",{src:Jv,alt:"Beautiful Minecraft world landscape that should run smoothly with proper optimization",className:"w-full h-auto object-cover",loading:"eager"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2 text-center italic",children:"Your world should look this good AND run smoothly. Here's how."})]}),e.jsx(S,{className:"mb-8 bg-muted/30",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"}),"Table of Contents"]}),e.jsx("nav",{children:e.jsx("ul",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground",children:[i+1,"."]}),n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("p",{className:"text-lg leading-relaxed mb-6",children:["Something changed in 2026. Players across ",e.jsx("strong",{children:"Minecraft Java Edition"})," and ",e.jsx("strong",{children:"Minecraft Bedrock Edition"})," are reporting sudden performance drops, stuttering, and chunk loading issues that weren't there before."]}),e.jsxs("p",{className:"text-lg leading-relaxed mb-6",children:["After testing on multiple systems, servers (including ",e.jsx("strong",{children:"Hypixel"})," and private ",e.jsx("strong",{children:"Minecraft servers"}),"), and analyzing community reports, I've identified the real causes – and more importantly, the fixes that actually work."]}),e.jsxs("div",{className:"bg-destructive/10 border-l-4 border-destructive p-6 rounded-r-lg mb-8",children:[e.jsxs("h3",{className:"font-bold text-lg mb-2 flex items-center gap-2",children:[e.jsx(Hr,{className:"w-5 h-5 text-destructive"}),"The Problem Is Real"]}),e.jsx("p",{className:"text-muted-foreground",children:"The 2026 updates added stunning new visuals and features, but they also increased resource demands. If you haven't adjusted your settings, you're running on configurations designed for 2024-2025."})]}),e.jsx("h2",{id:"why-lagging",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Why Your 2026 World is Lagging"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["The 2026 ",e.jsx("strong",{children:"Minecraft"})," updates introduced several performance-hungry features:"]}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2 text-muted-foreground mb-6",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Vibrant Visuals Update"})," – New lighting, textures, and visual effects"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Updated Baby Mob Models"})," – More detailed models with new animations"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"New Sound Systems"})," – Additional audio processing for new mob sounds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Enhanced Chunk Generation"})," – More complex terrain generation algorithms"]})]}),e.jsx("h2",{id:"vibrant-visuals",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"The Vibrant Visuals Update Problem"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["The ",e.jsx("strong",{children:"Vibrant Visuals"})," update (released for ",e.jsx("strong",{children:"Bedrock"})," in June 2025 and expanding to",e.jsx("strong",{children:"Java Edition"})," in 2026) dramatically improved Minecraft's graphics – but at a cost."]}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"If you're playing on older hardware or haven't updated your graphics drivers, you'll notice significant FPS drops, especially when:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2 text-muted-foreground mb-6",children:[e.jsx("li",{children:"Entering new chunks for the first time"}),e.jsx("li",{children:"Looking at complex builds with many light sources"}),e.jsx("li",{children:"Playing near water with reflections enabled"}),e.jsx("li",{children:"Having multiple baby mobs on screen"})]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsxs("p",{className:"font-semibold text-primary flex items-center gap-2",children:[e.jsx(Sr,{className:"w-4 h-4"}),"Quick Fix for Vibrant Visuals:"]}),e.jsx("p",{className:"text-muted-foreground",children:'Go to Settings → Video → Graphics and switch from "Fabulous" to "Fancy" or "Fast". This alone can boost FPS by 30-50% on mid-range systems.'})]}),e.jsx("h2",{id:"entity-lag",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Entity Overload: The Hidden Culprit"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"The new 2026 baby mob models are adorable, but they're also more resource-intensive. Players with large farms or animal collections are experiencing significant lag."}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["This affects ",e.jsx("strong",{children:"Skyblock"})," players especially, where mob farms are essential for progression."]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsxs("p",{className:"font-semibold text-primary flex items-center gap-2",children:[e.jsx(Sr,{className:"w-4 h-4"}),"Entity Lag Fix:"]}),e.jsx("p",{className:"text-muted-foreground",children:"Limit mob counts in each area to 50 or fewer. Use water channels to move mobs to processing areas instead of keeping them all in view."})]}),e.jsx("h2",{id:"chunk-loading",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Chunk Loading Issues"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"The enhanced terrain generation in 2026 makes chunk loading more demanding. If you're experiencing stuttering when moving through your world, this is likely the cause."}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsxs("p",{className:"font-semibold text-primary flex items-center gap-2",children:[e.jsx(Sr,{className:"w-4 h-4"}),"Chunk Loading Fix:"]}),e.jsxs("p",{className:"text-muted-foreground",children:["Reduce render distance to 8-12 chunks. For ",e.jsx("strong",{children:"Java Edition"}),", install the ",e.jsx("strong",{children:"Sodium"})," mod (via ",e.jsx("strong",{children:"CurseForge"}),") for dramatically improved chunk loading performance."]})]}),e.jsx("h2",{id:"mod-optimization",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Mod Optimization for 2026"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["If you're playing ",e.jsx("strong",{children:"modded Minecraft"})," (like ",e.jsx("strong",{children:"RLCraft"})," or other modpacks), outdated mods can cause severe performance issues with the 2026 updates."]}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Essential performance mods for 2026:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2 text-muted-foreground mb-6",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Sodium"})," – Core rendering optimization (Fabric/Forge)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Lithium"})," – Server and game logic optimization"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Distant Horizons"})," – Extended render distance without lag"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Iris"})," – Shader support with Sodium compatibility"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"FerriteCore"})," – Memory usage optimization"]})]}),e.jsx("h2",{id:"settings-guide",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Optimal Settings Guide for 2026"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Here are the recommended settings for different system types:"}),e.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:"For Mid-Range Systems (GTX 1060 / RX 580 equivalent):"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-1 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Render Distance: 10-12 chunks"}),e.jsx("li",{children:"Graphics: Fancy"}),e.jsx("li",{children:"Smooth Lighting: Maximum"}),e.jsx("li",{children:"Entity Shadows: Off"}),e.jsx("li",{children:"Particles: Decreased"}),e.jsx("li",{children:"Vsync: On (prevents screen tearing)"})]}),e.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:"For Lower-End Systems:"}),e.jsxs("ul",{className:"list-disc pl-6 space-y-1 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Render Distance: 6-8 chunks"}),e.jsx("li",{children:"Graphics: Fast"}),e.jsx("li",{children:"Smooth Lighting: Off"}),e.jsx("li",{children:"Clouds: Off"}),e.jsx("li",{children:"Particles: Minimal"}),e.jsx("li",{children:"Max Framerate: 60"})]}),e.jsxs("h2",{id:"quick-fixes",className:"text-2xl font-heading font-bold mt-12 mb-4 flex items-center gap-2",children:[e.jsx(ht,{className:"w-6 h-6 text-primary"}),"5 Quick Fixes You Can Do Now"]}),e.jsxs("ol",{className:"list-decimal pl-6 space-y-4 text-muted-foreground mb-8",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Allocate more RAM"})," – Increase from 2GB to 4-6GB in your launcher settings"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Update graphics drivers"})," – Especially important for the Vibrant Visuals update"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Clear shader cache"})," – Delete the shadercache folder in your .minecraft directory"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Optimize Java arguments"})," – Use: ",e.jsx("code",{className:"bg-muted px-2 py-1 rounded",children:"-XX:+UseG1GC -XX:MaxGCPauseMillis=50"})]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Disable resource-heavy features"})," – Turn off VSync if you have a high refresh rate monitor"]})]}),e.jsxs("div",{className:"bg-gradient-to-r from-primary/20 to-primary/10 p-8 rounded-xl mt-8 mb-8",children:[e.jsx("h3",{className:"font-bold text-xl mb-3",children:"Build Better Once You're Optimized"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Once your game runs smoothly, take your builds to the next level with our free building tools."}),e.jsxs(p,{to:"/tools",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-6 py-3 rounded-lg font-semibold hover:bg-primary/90 transition-colors",children:["Explore Building Tools ",e.jsx(Q,{className:"w-4 h-4"})]})]})]}),e.jsx(Xe,{currentSlug:"minecraft-lag-fix-2026",category:"Tutorial"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},C6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"2026 Cuter Update Secrets",url:"/blog/minecraft-2026-cuter-update-secrets"}],r=[{question:"What is the Minecraft 2026 Cuter Update?",answer:"The 2026 Cuter Update (official Drop 1 of 2026) introduces redesigned baby mob models, craftable name tags, and new baby mob sounds for wolves, pigs, cats, and more."},{question:"When does the 2026 Cuter Update release?",answer:"The update is currently in Preview for Bedrock Edition and will roll out to all platforms throughout early 2026."},{question:"What baby mobs are getting new models?",answer:"Baby cows, pigs, wolves, cats, sheep, chickens, rabbits, mooshrooms, and ocelots are all getting fluffy new models and animations."}],s=[{id:"overview",title:"What is the 2026 Cuter Update?"},{id:"secret-1",title:"Secret #1: Craftable Name Tags"},{id:"secret-2",title:"Secret #2: New Baby Mob Sounds"},{id:"secret-3",title:"Secret #3: Spawn Egg Baby Trick"},{id:"secret-4",title:"Secret #4: Updated Hitboxes"},{id:"secret-5",title:"Secret #5: Animation Easter Eggs"},{id:"farm-designs",title:"Best Farm Designs for 2026"}];return e.jsx(se,{title:"5 Secret Features in the 2026 'Cuter' Update Mojang Didn't Tell You",description:"The 2026 Minecraft update has hidden features you haven't heard about. Craftable name tags, secret baby mob sounds, and more. Here's what Mojang didn't announce.",canonicalPath:"/blog/minecraft-2026-cuter-update-secrets",keywords:"minecraft 2026 update, minecraft cuter update, minecraft baby mobs 2026, minecraft name tags craftable, minecraft new features 2026, minecraft bedrock update, minecraft java update, minecraft baby wolf, minecraft baby pig sounds, minecraft preview 2026",type:"article",breadcrumbs:t,faqs:r,dateModified:"2026-01-20",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[],currentPage:"2026 Cuter Update Secrets"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{className:"bg-pink-500",children:"New Update"}),e.jsx(L,{variant:"secondary",children:"Exclusive"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsxs("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:["5 Secret Features in the 2026 'Cuter' Update ",e.jsx("span",{className:"text-pink-500",children:"Mojang Didn't Tell You"})]}),e.jsx("p",{className:"text-xl text-muted-foreground mb-6",children:"The official patch notes only tell half the story. Here are the hidden features, tricks, and Easter eggs in the cutest Minecraft update ever."}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"}),"January 20, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"}),"10 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"}),"Update Expert"]})]}),e.jsx(Te,{title:"5 Secret Features in the 2026 Cuter Update"})]}),e.jsxs("div",{className:"mb-8 rounded-xl overflow-hidden",children:[e.jsx("img",{src:Zv,alt:"Adorable new baby Minecraft mobs from the 2026 Cuter Update - baby wolf, baby pig, and baby sheep",className:"w-full h-auto object-cover",loading:"eager"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2 text-center italic",children:"The new baby mobs are impossibly cute – but there's more to this update than meets the eye."})]}),e.jsx(S,{className:"mb-8 bg-pink-50 dark:bg-pink-950/20",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"}),"Table of Contents"]}),e.jsx("nav",{children:e.jsx("ul",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground",children:[i+1,"."]}),n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("p",{className:"text-lg leading-relaxed mb-6",children:[`Mojang announced the 2026 "Cuter" update with a focus on redesigned baby mobs. What they didn't highlight in the official announcement are the sneaky quality-of-life changes and hidden features that completely change how you'll play `,e.jsx("strong",{children:"Minecraft"})," in 2026."]}),e.jsxs("p",{className:"text-lg leading-relaxed mb-6",children:["I've been testing ",e.jsx("strong",{children:"Minecraft Preview 26.0.27"})," extensively, and here's everything you need to know that wasn't in the patch notes."]}),e.jsxs("div",{className:"bg-pink-100 dark:bg-pink-950/30 border-l-4 border-pink-500 p-6 rounded-r-lg mb-8",children:[e.jsxs("h3",{className:"font-bold text-lg mb-2 flex items-center gap-2",children:[e.jsx(pi,{className:"w-5 h-5 text-pink-500"}),"The Cutest Update Yet"]}),e.jsx("p",{className:"text-muted-foreground",children:'This is officially being called "Drop 1 of 2026" and focuses entirely on making farm mobs more adorable. But the hidden changes affect gameplay in ways Mojang barely mentioned.'})]}),e.jsx("h2",{id:"overview",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"What is the 2026 Cuter Update?"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["The 2026 Cuter Update (Preview 26.0.27) is the first major content drop of 2026 for both",e.jsx("strong",{children:"Minecraft Java Edition"})," and ",e.jsx("strong",{children:"Minecraft Bedrock Edition"}),". The headline feature is completely redesigned baby mob models for:"]}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2 text-muted-foreground mb-6",children:[e.jsx("li",{children:"Baby Wolves (now incredibly fluffy!)"}),e.jsx("li",{children:"Baby Pigs (round and adorable)"}),e.jsx("li",{children:"Baby Cows and Mooshrooms"}),e.jsx("li",{children:"Baby Cats and Ocelots"}),e.jsx("li",{children:"Baby Sheep and Lambs"}),e.jsx("li",{children:"Baby Chickens (tiny and bouncy)"}),e.jsx("li",{children:"Baby Rabbits (with new hopping animations)"})]}),e.jsxs("h2",{id:"secret-1",className:"text-2xl font-heading font-bold mt-12 mb-4 flex items-center gap-2",children:[e.jsx(St,{className:"w-6 h-6 text-yellow-500"}),"Secret #1: Craftable Name Tags"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["This is HUGE and barely got any attention. For the first time ever, you can ",e.jsx("strong",{children:"craft name tags"}),"instead of only finding them in dungeons or fishing."]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsx("p",{className:"font-semibold text-primary",children:"Recipe:"}),e.jsx("p",{className:"text-muted-foreground",children:e.jsx("strong",{children:"1 Paper + 1 Metal Nugget (any type) = 1 Name Tag"})}),e.jsxs("p",{className:"text-sm text-muted-foreground mt-2",children:["This makes naming mobs accessible in early game and is perfect for ",e.jsx("strong",{children:"survival"})," players who want to protect their pets from despawning."]})]}),e.jsxs("h2",{id:"secret-2",className:"text-2xl font-heading font-bold mt-12 mb-4 flex items-center gap-2",children:[e.jsx(St,{className:"w-6 h-6 text-yellow-500"}),"Secret #2: New Baby Mob Sounds"]}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"Baby pigs, cats, and wolves now have completely unique sound sets. These aren't just pitch-shifted adult sounds – they're entirely new recordings."}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2 text-muted-foreground mb-6",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Baby Wolves"})," – High-pitched yips and playful barks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Baby Pigs"})," – Tiny squeaks that are heart-meltingly cute"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Baby Cats"})," – Soft mews distinct from adult meows"]})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Pro tip for builders: These sounds make animal farms much more immersive. Consider this when designing bases near farms on ",e.jsx("strong",{children:"Hypixel Skyblock"})," or ",e.jsx("strong",{children:"survival servers"}),"."]}),e.jsxs("h2",{id:"secret-3",className:"text-2xl font-heading font-bold mt-12 mb-4 flex items-center gap-2",children:[e.jsx(St,{className:"w-6 h-6 text-yellow-500"}),"Secret #3: Spawn Egg Baby Trick"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Here's something huge for ",e.jsx("strong",{children:"Minecraft creative mode"})," players and mapmakers:",e.jsx("strong",{children:"Using a spawn egg on an adult mob now spawns the baby version!"})]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Previously, spawn eggs would only create adult mobs. Now in ",e.jsx("strong",{children:"Bedrock Edition"}),", right-clicking an adult cow with a cow spawn egg creates a baby cow next to it."]}),e.jsxs("div",{className:"bg-primary/10 p-4 rounded-lg mb-6",children:[e.jsxs("p",{className:"font-semibold text-primary flex items-center gap-2",children:[e.jsx(Fj,{className:"w-4 h-4"}),"Why This Matters:"]}),e.jsx("p",{className:"text-muted-foreground",children:"Mapmakers can now easily populate areas with mixed-age animal groups. This is perfect for creating realistic farms, petting zoos, and nature scenes."})]}),e.jsxs("h2",{id:"secret-4",className:"text-2xl font-heading font-bold mt-12 mb-4 flex items-center gap-2",children:[e.jsx(St,{className:"w-6 h-6 text-yellow-500"}),"Secret #4: Updated Hitboxes"]}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Mojang quietly updated the bounding boxes for several mobs to align with the new models. This affects both ",e.jsx("strong",{children:"Java"})," and ",e.jsx("strong",{children:"Bedrock"})," editions:"]}),e.jsxs("ul",{className:"list-disc pl-6 space-y-2 text-muted-foreground mb-6",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Cows and Mooshrooms"})," – Adult and baby hitboxes adjusted"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Wolves"})," – Both forms updated"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Chickens"})," – Smaller hitbox for babies"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rabbits"})," – Both adult and baby updated"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Cats"})," – Baby hitbox adjusted"]})]}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"This matters for mob farms and grinders. Existing designs may need adjustments if they rely on precise mob positioning."}),e.jsxs("h2",{id:"secret-5",className:"text-2xl font-heading font-bold mt-12 mb-4 flex items-center gap-2",children:[e.jsx(St,{className:"w-6 h-6 text-yellow-500"}),"Secret #5: Animation Easter Eggs"]}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"The new baby rabbits have completely new animations that weren't announced. Watch closely and you'll notice they have unique hopping patterns and idle animations."}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"There are also subtle animation improvements for baby wolves playing and baby pigs rooting around. These make the mobs feel more alive and are perfect for screenshot opportunities."}),e.jsx("h2",{id:"farm-designs",className:"text-2xl font-heading font-bold mt-12 mb-4",children:"Best Farm Designs for 2026"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed mb-4",children:"With the new mob models and hitboxes, now is the perfect time to build or redesign your animal farms. Here are some recommendations:"}),e.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:"Circular Pens for the New Mobs"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Circular pens look amazing with the new baby mobs and give them more natural movement patterns. Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline font-semibold",children:"Circle Generator"})," to plan perfect circular enclosures."]}),e.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:"Dome Barns"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["A dome structure over your animal pens creates a stunning aesthetic. Check out our",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline font-semibold",children:" Sphere Generator"})," for layer-by-layer dome building instructions."]}),e.jsx("h3",{className:"text-xl font-semibold mt-6 mb-3",children:"Hexagonal Enclosures"}),e.jsxs("p",{className:"text-muted-foreground leading-relaxed mb-4",children:["Honeycomb-style hex pens are perfect for organizing different animal types. Use our",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline font-semibold",children:" Hexagon Generator"})," to create perfectly tessellating enclosures."]}),e.jsxs("div",{className:"bg-gradient-to-r from-pink-500/20 to-purple-500/20 p-8 rounded-xl mt-8 mb-8",children:[e.jsxs("h3",{className:"font-bold text-xl mb-3 flex items-center gap-2",children:[e.jsx(pi,{className:"w-5 h-5 text-pink-500"}),"Build the Perfect Farm for Your New Baby Mobs"]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Your adorable new baby wolves, pigs, and sheep deserve beautiful enclosures. Plan your builds with our free tools."}),e.jsxs(p,{to:"/tools",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-6 py-3 rounded-lg font-semibold hover:bg-primary/90 transition-colors",children:["Explore Building Tools ",e.jsx(Q,{className:"w-4 h-4"})]})]}),e.jsx("h3",{className:"text-xl font-heading font-semibold mt-12 mb-4",children:"Known Issues (As of Preview 26.0.27)"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Some things to be aware of in the current preview:"}),e.jsxs("ul",{className:"text-muted-foreground space-y-2 mb-8",children:[e.jsx("li",{children:"• Tamed Wolf texture (MERS) is a placeholder – will be fixed in future update"}),e.jsx("li",{children:"• Adult Wolf sound variants not working correctly – fix incoming"}),e.jsx("li",{children:"• Some animation blending issues on lower-end devices"})]})]}),e.jsx(Xe,{currentSlug:"minecraft-2026-cuter-update-secrets",category:"News"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},S6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Redstone Circular Builds",url:"/blog/redstone-circular-builds"}],r=[{question:"Can you make circular redstone circuits in Minecraft?",answer:"Yes! Circular redstone circuits are possible using repeaters and comparators arranged in a circle pattern. Use a circle generator to plan the layout, then place redstone dust along the path for signal flow."},{question:"What is the best size for a circular redstone clock?",answer:"A 15-20 block diameter circle works best for redstone clocks. This gives enough room for repeaters with delay settings while maintaining a clean circular shape that fits most builds."},{question:"Do circular redstone builds cause more lag than straight ones?",answer:"Circular redstone builds do not cause more lag than straight builds with the same number of components. The shape does not affect performance — only the total number of active redstone components matters."},{question:"How do you build a circular piston door?",answer:"Build a circular piston door by first planning the circle shape with a generator, then placing sticky pistons behind each block on the perimeter. Wire them to a central redstone signal using underground channels."},{question:"Can you use a circle generator for redstone builds?",answer:"Absolutely. Our free circle generator helps you plan the exact block placement for circular redstone builds. Generate the pattern, then follow it in-game for perfect redstone circles every time."}],s=[{id:"why-circular",title:"Why Build Circular Redstone?"},{id:"circular-clocks",title:"Circular Redstone Clocks"},{id:"piston-doors",title:"Circular Piston Doors"},{id:"rotating-displays",title:"Rotating Display Builds"},{id:"lighthouse-beacons",title:"Lighthouse & Beacon Systems"},{id:"arena-traps",title:"Arena Traps & Defense Systems"},{id:"tips",title:"Tips for Clean Circular Wiring"}];return e.jsx(se,{title:"Minecraft Redstone Circular Builds: Clocks, Doors & Traps Guide 2026",description:"Learn how to build circular redstone contraptions in Minecraft. Master redstone clocks, circular piston doors, rotating displays, and arena trap systems with our step-by-step guide.",canonicalPath:"/blog/redstone-circular-builds",keywords:"minecraft redstone circle, circular redstone clock, minecraft piston door circle, redstone builds 2026, minecraft redstone tutorial, circular redstone contraptions, minecraft automation",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-17",dateModified:ke(),articleSection:"Minecraft Redstone Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Redstone Circular Builds"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Redstone"}),e.jsx(L,{variant:"secondary",children:"Advanced"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"Minecraft Redstone Circular Builds: Clocks, Doors & Traps"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Circular redstone builds look amazing and work better than you think. Learn how to combine",e.jsx("strong",{children:" circle generator patterns"})," with ",e.jsx("strong",{children:"redstone engineering"})," to create clocks, piston doors, rotating displays, and arena defense systems."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 17, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 16 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Redstone Engineer"]})]}),e.jsx(Te,{title:"Minecraft Redstone Circular Builds Guide"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:ew,alt:"Minecraft redstone circular build with glowing redstone dust in a circle pattern",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"why-circular",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Why Build Circular Redstone?"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Most redstone builds use straight lines and right angles. But circular designs open up a whole new world of possibilities. Round piston doors look futuristic. Circular clocks fit naturally inside towers. And arena traps work better when they surround the target evenly."}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The trick is planning. Without a ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"}),", you'll waste hours trying to get the shape right. With one, you can focus on the redstone wiring instead."]}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Pro tip:"})," Generate your circle pattern first, screenshot it, then build the redstone underneath before placing the visible blocks on top."]})]})})]}),e.jsxs("section",{id:"circular-clocks",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Circular Redstone Clocks"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"A redstone clock sends a repeating signal. When built in a circle, the signal flows around the loop continuously. This is perfect for lighthouse beacons, animated builds, and timed dispensers."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"How to Build One"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," to create a 15-block diameter circle"]}),e.jsx("li",{children:"Place redstone dust along the entire circle path"}),e.jsx("li",{children:"Add repeaters every 3-4 blocks, all facing the same direction (clockwise or counter-clockwise)"}),e.jsx("li",{children:"Set each repeater to 1-4 ticks depending on your desired speed"}),e.jsx("li",{children:"Power one section with a lever to start the clock"})]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"The signal will loop endlessly around the circle. You can tap off the signal at any point to power pistons, lamps, or dispensers. This is the foundation for rotating lighthouse beams and animated signs."})]}),e.jsxs("section",{id:"piston-doors",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Circular Piston Doors"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Circular piston doors are the ultimate flex in Minecraft building. Instead of a boring 2x2 or 3x3 door, imagine a round portal that opens by retracting blocks outward in a circle pattern."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Small Circular Door (7-Block Diameter)"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Generate a 7-block diameter circle using our tool"}),e.jsx("li",{children:"Place sticky pistons behind each perimeter block, facing inward"}),e.jsx("li",{children:"Wire all pistons to a single redstone signal using underground channels"}),e.jsx("li",{children:"Use a button or pressure plate to trigger — all blocks retract simultaneously"})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For larger doors (11+ blocks), you'll need to stagger the piston timing with repeaters. The outer blocks should retract first, creating a satisfying iris-like opening animation. Check our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})," if you want to create a 3D tunnel entrance."]})]}),e.jsxs("section",{id:"rotating-displays",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Rotating Display Builds"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"You can simulate rotation in Minecraft using a circular arrangement of lamps or blocks that light up in sequence. This creates the illusion of a spinning wheel, radar dish, or loading animation."}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Build it by placing redstone lamps in a circle pattern, then connecting each lamp to a different point on your circular redstone clock. As the signal travels around the clock, each lamp lights up and turns off in sequence — creating smooth visual rotation."}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For the smoothest effect, use a circle with at least 20 blocks diameter. Our",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:" oval generator"})," can help if you want elliptical rotation patterns instead of perfect circles."]})]}),e.jsxs("section",{id:"lighthouse-beacons",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Lighthouse & Beacon Systems"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A working lighthouse is one of the most impressive builds in Minecraft. Combine a",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:" spiral staircase"})," for the interior with a circular redstone lamp system at the top for a rotating beacon effect."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Building the Beacon"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:["Build the lighthouse tower (see our ",e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:"tower designs guide"}),")"]}),e.jsx("li",{children:"At the top, create a ring of 8-12 redstone lamps in a circle"}),e.jsx("li",{children:"Connect them to a slow circular clock underneath"}),e.jsx("li",{children:"Only 2-3 adjacent lamps should be lit at any time, creating a sweeping beam effect"}),e.jsx("li",{children:"Use daylight sensors to auto-activate at night"})]})]}),e.jsxs("section",{id:"arena-traps",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Arena Traps & Defense Systems"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Circular arenas with built-in redstone traps are perfect for PvP maps and adventure maps. The circular layout ensures traps are evenly spaced and there's no safe corner to hide in."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Trap Ideas"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Ring of fire:"})," Dispensers in a circle that shoot fire charges inward"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Piston floor:"})," Circular sections that retract, dropping players into lava"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Arrow storm:"})," Dispensers around the perimeter firing arrows toward the center"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Closing walls:"})," Pistons that slowly push blocks inward, shrinking the arena"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," to plan the arena shape, then our ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagon generator"})," for internal honeycomb-style trap zones."]})]}),e.jsxs("section",{id:"tips",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Tips for Clean Circular Wiring"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:[{title:"Plan Underground",desc:"Run redstone wiring below the floor. This keeps your circular build looking clean on the surface."},{title:"Use Comparators for Signals",desc:"Comparators maintain signal strength better than repeaters in tight circular spaces."},{title:"Test Small First",desc:"Build a small 7-block prototype before scaling up to 30+ blocks. Debug wiring issues early."},{title:"Layer Your Circles",desc:"For 3D builds, use our sphere generator to plan multiple circular layers stacked vertically."},{title:"Symmetry Matters",desc:"Use even-diameter circles for symmetric piston doors. Odd diameters work better for rotating displays."},{title:"Waterproof Your Wiring",desc:"Place slabs or glass over exposed redstone to prevent water from breaking your circuits."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(ht,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Plan Your Circular Redstone Build"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Get pixel-perfect circle patterns for your next redstone project. Our free tools work for all Minecraft editions."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/sphere-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Sphere Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"redstone-circular-builds",category:"Advanced"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},T6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Bridge Building Guide",url:"/blog/bridge-building-guide"}],r=[{question:"How do you build a bridge in Minecraft?",answer:"Start by placing pillars on each side, then connect them with a flat or arched walkway. For arched bridges, use a circle generator to plan the curve. Add railings, lighting, and decorative details to finish."},{question:"What is the best block for Minecraft bridges?",answer:"Stone bricks and deepslate bricks are the most popular choices. For wooden bridges, use spruce or dark oak planks with log supports. Mix slab and stair blocks for realistic detailing."},{question:"How do you make an arched bridge in Minecraft?",answer:"Use a circle generator to create the arch curve. Only build the top half of the circle for the arch shape. Place blocks along the curve, then fill in the walkway on top. Larger circles create gentler arches."},{question:"How long should a Minecraft bridge be?",answer:"Bridge length depends on the gap. For rivers, 15-30 blocks is typical. For ravines, 20-50 blocks works well. Always make the bridge at least 3 blocks wide for comfortable walking."},{question:"Can you build a suspension bridge in Minecraft?",answer:"Yes! Build tall towers on each end, run chains or fence posts in a catenary curve between them, then hang vertical supports down to the deck. Use a circle generator for the cable curve shape."}],s=[{id:"bridge-types",title:"Types of Minecraft Bridges"},{id:"arch-bridges",title:"How to Build Arch Bridges"},{id:"suspension-bridges",title:"Suspension Bridge Tutorial"},{id:"stone-bridges",title:"Classic Stone Bridges"},{id:"wooden-bridges",title:"Wooden & Rope Bridges"},{id:"drawbridges",title:"Redstone Drawbridges"},{id:"decoration",title:"Bridge Decoration & Details"}];return e.jsx(se,{title:"How to Build Bridges in Minecraft: Arch, Suspension & Stone Guide 2026",description:"Complete Minecraft bridge building guide. Learn to build arched bridges, suspension bridges, stone bridges, and redstone drawbridges with step-by-step tutorials.",canonicalPath:"/blog/bridge-building-guide",keywords:"minecraft bridge, how to build bridge minecraft, minecraft arch bridge, suspension bridge minecraft, minecraft bridge tutorial, minecraft building guide 2026, stone bridge minecraft",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-17",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Bridge Building Guide"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Building"}),e.jsx(L,{variant:"secondary",children:"Tutorial"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"How to Build Bridges in Minecraft: Complete Guide"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Bridges connect your builds and make your world feel alive. Learn how to build ",e.jsx("strong",{children:"arched bridges"}),",",e.jsx("strong",{children:" suspension bridges"}),", ",e.jsx("strong",{children:"stone bridges"}),", and even ",e.jsx("strong",{children:"redstone drawbridges"}),"that actually open and close."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 17, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 18 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Building Expert"]})]}),e.jsx(Te,{title:"How to Build Bridges in Minecraft"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:tw,alt:"Minecraft stone arch bridge over a river with lanterns at sunset",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"bridge-types",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Types of Minecraft Bridges"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"There are many bridge styles you can build in Minecraft. Each one fits a different setting and skill level. Here are the main types ranked by difficulty:"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:[{name:"Flat Plank Bridge",difficulty:"Beginner",desc:"Simple wooden planks across a gap. Quick and functional."},{name:"Stone Arch Bridge",difficulty:"Intermediate",desc:"Classic curved arch using circle patterns. Beautiful over rivers."},{name:"Suspension Bridge",difficulty:"Advanced",desc:"Tall towers with hanging cables. Impressive over large gaps."},{name:"Redstone Drawbridge",difficulty:"Expert",desc:"Moving bridge that opens and closes with pistons."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-1",children:n.name}),e.jsx(L,{variant:"outline",className:"mb-2",children:n.difficulty}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.name))})]}),e.jsxs("section",{id:"arch-bridges",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How to Build Arch Bridges"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Arch bridges are the most popular style in Minecraft. The curved shape looks natural and handles any span length. The secret to a good arch? Using a ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"}),"."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Step-by-Step"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Measure the gap you need to cross (count blocks from one side to the other)"}),e.jsxs("li",{children:["Open our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," and set the diameter to match your gap width"]}),e.jsx("li",{children:"Use only the top quarter of the circle for a gentle arch, or the top half for a dramatic curve"}),e.jsx("li",{children:"Build support pillars on each end, going down to the ground or water"}),e.jsx("li",{children:"Place blocks following the curve pattern from the generator"}),e.jsx("li",{children:"Fill in the walkway on top of the arch"}),e.jsx("li",{children:"Add railings using walls, fences, or iron bars"})]}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Pro tip:"})," For a double arch bridge, use our ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"oval generator"})," to create elongated arches that look more natural than perfect semicircles."]})]})})]}),e.jsxs("section",{id:"suspension-bridges",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Suspension Bridge Tutorial"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Suspension bridges are perfect for crossing wide rivers, deep ravines, or connecting mountain peaks. They look incredible and are surprisingly easy to build once you understand the structure."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Components"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Towers:"})," Two tall pillars on each end (see our ",e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:"tower designs guide"}),")"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Main cables:"})," Chains or fence posts following a gentle curve between towers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Suspenders:"})," Vertical chains hanging from cables to the deck"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Deck:"})," The flat walking surface, typically 3-5 blocks wide"]})]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Use our circle generator for the cable curve. Generate a circle with a diameter equal to the distance between your towers. The bottom curve of that circle gives you the cable droop shape."})]}),e.jsxs("section",{id:"stone-bridges",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Classic Stone Bridges"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Stone bridges fit perfectly in ",e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"medieval builds"}),". Use stone bricks, mossy stone bricks, and cracked stone bricks for an aged look."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Block Palette"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Main structure:"})," Stone bricks + stone brick stairs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Weathering:"})," Mix in 20-30% mossy and cracked variants"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Railings:"})," Stone brick walls with lanterns on top"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Supports:"})," Stone brick pillars with chiseled stone brick accents"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Path:"})," Mix stone bricks with gravel and cobblestone for a worn surface"]})]})]}),e.jsxs("section",{id:"wooden-bridges",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Wooden & Rope Bridges"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Wooden bridges work great for jungle builds, village connections, and survival mode. Rope bridges (using fence posts and trapdoors) add adventure and character to your world."}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"For a simple rope bridge: place two parallel lines of fence posts across the gap, then lay trapdoors (in the open position) between them as the walking surface. Add more fence posts vertically as rope supports every 5-6 blocks."})]}),e.jsxs("section",{id:"drawbridges",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Redstone Drawbridges"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A drawbridge that opens and closes adds function to your ",e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"medieval castle"}),". Use sticky pistons to retract the bridge blocks into the gatehouse."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For more complex redstone mechanisms in circular builds, check our",e.jsx(p,{to:"/blog/redstone-circular-builds",className:"text-primary hover:underline",children:" redstone circular builds guide"}),"."]})]}),e.jsxs("section",{id:"decoration",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Bridge Decoration & Details"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:[{title:"Lighting",desc:"Place lanterns on posts every 4-5 blocks. Use soul lanterns for a blue theme."},{title:"Banners",desc:"Hang banners from the railings to add color and show your faction or kingdom."},{title:"Under-bridge Detail",desc:"Add supports, cobwebs, vines, and moss under the bridge for realism."},{title:"Water Features",desc:"Place water streams or waterfalls near bridge supports for atmosphere."},{title:"Path Variation",desc:"Mix different block types on the walking surface to break up repetition."},{title:"Armor Stands",desc:"Place armor stands with helmets as decorative statues on bridge posts."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(ht,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Plan Your Bridge Arches"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Get perfect arch curves for your bridge with our free circle and oval generators."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/oval-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Oval Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"bridge-building-guide",category:"Building"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},P6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Garden & Landscaping Guide",url:"/blog/garden-landscaping-guide"}],r=[{question:"How do you build a garden in Minecraft?",answer:"Start with a clear area, add pathways using gravel or stone, plant flowers and bushes using leaves and flower blocks, add water features with ponds or fountains, and use fences or hedges as borders. Use a circle generator for round garden beds and ponds."},{question:"What blocks work best for Minecraft gardens?",answer:"Use grass blocks, podzol, and coarse dirt for terrain variety. Flowers, azalea bushes, sweet berry bushes, and leaf blocks work as plants. Moss blocks and moss carpets add ground cover. Stone and gravel make great pathways."},{question:"How do you make a circular pond in Minecraft?",answer:"Use our circle generator to plan the pond shape. Dig out the circle 2-3 blocks deep, line the bottom with clay or prismarine, fill with water source blocks, and add lily pads, sea grass, and lanterns around the edges."},{question:"Can you build a hedge maze in Minecraft?",answer:"Yes! Use leaf blocks (oak or spruce) placed 2-3 blocks high as walls. Plan the maze layout on paper first or use our shape generators. Add dead-end traps, hidden treasures, and lighting to make it playable."},{question:"What is the best garden style for Minecraft?",answer:"Japanese zen gardens and English cottage gardens are the most popular. Zen gardens use gravel, stone, bamboo, and cherry blossoms. Cottage gardens use lots of flowers, winding paths, and wooden fences."}],s=[{id:"garden-styles",title:"Popular Garden Styles"},{id:"circular-gardens",title:"Circular Garden Beds"},{id:"ponds-fountains",title:"Ponds & Fountains"},{id:"pathways",title:"Garden Pathways & Walkways"},{id:"hedge-mazes",title:"Hedge Mazes"},{id:"terraforming",title:"Terraforming & Terrain Shaping"},{id:"block-palette",title:"Best Blocks for Gardens"}];return e.jsx(se,{title:"Minecraft Garden & Landscaping Guide: Build Beautiful Outdoor Spaces 2026",description:"Learn how to build stunning Minecraft gardens with circular beds, ponds, fountains, hedge mazes, and terraformed landscapes. Complete landscaping guide with shape generator tips.",canonicalPath:"/blog/garden-landscaping-guide",keywords:"minecraft garden, minecraft landscaping, minecraft pond, minecraft fountain, minecraft hedge maze, minecraft garden tutorial, minecraft building guide, circular garden minecraft",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-17",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Garden & Landscaping Guide"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Design"}),e.jsx(L,{variant:"secondary",children:"Landscaping"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"Minecraft Garden & Landscaping Guide: Build Beautiful Outdoor Spaces"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Transform flat terrain into breathtaking ",e.jsx("strong",{children:"gardens"}),", ",e.jsx("strong",{children:"parks"}),", and",e.jsx("strong",{children:" landscaped areas"}),". Learn how to use ",e.jsx("strong",{children:"shape generators"})," for circular ponds, hexagonal flower beds, and perfectly curved pathways."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 17, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 17 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Landscape Designer"]})]}),e.jsx(Te,{title:"Minecraft Garden & Landscaping Guide"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:rw,alt:"Minecraft garden with circular flower beds, round pond, and hedge maze",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"garden-styles",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Popular Garden Styles"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Different garden styles suit different builds. A medieval castle needs a formal garden. A cottage needs a wild, colorful one. Here are the most popular styles and when to use them:"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:[{name:"Japanese Zen Garden",desc:"Gravel raking patterns, stone arrangements, bamboo, cherry trees, and koi ponds. Peaceful and minimal."},{name:"English Cottage Garden",desc:"Overflowing flowers, winding paths, wooden fences, and a cozy, wild feel. Best for village builds."},{name:"Formal French Garden",desc:"Symmetric layouts, geometric hedges, fountains at center points. Perfect with hexagon and circle generators."},{name:"Tropical Paradise",desc:"Jungle trees, bamboo groves, colorful flowers, waterfalls, and exotic plants like cocoa beans."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.name}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.name))})]}),e.jsxs("section",{id:"circular-gardens",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Circular Garden Beds"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Round flower beds and garden features look professional and break up the blocky Minecraft aesthetic. Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," to plan them."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Building Circular Flower Beds"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Generate a circle (10-20 block diameter is ideal for gardens)"}),e.jsx("li",{children:"Outline the circle in the ground with a border block (stone bricks or logs)"}),e.jsx("li",{children:"Fill the interior with farmland or grass blocks"}),e.jsx("li",{children:"Plant flowers in a pattern — alternate colors for visual impact"}),e.jsx("li",{children:"Add a centerpiece: a tree, fountain, or statue"})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For oval-shaped beds, use our ",e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"oval generator"}),". For tessellating patterns, try the ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagon generator"})," to create honeycomb-style planting areas."]})]}),e.jsxs("section",{id:"ponds-fountains",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Ponds & Fountains"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Water features bring any garden to life. A circular pond is one of the easiest and most impactful additions you can make."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Circular Pond Tutorial"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Generate a circle (15-25 block diameter)"}),e.jsx("li",{children:"Dig 2-3 blocks deep following the pattern"}),e.jsx("li",{children:"Line the bottom with clay, prismarine, or blue terracotta"}),e.jsx("li",{children:"Fill every single block with a water source (use ice blocks and break them for easy filling)"}),e.jsx("li",{children:"Add lily pads, sea grass, and drowned-proof lighting underneath"}),e.jsx("li",{children:"Border with stone, moss blocks, or flowers"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Fountain Design"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Build a circular basin using the generator, then add a central column. Place water source blocks at the top of the column — they'll flow down naturally. Use slabs at different heights for a multi-tier fountain. See our ",e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline",children:"dome building guide"})," for dome-topped fountains."]})]}),e.jsxs("section",{id:"pathways",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Garden Pathways & Walkways"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Paths guide players through your garden and add structure. Mix block types for a natural, worn look."}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Formal paths:"})," Stone bricks, polished andesite, or quartz slabs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rustic paths:"})," Gravel, coarse dirt, and grass path blocks"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Stepping stones:"})," Stone buttons or pressure plates on grass"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Curved paths:"})," Use circle generator arcs for smooth curves"]})]}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Pro tip:"})," Line paths with glow lichen or small flowers for subtle guidance at night."]})]})})]}),e.jsxs("section",{id:"hedge-mazes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Hedge Mazes"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Hedge mazes are a classic garden feature that doubles as a mini-game. Build them 2-3 blocks high using leaf blocks."}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagon generator"})," for hexagonal maze sections, or the ",e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"diamond generator"})," for diamond-shaped maze rooms. Combine different shapes for a complex, interesting layout."]})]}),e.jsxs("section",{id:"terraforming",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Terraforming & Terrain Shaping"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Great gardens need great terrain. Terraforming means reshaping the land to create hills, valleys, and flat areas for your garden features."}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Use gentle slopes (1 block rise every 3-4 blocks) for natural hills"}),e.jsx("li",{children:"Create terraced levels using retaining walls for steep slopes"}),e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})," to plan rounded hills"]}),e.jsx("li",{children:"Cover exposed dirt with grass by placing grass blocks adjacent and waiting for spread"}),e.jsx("li",{children:"Add boulders using stone, andesite, and mossy cobblestone in random clusters"})]})]}),e.jsxs("section",{id:"block-palette",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Best Blocks for Gardens"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:[{title:"Ground Cover",desc:"Grass, podzol, moss blocks, moss carpet, mycelium, coarse dirt"},{title:"Flowers",desc:"All flower types, azalea bushes, sweet berries, dead bushes for contrast"},{title:"Trees",desc:"Custom trees using logs + leaves. Cherry, azalea, and mangrove for variety"},{title:"Paths",desc:"Gravel, grass path, stone slabs, brick, polished andesite"},{title:"Water",desc:"Water sources, waterlogged slabs, blue ice for frozen ponds"},{title:"Decoration",desc:"Lanterns, campfires (for smoke), armor stands, item frames, flower pots"}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(ht,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Design Your Garden Shapes"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Use our free shape generators to plan circular ponds, oval flower beds, and hexagonal garden layouts."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/hexagon-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Hexagon Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"garden-landscaping-guide",category:"Design"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},E6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Survival Base Designs",url:"/blog/survival-base-designs-2026"}],r=[{question:"What is the best base design for Minecraft survival?",answer:"A circular or dome-shaped base is one of the best designs because it has no weak corners for mobs to exploit. Use a circle generator for the floor plan and a sphere generator for dome roofs. Add multiple floors for storage, farming, and living areas."},{question:"How big should a survival base be?",answer:"Start with a 20-30 block diameter for your main area. This gives enough room for a crafting area, storage, bed, and enchanting table. Expand outward as you gather more resources — circular designs scale up easily."},{question:"What is the safest base shape in Minecraft?",answer:"Circular and dome-shaped bases are the safest because mobs cannot hide in corners and you have clear sightlines in every direction. Underground dome bases are especially safe because they are hidden from surface mobs."},{question:"How do you defend a Minecraft base from mobs?",answer:"Build a perimeter wall (circular for best coverage), add lighting everywhere, create a moat filled with water or lava, place cactus or berry bush barriers, and build iron golem spawners inside the walls."},{question:"Should I build above ground or underground in survival?",answer:"Both have advantages. Above-ground bases are easier to expand and look better. Underground bases are safer and closer to ores. The best approach is a combination: main living above ground with underground storage, farms, and mining tunnels."}],s=[{id:"starter-bases",title:"Day 1 Starter Bases"},{id:"circular-bases",title:"Circular Base Designs"},{id:"dome-bases",title:"Dome & Underground Bases"},{id:"defense",title:"Base Defense Systems"},{id:"storage",title:"Storage Room Layouts"},{id:"farms",title:"Integrated Farm Designs"},{id:"mega-base",title:"Planning Your Mega Base"}];return e.jsx(se,{title:"Best Minecraft Survival Base Designs 2026: Circular, Dome & Underground",description:"Build the ultimate Minecraft survival base with circular layouts, dome roofs, defense systems, and integrated farms. Complete base design guide with shape generator tips for 2026.",canonicalPath:"/blog/survival-base-designs-2026",keywords:"minecraft survival base, minecraft base design, minecraft dome base, circular base minecraft, minecraft base ideas 2026, minecraft survival tips, best minecraft base, underground base minecraft",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-17",dateModified:ke(),articleSection:"Minecraft Survival Guides",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Survival Base Designs 2026"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Survival"}),e.jsx(L,{variant:"secondary",children:"Base Design"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"Best Minecraft Survival Base Designs for 2026"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Your base is your home, your fortress, and your workshop all in one. Learn how to design",e.jsx("strong",{children:" circular bases"}),", ",e.jsx("strong",{children:"dome shelters"}),", and ",e.jsx("strong",{children:"underground hideouts"})," that keep you safe and look incredible."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 17, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 20 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Survival Expert"]})]}),e.jsx(Te,{title:"Best Minecraft Survival Base Designs 2026"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:sw,alt:"Minecraft circular survival base with dome roof and defensive moat at sunset",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"starter-bases",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Day 1 Starter Bases"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"On your first night, you just need shelter. But even a starter base can be smart. Instead of a basic dirt box, dig into a hillside or build a small circular hut. It takes the same effort but looks ten times better."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Quick Circular Shelter"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," for a 9-block diameter circle"]}),e.jsx("li",{children:"Build walls 3 blocks high following the pattern"}),e.jsx("li",{children:"Add a door, torch, crafting table, and bed inside"}),e.jsx("li",{children:"Cap it with a simple flat roof or dome"})]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"This starter base can later become the core of a much larger circular base. Just expand the walls outward when you're ready."})]}),e.jsxs("section",{id:"circular-bases",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Circular Base Designs"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Circular bases are superior to square ones for survival. Here's why: no corners means no blind spots for creepers to hide in. You get even coverage from a central point for lighting and defense. And they just look better."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Multi-Room Circular Base"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Design a large circle (30-40 blocks) as your outer wall, then divide the interior into rooms using inner walls. Think of it like a pie chart — each slice is a different room: bedroom, storage, crafting, enchanting, brewing, and a central hub."}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Pro tip:"})," Use our ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagon generator"})," to plan the interior room divisions. Hexagonal rooms tessellate perfectly inside a circular wall."]})]})})]}),e.jsxs("section",{id:"dome-bases",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Dome & Underground Bases"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Dome bases combine beauty and defense. Build them above ground as glass domes for a greenhouse feel, or dig underground for maximum security. Our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})," makes dome planning easy."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For underground domes, dig the sphere shape into the earth, reinforce the walls with stone bricks, and add floors at different levels. See our ",e.jsx(p,{to:"/blog/dome-building-guide",className:"text-primary hover:underline",children:"dome building guide"})," and",e.jsx(p,{to:"/blog/underwater-bases-guide",className:"text-primary hover:underline",children:" underwater bases guide"})," for detailed construction techniques."]})]}),e.jsxs("section",{id:"defense",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Base Defense Systems"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:[{title:"Perimeter Wall",desc:"Build a circular wall 3-4 blocks high around your base. Use our circle generator for the layout. Add a walkway on top with arrow slits."},{title:"Moat",desc:"Dig a 3-wide, 2-deep trench around your wall. Fill with water (slows mobs) or lava (kills them). Use a circle generator for perfect moat shape."},{title:"Lighting Grid",desc:"Place torches or lanterns every 7 blocks to prevent mob spawns. A circular grid ensures even coverage with no dark spots."},{title:"Iron Golem Farm",desc:"Build iron golem spawning platforms inside your perimeter. They patrol automatically and attack hostile mobs."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(Jl,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{id:"storage",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Storage Room Layouts"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"A circular storage room lets you stand in the center and see every chest at once. Build rings of chests and barrels around the perimeter, with item frames to label each section."}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For large-scale storage, use a ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase"})," to connect multiple underground storage floors. Each floor can be a different category: ores, food, building blocks, redstone, etc."]})]}),e.jsxs("section",{id:"farms",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Integrated Farm Designs"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"The best survival bases include farms inside or adjacent to the walls. Circular farms centered around a water source block are the most space-efficient design in Minecraft — one water block hydrates farmland in a 9x9 area."}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Crop farm:"})," Circular farmland rings around a central water source"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Animal pen:"})," Circular fenced areas using our generator for clean curves"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tree farm:"})," Planted in a grid inside a circular greenhouse dome"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"XP farm:"})," Mob spawner inside the base perimeter for safe grinding"]})]})]}),e.jsxs("section",{id:"mega-base",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Planning Your Mega Base"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"A mega base starts with a plan. Use our tools to design the overall layout before placing a single block."}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:["Plan the outer wall with our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," (60-100 blocks diameter)"]}),e.jsxs("li",{children:["Design the main tower/hall in the center using ",e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:"tower designs"})]}),e.jsxs("li",{children:["Plan interior rooms with ",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"hexagon"})," and ",e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"diamond"})," generators"]}),e.jsxs("li",{children:["Add connecting bridges (see our ",e.jsx(p,{to:"/blog/bridge-building-guide",className:"text-primary hover:underline",children:"bridge building guide"}),")"]}),e.jsxs("li",{children:["Design gardens around the exterior (see our ",e.jsx(p,{to:"/blog/garden-landscaping-guide",className:"text-primary hover:underline",children:"garden guide"}),")"]})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Design Your Survival Base"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Plan the perfect base layout with our free shape generators. Works for Java and Bedrock Edition."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/sphere-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Sphere Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"survival-base-designs-2026",category:"Building"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},G6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Spiral Staircase Design Ideas",url:"/blog/spiral-staircase-designs"}],r=[{question:"How do you build a spiral staircase in Minecraft?",answer:"Build a central pillar, then place stair blocks around it in a spiral pattern — each step one block higher and rotated 90 degrees from the last. Use our spiral staircase generator for exact block placement."},{question:"What is the smallest spiral staircase in Minecraft?",answer:"The smallest functional spiral staircase uses a 3x3 footprint with a 1-block central pillar. Steps spiral around the pillar, giving you a very compact vertical connection between floors."},{question:"What blocks work best for spiral staircases?",answer:"Stone brick stairs for medieval builds, quartz stairs for modern builds, and dark oak stairs for rustic builds. Mix in slabs for half-step transitions and use different stair types for contrast."},{question:"How tall can a Minecraft spiral staircase be?",answer:"There is no height limit. Spiral staircases can go from bedrock to build height. For very tall spirals, add landings every 8-10 steps with a small platform for resting and decoration."},{question:"Can you make a double helix spiral staircase?",answer:"Yes! A double helix has two intertwined spirals that never cross. You need at least a 5x5 footprint. Use our spiral staircase generator set to double-helix mode for the pattern."}],s=[{id:"why-spiral",title:"Why Spiral Staircases?"},{id:"basic-spiral",title:"Basic 3x3 Spiral Staircase"},{id:"wide-spiral",title:"Wide Grand Spiral (5x5+)"},{id:"double-helix",title:"Double Helix Staircases"},{id:"tower-integration",title:"Integrating with Towers"},{id:"decoration",title:"Decoration & Detailing"},{id:"creative-uses",title:"Creative Uses Beyond Towers"}];return e.jsx(se,{title:"10 Minecraft Spiral Staircase Design Ideas: From Simple to Epic 2026",description:"Explore stunning Minecraft spiral staircase designs. Learn to build compact 3x3 spirals, grand wide staircases, double helix designs, and decorated tower staircases.",canonicalPath:"/blog/spiral-staircase-designs",keywords:"minecraft spiral staircase, minecraft staircase design, minecraft tower staircase, spiral staircase tutorial, minecraft building ideas, double helix staircase minecraft, minecraft interior design",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-17",dateModified:ke(),articleSection:"Minecraft Building Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Spiral Staircase Designs"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Building"}),e.jsx(L,{variant:"secondary",children:"Interior Design"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"10 Minecraft Spiral Staircase Designs: From Simple to Epic"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Spiral staircases transform boring towers into architectural masterpieces. Learn how to build",e.jsx("strong",{children:" compact 3x3 spirals"}),", ",e.jsx("strong",{children:"grand wide staircases"}),", and impressive",e.jsx("strong",{children:" double helix designs"})," using our free generator tool."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 17, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 15 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Building Expert"]})]}),e.jsx(Te,{title:"10 Minecraft Spiral Staircase Design Ideas"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:nw,alt:"Minecraft grand spiral staircase inside a stone tower with torches",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"why-spiral",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Why Spiral Staircases?"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Spiral staircases save horizontal space while looking stunning. A regular staircase needs a long hallway. A spiral staircase fits in a tiny tower and moves you up fast. They're essential for",e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:" tower builds"}),", castle turrets, lighthouses, and modern multi-story homes."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase generator"})," gives you the exact block placement pattern. No more guessing where each step goes."]})]}),e.jsxs("section",{id:"basic-spiral",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Design #1-3: Basic 3x3 Spiral Staircase"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"The compact 3x3 spiral is the most common design. It fits inside any tower and connects floors efficiently."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"How to Build"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Place a central pillar (use any solid block — fences work great for see-through pillars)"}),e.jsx("li",{children:"Place the first stair block on the north side of the pillar"}),e.jsx("li",{children:"Go up one block and place the next stair on the east side"}),e.jsx("li",{children:"Continue: south, then west, then north again — always one block higher"}),e.jsx("li",{children:"Each full rotation (4 steps) raises you 4 blocks"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Three Variations"}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-4 mb-4",children:[e.jsxs(S,{className:"p-4",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Stone Medieval"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Stone brick stairs with a stone pillar. Add wall torches for lighting. Perfect for ",e.jsx(p,{to:"/blog/medieval-castles-guide",className:"text-primary hover:underline",children:"castle builds"}),"."]})]}),e.jsxs(S,{className:"p-4",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Wooden Rustic"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Dark oak stairs with a stripped log pillar. Add trapdoor railings. Great for cabin and village builds."})]}),e.jsxs(S,{className:"p-4",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Modern Minimal"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Quartz stairs with a glass pillar. No railings for a floating effect. Ideal for ",e.jsx(p,{to:"/blog/modern-architecture-guide",className:"text-primary hover:underline",children:"modern homes"}),"."]})]})]})]}),e.jsxs("section",{id:"wide-spiral",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Design #4-6: Wide Grand Spiral (5x5+)"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"For grand builds like castle great halls, lighthouse interiors, or modern atriums, you need a wider spiral. A 5x5 or 7x7 spiral staircase looks majestic and allows multiple players to pass each other."}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase generator"})," set to a larger radius. The tool shows you exactly where each block goes for any size."]}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Pro tip:"})," For wide spirals, use slabs instead of full stairs. Place two slabs per step (inner and outer) for a smoother walking surface. Add carpet on top for luxury."]})]})}),e.jsxs("div",{className:"grid md:grid-cols-3 gap-4 mb-4",children:[e.jsxs(S,{className:"p-4",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Castle Grand Stair"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"5x5 with red carpet, banners, and armor stand guards at landings."})]}),e.jsxs(S,{className:"p-4",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Lighthouse Interior"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"7x7 with windows at every quarter turn. Natural light floods in as you climb."})]}),e.jsxs(S,{className:"p-4",children:[e.jsx("h4",{className:"font-semibold mb-2",children:"Modern Atrium"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Glass stairs with glowstone underneath. The entire staircase glows at night."})]})]})]}),e.jsxs("section",{id:"double-helix",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Design #7-8: Double Helix Staircases"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"A double helix is two spiral staircases intertwined around the same pillar. They never cross. One goes up while the other goes down — like DNA. This is one of the most impressive builds you can make in Minecraft."}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"How It Works"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"You need at least a 5x5 footprint (7x7 is better)"}),e.jsx("li",{children:"Build the first spiral normally — steps on N, E, S, W"}),e.jsx("li",{children:"Build the second spiral offset by 2 steps — starting on E instead of N"}),e.jsx("li",{children:"Use different block types for each spiral (e.g., stone brick and dark oak) so they're visually distinct"})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Our ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase generator"}),' can output double helix patterns. Set the type to "double" and follow the layered output.']})]}),e.jsxs("section",{id:"tower-integration",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Design #9: Tower Integration"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The best spiral staircases are built inside towers. The circular tower wall wraps around the spiral perfectly. Use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," for the tower walls and the ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral generator"})," for the interior staircase."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Match your tower diameter to your staircase size. A 3x3 spiral fits inside a 7-block diameter tower. A 5x5 spiral needs at least an 11-block tower. Add windows at each landing for light and views. Read our ",e.jsx(p,{to:"/blog/tower-designs-guide",className:"text-primary hover:underline",children:"tower designs guide"})," for complete tower construction details."]})]}),e.jsxs("section",{id:"decoration",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Decoration & Detailing"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4",children:[{title:"Railings",desc:"Use walls, fences, or iron bars along the outer edge. Trapdoors attached to walls create a modern look."},{title:"Lighting",desc:"Lanterns on chains hanging from above, or glowstone hidden under carpet on each step."},{title:"Landings",desc:"Every 8-12 steps, add a small flat platform with a window, painting, or potted plant."},{title:"Central Pillar",desc:"Try chains, end rods, bamboo, or lightning rods instead of solid blocks for unique pillar styles."},{title:"Carpet Runner",desc:"Place carpet on each step in a contrasting color. Red carpet on stone stairs is a classic castle look."},{title:"Under-stairs Storage",desc:"Fill the space beneath stair blocks with chests, barrels, or brewing stands for hidden storage."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(ht,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{id:"creative-uses",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Design #10: Creative Uses Beyond Towers"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Spiral staircases aren't just for towers. Here are some creative applications:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Mine entrance:"})," A spiral staircase leading deep underground to your mine"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tree house access:"})," Spiral around a giant tree trunk"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Underwater access:"})," Spiral down through water inside a glass tube (see ",e.jsx(p,{to:"/blog/underwater-bases-guide",className:"text-primary hover:underline",children:"underwater bases"}),")"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nether portal room:"})," A dramatic spiral descent to your portal chamber"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mob grinder:"})," Use the spiral shape to funnel mobs down to a central kill chamber"]})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Generate Your Spiral Staircase Pattern"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Get exact block placement for any spiral staircase size. Free tool, works for all Minecraft editions."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/spiral-staircase-generator",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Spiral Staircase Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"spiral-staircase-designs",category:"Building"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},B6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Best Minecraft Skin Generators 2026",url:"/blog/best-skin-generators-2026"}],r=[{question:"What is the best Minecraft skin generator in 2026?",answer:"The best Minecraft skin generators in 2026 use AI to create unique skins from text prompts or reference images. Tools like Skindex, Nova Skin, and several AI-powered generators let you design custom skins in minutes without any art skills."},{question:"Can I generate a Minecraft skin from a photo?",answer:"Yes! Several AI skin generators let you upload a photo and convert it into a Minecraft skin. The AI analyzes the image, maps colors to the 64x64 pixel grid, and creates a wearable skin file. Results vary by tool, but modern AI generators produce surprisingly accurate skins from photos."},{question:"Are AI Minecraft skin generators free?",answer:"Many AI skin generators offer free tiers with limited generations per day. Most popular tools give you 3-10 free skins daily. Premium plans typically cost $3-10/month for unlimited generations and higher quality outputs."},{question:"How do I use a skin URL generator for Minecraft?",answer:"A skin URL generator creates a direct link to your skin file hosted online. You paste the URL into Minecraft launcher settings or server commands. This is useful for sharing skins on multiplayer servers or switching skins without downloading files."},{question:"Can I make a Minecraft PFP from my skin?",answer:"Yes! PFP (profile picture) generators render your Minecraft skin as a stylized avatar. They can show your skin head, bust, or full body with custom backgrounds, lighting, and poses — perfect for Discord, YouTube, or social media profiles."},{question:"What file format do Minecraft skins use?",answer:"Minecraft skins use PNG image files with specific dimensions: 64x64 pixels for modern skins (Java 1.8+ and Bedrock) or 64x32 for legacy skins. The PNG file maps each pixel to a specific body part of your character model."},{question:"How do I install a generated skin in Minecraft?",answer:'For Java Edition, open the Minecraft Launcher, go to Skins, click "New Skin," upload your PNG file, and select slim or classic arm model. For Bedrock Edition, go to Profile > Edit Character > Owned Skins > Import, then select your skin file.'}],s=[{id:"what-are-skin-generators",title:"What Are Minecraft Skin Generators?"},{id:"best-ai-skin-generators",title:"Best AI Skin Generators 2026"},{id:"skin-from-image",title:"How to Generate Skins from Images"},{id:"skin-url-generators",title:"Skin URL & Link Generators"},{id:"pfp-generators",title:"Minecraft PFP Generators"},{id:"tips",title:"Tips for Better Skin Designs"},{id:"how-to-install",title:"How to Install Your Skin"}];return e.jsx(se,{title:"Best Minecraft Skin Generators in 2026 - AI Skin Maker & PFP Tools",description:"Discover the best Minecraft skin generators for 2026. Create custom skins with AI, generate skins from photos, use skin URL generators, and make Minecraft PFP avatars for free.",canonicalPath:"/blog/best-skin-generators-2026",keywords:"minecraft skin generator, ai skin generator minecraft, minecraft skin from image, skin url generator, skin link generator, minecraft pfp generator, minecraft skin maker, custom minecraft skin",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-19",dateModified:ke(),articleSection:"Minecraft Tools & Resources",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Best Skin Generators 2026"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Tools"}),e.jsx(L,{variant:"secondary",children:"AI"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"Best Minecraft Skin Generators in 2026: AI Skin Makers & PFP Tools"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Create stunning custom ",e.jsx("strong",{children:"Minecraft skins"})," using AI, convert photos into skins, generate",e.jsx("strong",{children:" skin URLs"}),", and make professional ",e.jsx("strong",{children:"PFP avatars"})," — all for free."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 19, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 18 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Skin Design Expert"]})]}),e.jsx(Te,{title:"Best Minecraft Skin Generators 2026"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:iw,alt:"Collection of AI-generated Minecraft character skins showing various styles and designs",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"what-are-skin-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"What Are Minecraft Skin Generators?"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A ",e.jsx("strong",{children:"Minecraft skin generator"})," is a tool that creates custom character skins for your player model. Instead of drawing each pixel by hand on a 64×64 grid, these tools use templates, AI, or image processing to build skins quickly."]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:'In 2026, AI-powered skin generators have changed the game. You can describe what you want in plain text — "a knight with blue armor and a red cape" — and the AI creates a complete, wearable skin in seconds. Some tools even let you upload a real photo and convert it into a Minecraft skin automatically.'}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Whether you play ",e.jsx("strong",{children:"Minecraft Java Edition"})," or ",e.jsx("strong",{children:"Bedrock Edition"}),", skin generators work the same way. They output a PNG file that you upload to your game. You can also use our ",e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB color generator"})," to pick exact colors before designing your skin, or our ",e.jsx(p,{to:"/text-generator",className:"text-primary hover:underline",children:"text generator"})," to add pixel text to banners that match your skin theme."]})]}),e.jsxs("section",{id:"best-ai-skin-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Best AI Skin Generators 2026"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Here are the top ",e.jsx("strong",{children:"AI skin generators"})," that produce high-quality Minecraft skins from text prompts or reference images. We tested each one for quality, speed, and ease of use."]}),[{name:"Skindex AI Creator",rating:"4.8/5",desc:"The most popular skin site now includes an AI generator. Type a description and get a skin in under 10 seconds. Free tier gives 5 skins per day. Supports both slim and classic arm models.",free:!0},{name:"Nova Skin AI Studio",desc:"Advanced editor with AI assist. Great for tweaking AI-generated skins pixel by pixel. The AI handles the base design, and you fine-tune details. Best for players who want control.",rating:"4.7/5",free:!0},{name:"MineSkin AI",desc:"Specializes in converting real photos into Minecraft skins. Upload a selfie or character image and it maps colors to the pixel grid. Also generates skin URLs for easy sharing on servers.",rating:"4.6/5",free:!0},{name:"SkinMC Pro",desc:"Premium AI generator with the highest quality outputs. Creates detailed skins with shading, highlights, and texture. Best for content creators who need professional-looking skins.",rating:"4.9/5",free:!1}].map(n=>e.jsxs(S,{className:"mb-4 p-4",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2",children:[e.jsx("h3",{className:"font-semibold text-lg",children:n.name}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(L,{variant:n.free?"default":"secondary",children:n.free?"Free":"Paid"}),e.jsxs("span",{className:"flex items-center gap-1 text-sm",children:[e.jsx(St,{className:"w-4 h-4 text-yellow-500"})," ",n.rating]})]})]}),e.jsx("p",{className:"text-muted-foreground",children:n.desc})]},n.name))]}),e.jsxs("section",{id:"skin-from-image",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How to Generate Skins from Images"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["The ",e.jsx("strong",{children:"skin from image"})," feature is one of the most exciting developments in 2026. Here's how it works step by step:"]}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Choose an AI skin generator that supports image upload (MineSkin AI or SkinMC Pro)"}),e.jsx("li",{children:"Upload a clear photo — front-facing images work best for character skins"}),e.jsx("li",{children:"The AI analyzes the image, identifies clothing, hair, and features"}),e.jsx("li",{children:"It maps colors to the 64×64 pixel grid used by Minecraft"}),e.jsx("li",{children:"Download the resulting PNG file and upload it to your game"})]}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Pro tip:"})," For the best skin-from-image results, use photos with high contrast and simple backgrounds. The AI struggles with busy backgrounds or low-resolution photos. Use our",e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:" RGB generator"})," to identify the exact color codes from your source image."]})]})}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"You can also create skins from anime characters, game characters, or any artwork. Just upload the reference image and the AI does the conversion. This is popular among content creators on YouTube and Twitch who want matching skins for their brand."})]}),e.jsxs("section",{id:"skin-url-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Skin URL & Link Generators"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A ",e.jsx("strong",{children:"skin URL generator"})," creates a direct web link to your skin file. This is useful for several reasons:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Server integration:"})," Many ",e.jsx("strong",{children:"Minecraft servers"})," accept skin URLs for custom NPCs and player displays"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Easy sharing:"})," Share your skin with friends via a simple link instead of sending files"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"API access:"})," Developers use skin URLs to display player skins on websites and apps"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Quick switching:"})," Bookmark multiple skin URLs to swap between looks quickly"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A ",e.jsx("strong",{children:"skin link generator"})," typically works by uploading your skin PNG to a hosting service and returning a permanent URL. Some services like Crafatar and MC-Heads also let you fetch any player's current skin by their username, which is handy for building community sites or ",e.jsx("strong",{children:"Minecraft server"})," player directories."]})]}),e.jsxs("section",{id:"pfp-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Minecraft PFP Generators"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A ",e.jsx("strong",{children:"Minecraft PFP generator"})," (profile picture generator) renders your skin as a styled avatar image. These tools are hugely popular among YouTubers, streamers, and Discord users who want a Minecraft-themed profile picture."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"What PFP Generators Can Do"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:[{title:"Head Renders",desc:"Isometric 3D head shots of your skin — the classic Minecraft avatar style used everywhere."},{title:"Full Body Poses",desc:"Your skin in action poses: holding tools, fighting, building, or custom stances."},{title:"Scene Renders",desc:"Your skin placed in a Minecraft scene with custom background, lighting, and effects."},{title:"Animated PFPs",desc:"GIF avatars with your skin rotating, waving, or performing emotes — great for Discord."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h4",{className:"font-semibold mb-1",children:n.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our ",e.jsx(p,{to:"/name-generator",className:"text-primary hover:underline",children:"name generator"})," alongside a PFP generator to create a matching username and avatar for your Minecraft identity. A consistent brand across your gamertag and profile picture makes you recognizable on servers and social media."]})]}),e.jsxs("section",{id:"tips",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Tips for Better Skin Designs"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-3 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Use shading:"})," Add darker pixels along edges and lighter ones on flat surfaces. Even simple shading makes skins look 3D."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Stick to a color palette:"})," Limit yourself to 8-12 colors. Too many colors make skins look noisy. Use our ",e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB generator"})," to pick harmonious colors."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Reference real clothing:"})," Look at actual jackets, armor, or outfits for realistic pattern ideas."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Test in-game:"})," Colors look different in Minecraft's lighting than on your monitor. Always preview in the actual game."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use layers:"})," Modern skins support a second layer for hats, jackets, and accessories. Don't forget the overlay layer!"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Check both models:"})," Preview your skin on both the slim (Alex) and classic (Steve) arm models to ensure it looks good on both."]})]})]}),e.jsxs("section",{id:"how-to-install",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How to Install Your Generated Skin"}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Java Edition"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:'Open the Minecraft Launcher and go to the "Skins" tab'}),e.jsx("li",{children:'Click "New Skin" and give it a name'}),e.jsx("li",{children:'Click "Browse" and select your downloaded PNG file'}),e.jsx("li",{children:'Choose "Classic" (wide arms) or "Slim" (thin arms)'}),e.jsx("li",{children:'Click "Save & Use" — your new skin is live!'})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Bedrock Edition"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Open Minecraft and tap your profile"}),e.jsx("li",{children:'Go to "Edit Character" and select "Owned Skins"'}),e.jsx("li",{children:'Tap "Import" and choose your skin file'}),e.jsx("li",{children:"Select the arm model and confirm"})]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Both editions support 64×64 skins with overlay layers. If your skin looks wrong, make sure the PNG dimensions are exactly 64×64 pixels. Some older generators still output 64×32 legacy skins — use a converter to upscale them."})]}),e.jsxs(S,{className:"bg-muted/30 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-3",children:"Related Minecraft Generator Guides"}),e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsxs(p,{to:"/blog/free-account-generators-scam",className:"text-primary hover:underline flex items-center gap-1",children:["Free Minecraft Account Generators: Scam or Real? ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-ai-video-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best AI Minecraft Video Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/minecraft-logo-title-maker",className:"text-primary hover:underline flex items-center gap-1",children:["Minecraft Logo & Title Maker Tools ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-map-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Map Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/how-to-make-cobblestone-generator",className:"text-primary hover:underline flex items-center gap-1",children:["How to Make a Cobblestone Generator ",e.jsx(Q,{className:"w-3 h-3"})]})})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Design Colors for Your Skin"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Use our free color tools to pick the perfect palette for your next Minecraft skin design."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/rgb-generator",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["RGB Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/name-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Name Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"best-skin-generators-2026",category:"Tools"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},A6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Free Account Generators: Scam or Real?",url:"/blog/free-account-generators-scam"}],r=[{question:"Are free Minecraft account generators real?",answer:"No. Free Minecraft account generators are scams. There is no legitimate way to generate free premium Minecraft accounts. These sites either steal your personal information, install malware, or trick you into completing fake surveys that earn the scammer money."},{question:"What happens if I use a Minecraft account generator?",answer:"Using a Minecraft account generator can result in malware infection, stolen personal data, compromised email accounts, and even identity theft. Many fake generators also require you to disable antivirus software, making you even more vulnerable."},{question:"Are Minecraft alt generators safe?",answer:"Most Minecraft alt generators sell stolen accounts. Even if you receive a working account, it was likely stolen from another player and will eventually be recovered by the original owner, leaving you with nothing. Using stolen accounts also violates Minecraft Terms of Service."},{question:"Can I get a free Minecraft redeem code?",answer:'Legitimate free redeem codes only come from official Minecraft/Mojang promotions, Microsoft Rewards, or authorized giveaways from verified content creators. Any website claiming to "generate" redeem codes is a scam.'},{question:"How can I get Minecraft for free legally?",answer:"You can play Minecraft for free through: Minecraft Classic (browser version), Xbox Game Pass subscription (includes Minecraft), free trial versions on mobile platforms, or Minecraft Education Edition through schools. The full game costs $26.95 and is worth the investment."},{question:"Is there a free Windows 10 Minecraft code generator?",answer:"No. Windows 10 Minecraft code generators are scams. The free Windows 10 Edition code promotion that came with Java Edition purchases ended in 2020. There is no way to generate these codes anymore."},{question:"How do I report a Minecraft account generator scam?",answer:'Report scam sites to: Microsoft/Mojang support, your web browser (most have a "report phishing" option), the hosting provider of the scam site, and the Federal Trade Commission (FTC) if you are in the US. Also warn others on Reddit and social media.'}],s=[{id:"truth",title:"The Truth About Account Generators"},{id:"how-scams-work",title:"How These Scams Actually Work"},{id:"alt-generators",title:"Alt Generators: Stolen Accounts"},{id:"redeem-codes",title:"Fake Redeem Code Generators"},{id:"warning-signs",title:"Warning Signs of a Scam"},{id:"legal-free",title:"How to Play Minecraft for Free (Legally)"},{id:"stay-safe",title:"How to Stay Safe Online"}];return e.jsx(se,{title:"Free Minecraft Account Generators: Scam or Real? (2026 Truth)",description:"Are free Minecraft account generators real or scams? Learn the truth about account generators, alt generators, redeem code generators, and how to stay safe from Minecraft scams in 2026.",canonicalPath:"/blog/free-account-generators-scam",keywords:"minecraft account generator, free minecraft account generator, minecraft premium account generator, minecraft alt generator, minecraft redeem code generator, minecraft windows 10 code generator, free minecraft account",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-19",dateModified:ke(),articleSection:"Minecraft Safety & Security",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Account Generators: Scam or Real?"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"destructive",children:"Warning"}),e.jsx(L,{variant:"secondary",children:"Safety"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"Free Minecraft Account Generators: Scam or Real?"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Searching for a free ",e.jsx("strong",{children:"Minecraft account generator"}),"? Stop. Every single one is a scam. Here's exactly how they trick you, what they steal, and how to actually play Minecraft for free."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 19, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 16 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Security Expert"]})]}),e.jsx(Te,{title:"Free Minecraft Account Generators: Scam or Real?"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:aw,alt:"Warning signs and security locks representing Minecraft account generator scams",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"truth",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"The Truth About Minecraft Account Generators"}),e.jsx(S,{className:"bg-destructive/10 border-destructive/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2 font-semibold",children:[e.jsx(Hr,{className:"w-5 h-5 text-destructive mt-1 shrink-0"}),e.jsx("span",{children:'Every "free Minecraft account generator" is a scam. No exceptions. There is zero legitimate technology that generates valid Minecraft accounts for free.'})]})}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Let's be clear from the start: ",e.jsx("strong",{children:"free Minecraft account generators do not work"}),`. Minecraft accounts are tied to Microsoft accounts with encrypted authentication. No website can "generate" valid account credentials. The technology simply doesn't exist.`]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["When you search for a ",e.jsx("strong",{children:"Minecraft account generator"}),`, you'll find hundreds of websites promising free accounts. They show fake counters, fake testimonials, and fake "live generation" animations. It's all theater designed to trick you.`]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Instead of chasing fake generators, use free tools that actually work — like our",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:" circle generator"}),",",e.jsx(p,{to:"/name-generator",className:"text-primary hover:underline",children:" name generator"}),", and",e.jsx(p,{to:"/seed-generator",className:"text-primary hover:underline",children:" seed generator"}),". These are genuinely free tools that enhance your Minecraft experience."]})]}),e.jsxs("section",{id:"how-scams-work",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How These Scams Actually Work"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Understanding how account generator scams operate helps you avoid them. Here are the most common tricks:"}),e.jsx("div",{className:"space-y-4 mb-4",children:[{icon:jo,title:"Survey Scams",desc:`The site asks you to "verify you're human" by completing surveys. Each survey earns the scammer $1-5 in referral fees. You complete surveys endlessly and never receive an account.`},{icon:jo,title:"Malware Downloads",desc:'The "generator" requires downloading software. This software contains keyloggers, ransomware, or cryptocurrency miners that run silently on your computer.'},{icon:jo,title:"Phishing Pages",desc:'The site asks for your "current Minecraft login" to "link your new account." You enter your real credentials, and the scammer steals your existing account.'},{icon:jo,title:"Data Harvesting",desc:'The site collects your email, name, age, and other personal info "for account creation." This data is sold to spammers and used for identity theft.'}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(n.icon,{className:"w-4 h-4 text-destructive"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{id:"alt-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Alt Generators: Stolen Accounts"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Minecraft alt generators"}),` claim to provide "alternative accounts" for free or cheap. Some of these actually deliver working accounts — but they're stolen.`]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:`Here's how alt generators really work: hackers breach databases from unrelated websites where people reuse passwords. They test those credentials against Minecraft/Microsoft login servers. Working accounts are added to the alt generator's pool. When you "generate" an alt, you receive someone else's stolen account.`}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"The real owner will recover their account, and you'll lose access"}),e.jsx("li",{children:"Using stolen accounts violates Microsoft Terms of Service"}),e.jsx("li",{children:"Your IP address gets logged on the stolen account, potentially implicating you"}),e.jsx("li",{children:"Many alt accounts are already banned on popular servers"})]})]}),e.jsxs("section",{id:"redeem-codes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Fake Redeem Code Generators"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Minecraft redeem code generators"})," and ",e.jsx("strong",{children:"Windows 10 code generators"})," are another popular scam category. These sites claim to generate valid game codes."]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Redeem codes are cryptographically generated by Microsoft. Each code is unique and verified against Microsoft's servers. No algorithm can predict or generate valid codes — that would break fundamental encryption principles."}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Remember:"})," The only legitimate free codes come from official Microsoft promotions, Xbox Game Pass perks, or verified content creator giveaways. Bookmark the official Minecraft website and Microsoft Rewards page instead."]})]})})]}),e.jsxs("section",{id:"warning-signs",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Warning Signs of a Scam"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Here's how to spot a ",e.jsx("strong",{children:"Minecraft account generator scam"})," immediately:"]}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:["Asks you to complete surveys or offers","Requires downloading software",'Shows fake "live counter" of accounts generated',"Asks for your existing Minecraft/Microsoft login","Requests you disable antivirus software","Has fake video testimonials or comments",'Uses urgency ("Only 3 accounts left today!")',"Promises premium accounts, capes, or rare items"].map(n=>e.jsxs("div",{className:"flex items-start gap-2 text-muted-foreground",children:[e.jsx(Hr,{className:"w-4 h-4 text-destructive mt-1 shrink-0"}),e.jsx("span",{className:"text-sm",children:n})]},n))})]}),e.jsxs("section",{id:"legal-free",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How to Play Minecraft for Free (Legally)"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"There are actually several legitimate ways to enjoy Minecraft without paying full price:"}),e.jsx("div",{className:"space-y-4 mb-4",children:[{icon:ht,title:"Minecraft Classic (Free)",desc:"Play the original Minecraft Classic directly in your web browser. It's limited but completely free and legal."},{icon:ht,title:"Xbox Game Pass ($1 first month)",desc:"Game Pass includes both Java and Bedrock editions. The first month is often just $1, giving you full access to Minecraft."},{icon:ht,title:"Free Mobile Trials",desc:"Both iOS and Android offer free trial periods for Minecraft. Check the App Store or Google Play for current offers."},{icon:ht,title:"Minecraft Education Edition",desc:"Students can access Minecraft Education Edition free through their school's Microsoft 365 subscription."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(n.icon,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{id:"stay-safe",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How to Stay Safe Online"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-3 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Never enter your password on unofficial sites."})," Minecraft login only happens on microsoft.com and minecraft.net."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Enable two-factor authentication"})," on your Microsoft account to prevent unauthorized access."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use unique passwords."})," Don't reuse your Minecraft password on other sites."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Keep your antivirus active."})," Any site that asks you to disable protection is malicious."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use legitimate free tools."})," Sites like ours offer genuinely free ",e.jsx(p,{to:"/tools",className:"text-primary hover:underline",children:"Minecraft tools"})," — circle generators, name generators, seed finders — without any scams."]})]})]}),e.jsxs(S,{className:"bg-muted/30 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-3",children:"More Minecraft Generator Guides"}),e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-skin-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Skin Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-ai-video-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best AI Minecraft Video Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/minecraft-logo-title-maker",className:"text-primary hover:underline flex items-center gap-1",children:["Minecraft Logo & Title Maker Tools ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-map-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Map Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/how-to-make-cobblestone-generator",className:"text-primary hover:underline flex items-center gap-1",children:["How to Make a Cobblestone Generator ",e.jsx(Q,{className:"w-3 h-3"})]})})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Use Real Free Minecraft Tools"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Skip the scams. Our tools are genuinely free, safe, and actually useful for your Minecraft builds."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/seed-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Seed Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"free-account-generators-scam",category:"Safety"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},R6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Best AI Minecraft Video Generators 2026",url:"/blog/best-ai-video-generators-2026"}],r=[{question:"What is an AI Minecraft video generator?",answer:'An AI Minecraft video generator uses artificial intelligence to create Minecraft-style videos from text prompts. You describe a scene — like "Steve running through a jungle temple" — and the AI generates a short video clip with Minecraft graphics, animations, and effects.'},{question:"Are AI Minecraft video generators free?",answer:"Several AI video generators offer free tiers with limited generation. Most give you 1-3 free videos per day at lower resolution. Paid plans ($10-30/month) offer higher resolution, longer videos, and faster generation times."},{question:"Can I make Minecraft parkour videos with AI?",answer:"Yes! AI parkour video generators create dynamic parkour course videos with running, jumping, and obstacle navigation in Minecraft worlds. Some tools let you describe the parkour route, and the AI generates a cinematic video of the run."},{question:"What is the best free AI Minecraft video generator?",answer:"For free AI video generation, tools like Pika, RunwayML (free tier), and specific Minecraft video generators on Discord offer the best quality without cost. Results vary, but free tiers are great for experimenting."},{question:"Can I use AI-generated Minecraft videos on YouTube?",answer:"Yes, you own the content generated by AI tools in most cases. Check each tool's terms of service, but major generators like RunwayML and Pika grant you commercial rights to your generated videos. Always disclose AI use in your video description."},{question:"How long are AI-generated Minecraft videos?",answer:"Most AI generators create clips of 3-10 seconds. Longer videos are made by stitching multiple clips together in a video editor. Some premium tools can generate up to 30-second continuous clips."},{question:"Do I need a powerful computer for AI video generation?",answer:"No. Most AI video generators run in the cloud through your web browser. Your computer just needs to handle web browsing. The heavy AI processing happens on the tool's servers, so even a basic laptop works."}],s=[{id:"what-are-they",title:"What Are AI Minecraft Video Generators?"},{id:"best-generators",title:"Best AI Video Generators for Minecraft"},{id:"parkour-generators",title:"Minecraft Parkour Video Generators"},{id:"free-options",title:"Best Free Options"},{id:"how-to-use",title:"How to Create Your First AI Video"},{id:"tips",title:"Tips for Better AI Videos"},{id:"youtube",title:"Using AI Videos for YouTube Content"}];return e.jsx(se,{title:"Best AI Minecraft Video Generators 2026 - Free Parkour & Cinematic Tools",description:"Discover the best AI Minecraft video generators for 2026. Create parkour videos, cinematic scenes, and Minecraft content with free AI video generators. Complete guide with top tools.",canonicalPath:"/blog/best-ai-video-generators-2026",keywords:"ai minecraft video generator, minecraft video generator, minecraft parkour video generator, ai video generator minecraft free, minecraft ai video, minecraft content creator tools",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-19",dateModified:ke(),articleSection:"Minecraft Content Creation",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"AI Video Generators 2026"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"AI"}),e.jsx(L,{variant:"secondary",children:"Video"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"Best AI Minecraft Video Generators in 2026"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Create stunning ",e.jsx("strong",{children:"Minecraft videos"})," with AI — from ",e.jsx("strong",{children:"parkour runs"})," to",e.jsx("strong",{children:" cinematic builds"}),". No recording, no editing, no expensive software needed."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 19, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 17 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Content Creator"]})]}),e.jsx(Te,{title:"Best AI Minecraft Video Generators 2026"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:ow,alt:"AI-generated cinematic Minecraft parkour scene with dramatic lighting",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"what-are-they",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"What Are AI Minecraft Video Generators?"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["An ",e.jsx("strong",{children:"AI Minecraft video generator"})," is a tool that creates Minecraft-style video content using artificial intelligence. You type a text prompt describing what you want — a scene, an action, a build — and the AI generates a short video clip."]}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"These tools have exploded in popularity among Minecraft content creators. Instead of spending hours recording gameplay, setting up camera angles, and editing footage, creators can generate professional-looking clips in minutes."}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"The technology works by training AI models on millions of Minecraft screenshots and videos. The model learns how Minecraft worlds look, how characters move, and how blocks are arranged. When you give it a prompt, it generates new frames that look like authentic Minecraft footage."}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Combine AI video clips with our ",e.jsx(p,{to:"/text-generator",className:"text-primary hover:underline",children:"text generator"})," for custom Minecraft-style titles and our ",e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB generator"})," for matching color themes in your video projects."]})]}),e.jsxs("section",{id:"best-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Best AI Video Generators for Minecraft"}),[{name:"Oasis AI (Decart)",rating:"4.9/5",desc:"Purpose-built for Minecraft. Generates interactive Minecraft world videos where you can control the camera in real-time. The closest thing to playing AI-generated Minecraft. Best for cinematic exploration shots.",free:!0,best:"Best Overall"},{name:"RunwayML Gen-3",rating:"4.8/5",desc:"General-purpose AI video generator that excels at Minecraft content when prompted correctly. Produces the highest quality output with realistic lighting and smooth motion. Free tier available with watermark.",free:!0,best:"Best Quality"},{name:"Pika Labs",rating:"4.7/5",desc:"Easy-to-use AI video generator with great Minecraft results. Accessible through Discord or web app. Free tier gives you several generations per day. Great for quick parkour clips.",free:!0,best:"Easiest to Use"},{name:"Kling AI",rating:"4.6/5",desc:"Creates longer Minecraft video clips (up to 10 seconds) with consistent style. Good at maintaining world consistency across frames. Works well for building timelapse-style content.",free:!0,best:"Longest Clips"}].map(n=>e.jsxs(S,{className:"mb-4 p-4",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2 flex-wrap gap-2",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-lg",children:n.name}),e.jsx(L,{variant:"outline",className:"text-xs",children:n.best})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(L,{variant:n.free?"default":"secondary",children:n.free?"Free Tier":"Paid"}),e.jsxs("span",{className:"flex items-center gap-1 text-sm",children:[e.jsx(St,{className:"w-4 h-4 text-yellow-500"})," ",n.rating]})]})]}),e.jsx("p",{className:"text-muted-foreground",children:n.desc})]},n.name))]}),e.jsxs("section",{id:"parkour-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Minecraft Parkour Video Generators"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Minecraft parkour video generators"})," are the hottest trend on YouTube Shorts and TikTok. These AI tools create dynamic parkour runs through elaborate Minecraft obstacle courses with dramatic camera angles and smooth motion."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Best Prompts for Parkour Videos"}),e.jsx("div",{className:"space-y-3 mb-4",children:["First-person Minecraft parkour through a nether fortress with lava below, dramatic jumps between platforms","Cinematic parkour run through a colorful Minecraft city at sunset, wall jumps and ladder climbs","Speed run parkour through a Minecraft ice palace, blue ice jumps with particle effects","Obstacle course parkour in a Minecraft jungle temple with traps and hidden paths"].map((n,i)=>e.jsx(S,{className:"p-3 bg-muted/30",children:e.jsxs("p",{className:"text-sm text-muted-foreground italic",children:['"',n,'"']})},i))}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Pro tip:"}),' For better parkour videos, mention specific camera movements like "first person," "tracking shot," or "drone view." The AI understands cinematography terms and will adjust the camera accordingly.']})]})})]}),e.jsxs("section",{id:"free-options",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Best Free AI Video Generators"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Not everyone wants to pay for AI video generation. Here are the best ",e.jsx("strong",{children:"free AI Minecraft video generators"})," available in 2026:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-3 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Pika (Free Tier):"})," 10 free generations per day, 3-second clips, no watermark"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"RunwayML (Free Tier):"})," 125 credits to start, produces high-quality 4-second clips with watermark"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Kling AI (Free):"})," 66 free credits daily, generates up to 5-second clips"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Discord AI Bots:"})," Several Discord servers run free Minecraft video generation bots with community queues"]})]})]}),e.jsxs("section",{id:"how-to-use",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How to Create Your First AI Minecraft Video"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-3 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Choose your tool:"})," Start with Pika or RunwayML for the best free experience"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Write a detailed prompt:"})," Describe the scene, camera angle, lighting, and action"]}),e.jsxs("li",{children:[e.jsx("strong",{children:'Include "Minecraft" in your prompt:'}),' Always mention "Minecraft style" or "in Minecraft" for accurate results']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Set video parameters:"})," Choose resolution, aspect ratio (16:9 for YouTube, 9:16 for Shorts)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Generate and review:"})," Your first generation takes 1-3 minutes. Review and regenerate if needed"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Download and edit:"})," Download the clip and add music, text, or combine with other clips in your editor"]})]})]}),e.jsxs("section",{id:"tips",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Tips for Better AI Minecraft Videos"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:[{title:"Be Specific",desc:'Instead of "Minecraft video," say "Cinematic fly-over of a medieval Minecraft castle at sunset with ray tracing lighting."'},{title:"Mention Lighting",desc:'Specify "sunset," "night with torches," or "bright daylight" for dramatic atmosphere differences.'},{title:"Describe Camera Movement",desc:'Use terms like "slow pan," "tracking shot," "aerial drone view," or "first-person perspective."'},{title:"Reference Biomes",desc:"Mention specific Minecraft biomes (jungle, mesa, ice spikes) for authentic-looking terrain."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(E2,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{id:"youtube",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Using AI Videos for YouTube Content"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"AI-generated Minecraft videos are perfect for YouTube Shorts and TikTok. Here's how content creators are using them:"}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Parkour compilation shorts:"})," String 3-5 AI parkour clips together with music"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Build showcases:"})," Generate cinematic fly-overs of builds described in prompts"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Tutorials:"})," Use AI clips as B-roll footage between tutorial segments"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Storytelling:"})," Create narrative Minecraft videos with AI-generated scenes"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our ",e.jsx(p,{to:"/name-generator",className:"text-primary hover:underline",children:"name generator"})," to create a catchy channel name, and our ",e.jsx(p,{to:"/blog/minecraft-logo-title-maker",className:"text-primary hover:underline",children:"logo maker guide"})," to design matching channel art."]})]}),e.jsxs(S,{className:"bg-muted/30 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-3",children:"Related Minecraft Generator Guides"}),e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-skin-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Skin Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/free-account-generators-scam",className:"text-primary hover:underline flex items-center gap-1",children:["Free Account Generators: Scam or Real? ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/minecraft-logo-title-maker",className:"text-primary hover:underline flex items-center gap-1",children:["Minecraft Logo & Title Maker Tools ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-map-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Map Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/how-to-make-cobblestone-generator",className:"text-primary hover:underline flex items-center gap-1",children:["How to Make a Cobblestone Generator ",e.jsx(Q,{className:"w-3 h-3"})]})})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Create Minecraft Content"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Use our free tools to plan builds and create content for your Minecraft channel."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/text-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Text Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"best-ai-video-generators-2026",category:"Tools"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},D6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Minecraft Logo & Title Maker Tools",url:"/blog/minecraft-logo-title-maker"}],r=[{question:"How do I make a Minecraft logo for free?",answer:"Use free online logo generators like Textcraft, which creates text in the official Minecraft font. You type your text, choose colors and effects, and download a PNG image. Our text generator also creates pixel-style text you can use as a logo base."},{question:"What font does Minecraft use for its logo?",answer:'The official Minecraft logo uses a custom font called "Minecraft" or "Minecrafter." For in-game text, Minecraft uses a bitmap pixel font. Free alternatives include Minecrafter, Minecraft Evenings, and Press Start 2P for similar styles.'},{question:"Can I make a Minecraft title screen for my server?",answer:"Yes! Use a Minecraft title generator to create custom title screens. Combine it with resource pack editing to replace the default Minecraft title screen on your server. Most generators export as PNG which you can add to a resource pack."},{question:"What is a Minecraft title generator?",answer:"A Minecraft title generator creates text images that look like official Minecraft titles. These tools use the Minecraft font, add 3D effects, shadows, and color gradients to make professional-looking headers for videos, servers, and websites."},{question:"How do I make a YouTube thumbnail with Minecraft text?",answer:"Use a title generator to create the Minecraft-style text, then combine it with a screenshot or AI-generated image in a photo editor. For best results, use bold colors that contrast with your background. Our RGB generator can help pick contrasting colors."},{question:"Can I use generated Minecraft logos commercially?",answer:"You can use Minecraft-style fonts and generated logos for personal projects, YouTube videos, and fan content. However, using the official Minecraft trademark or logo for commercial products requires permission from Mojang/Microsoft."},{question:"What size should a Minecraft server logo be?",answer:"Most Minecraft server lists require logos at 64x64 pixels for the server icon. For server websites and banners, use 468x60 or 728x90 pixels. Discord server icons should be 512x512 or larger for best quality."}],s=[{id:"what-are-they",title:"What Are Minecraft Logo & Title Makers?"},{id:"best-logo-generators",title:"Best Minecraft Logo Generators"},{id:"title-generators",title:"Minecraft Title Generators"},{id:"how-to-create",title:"How to Create a Minecraft Logo"},{id:"server-logos",title:"Making Server Logos & Banners"},{id:"youtube-titles",title:"YouTube Thumbnail Titles"},{id:"tips",title:"Design Tips for Minecraft Branding"}];return e.jsx(se,{title:"Minecraft Logo & Title Maker Tools 2026 - Free Generator Guide",description:"Create custom Minecraft logos and titles with free online generators. Make server logos, YouTube thumbnails, and Minecraft-style text. Complete guide to the best logo and title maker tools.",canonicalPath:"/blog/minecraft-logo-title-maker",keywords:"minecraft logo generator, minecraft title generator, minecraft logo maker, minecraft text generator, minecraft font generator, minecraft server logo, minecraft youtube thumbnail",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-19",dateModified:ke(),articleSection:"Minecraft Design Tools",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Logo & Title Maker Tools"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Design"}),e.jsx(L,{variant:"secondary",children:"Tools"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"Minecraft Logo & Title Maker Tools: Complete Guide"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Create professional ",e.jsx("strong",{children:"Minecraft logos"}),", custom ",e.jsx("strong",{children:"title screens"}),", and pixel-perfect ",e.jsx("strong",{children:"text designs"})," for your server, YouTube channel, or brand — all for free."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 19, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 15 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Design Expert"]})]}),e.jsx(Te,{title:"Minecraft Logo & Title Maker Tools"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:lw,alt:"Minecraft-style logo and title text designs in green blocky font",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"what-are-they",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"What Are Minecraft Logo & Title Makers?"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Minecraft logo generators"})," and ",e.jsx("strong",{children:"title makers"})," are online tools that create text and graphics in the iconic Minecraft style. They use the blocky, pixelated font made famous by the game to produce images you can use for servers, videos, websites, and social media."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["These tools are essential for anyone running a ",e.jsx("strong",{children:"Minecraft server"}),", creating YouTube content, or building a Minecraft-themed website. A professional-looking logo helps your server or channel stand out and builds brand recognition among players."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["You can also use our built-in ",e.jsx(p,{to:"/text-generator",className:"text-primary hover:underline",children:"text generator"})," to create pixel text directly in your browser. It generates block-by-block letter patterns you can build in Minecraft or export as images."]})]}),e.jsxs("section",{id:"best-logo-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Best Minecraft Logo Generators"}),[{name:"Textcraft",rating:"4.9/5",desc:"The gold standard for Minecraft text. Creates 3D Minecraft-style text with customizable colors, shadows, and effects. Exports as PNG. Completely free with no sign-up required.",free:!0},{name:"Cooltext",rating:"4.5/5",desc:"General-purpose logo generator with several Minecraft-inspired styles. More design options including animated GIF logos. Good for server banners and forum signatures.",free:!0},{name:"FontMeme Minecraft Generator",rating:"4.6/5",desc:"Simple and fast Minecraft font generator. Type your text, adjust size and colors, download instantly. Great for quick YouTube thumbnail text.",free:!0},{name:"Canva (Minecraft Templates)",rating:"4.7/5",desc:"Professional design tool with Minecraft-themed templates for logos, banners, and thumbnails. Free tier available. Best for complex designs combining text and images.",free:!0}].map(n=>e.jsxs(S,{className:"mb-4 p-4",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2",children:[e.jsx("h3",{className:"font-semibold text-lg",children:n.name}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(L,{variant:"default",children:"Free"}),e.jsxs("span",{className:"flex items-center gap-1 text-sm",children:[e.jsx(St,{className:"w-4 h-4 text-yellow-500"})," ",n.rating]})]})]}),e.jsx("p",{className:"text-muted-foreground",children:n.desc})]},n.name))]}),e.jsxs("section",{id:"title-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Minecraft Title Generators"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A ",e.jsx("strong",{children:"Minecraft title generator"})," creates text that looks like the official Minecraft game title. These are perfect for:"]}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Custom server title screens via resource packs"}),e.jsx("li",{children:"YouTube video intros and outros"}),e.jsx("li",{children:"Stream overlays for Twitch and YouTube Live"}),e.jsx("li",{children:"Social media headers and banners"}),e.jsx("li",{children:"Fan art and creative projects"})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Combine title generators with our ",e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB color generator"})," to create gradient text effects that match your server's theme. You can pick exact color codes for your title and apply them in tools like Textcraft or directly in Minecraft chat using formatting codes."]})]}),e.jsxs("section",{id:"how-to-create",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How to Create a Minecraft Logo"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-3 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Choose your text:"})," Keep it short — server names, channel names, or game modes work best (2-3 words max)"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pick a generator:"})," Textcraft for classic Minecraft style, Canva for custom designs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Select colors:"})," Use our ",e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB generator"})," to find your color palette"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Add effects:"})," 3D depth, shadows, and outlines make logos pop. Most generators offer these options"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Export at high resolution:"})," Download as PNG with transparent background for maximum flexibility"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Test at small sizes:"})," Make sure your logo is readable at 64×64 pixels (server icon size)"]})]})]}),e.jsxs("section",{id:"server-logos",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Making Server Logos & Banners"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Every ",e.jsx("strong",{children:"Minecraft server"})," needs a professional logo. Here are the required sizes:"]}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:[{title:"Server Icon",desc:"64×64 pixels. This appears in the Minecraft server list. Must be PNG format. Keep it simple — just your initials or a symbol."},{title:"Website Banner",desc:"1200×300 pixels or similar wide format. Used on your server website header. Include server name and IP address."},{title:"Server List Banner",desc:"468×60 pixels. Standard size for Minecraft server listing sites. Include your server name and play mode."},{title:"Discord Icon",desc:"512×512 pixels or larger. Used for your Discord server. Can be more detailed than the 64×64 game icon."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(Dh,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{id:"youtube-titles",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"YouTube Thumbnail Titles"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Minecraft YouTube thumbnails with bold, Minecraft-style text get more clicks. Here's how to make effective thumbnail titles:"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Use 3-5 words maximum — thumbnails are small, text must be readable"}),e.jsx("li",{children:"Choose high-contrast colors — white or yellow text on dark backgrounds works best"}),e.jsx("li",{children:"Add a thick outline/stroke to make text pop against any background"}),e.jsxs("li",{children:["Use our ",e.jsx(p,{to:"/text-generator",className:"text-primary hover:underline",children:"text generator"})," for authentic pixel text styles"]}),e.jsx("li",{children:"Combine with a Minecraft screenshot or AI-generated image as the background"})]})]}),e.jsxs("section",{id:"tips",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Design Tips for Minecraft Branding"}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Consistency is key:"})," Use the same colors, font, and style across your server icon, website, Discord, and YouTube channel. This builds brand recognition and makes your project look professional."]})]})}),e.jsxs("ul",{className:"list-disc list-inside space-y-3 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Pick 2-3 brand colors:"})," Use our ",e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB generator"})," to choose a harmonious palette"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Keep logos simple:"})," Complex logos don't scale down well to 64×64 pixel icons"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use transparent backgrounds:"})," Export PNG with transparency for flexible placement"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Test on dark and light backgrounds:"})," Your logo should work on both"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Match your name:"})," Use our ",e.jsx(p,{to:"/name-generator",className:"text-primary hover:underline",children:"name generator"})," to find a server name, then design a matching logo"]})]})]}),e.jsxs(S,{className:"bg-muted/30 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-3",children:"Related Minecraft Generator Guides"}),e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-skin-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Skin Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/free-account-generators-scam",className:"text-primary hover:underline flex items-center gap-1",children:["Free Account Generators: Scam or Real? ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-ai-video-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best AI Minecraft Video Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-map-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Map Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/how-to-make-cobblestone-generator",className:"text-primary hover:underline flex items-center gap-1",children:["How to Make a Cobblestone Generator ",e.jsx(Q,{className:"w-3 h-3"})]})})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Create Minecraft Text & Colors"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Use our free tools to generate pixel text and pick perfect colors for your Minecraft branding."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/text-generator",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Text Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/rgb-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["RGB Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"minecraft-logo-title-maker",category:"Design"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},I6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"How to Make a Cobblestone Generator",url:"/blog/how-to-make-cobblestone-generator"}],r=[{question:"How do you make a cobblestone generator in Minecraft?",answer:"Dig a 1x4 trench, place water at one end and lava at the other. The water and lava meet in the middle to create cobblestone. Mine the cobblestone, and a new block forms instantly. This gives you unlimited cobblestone without mining underground."},{question:"Why is my cobblestone generator making obsidian instead?",answer:"Obsidian forms when water flows on top of a lava source block. To prevent this, make sure the lava is at the same level as or above the water flow. The water should flow toward the lava, not on top of it. Redesign your trench so water and lava meet at the same height."},{question:"Can you make an automatic cobblestone generator?",answer:"Yes! Use pistons and redstone to automatically push cobblestone into a collection area. Advanced designs use TNT dupers to blow up the cobblestone and hoppers to collect it. AFK cobblestone farms can produce thousands of blocks per hour."},{question:"What is the fastest cobblestone generator design?",answer:"The fastest designs use TNT dupers with blast chambers. These can produce over 10,000 cobblestone per hour. For simpler builds, a piston-based design with a redstone clock pushes cobblestone into a row for quick mining at about 1,000 blocks per hour."},{question:"Does a cobblestone generator work in Bedrock Edition?",answer:"Yes, cobblestone generators work in both Java and Bedrock Edition. The basic water-meets-lava mechanic is the same. However, some advanced redstone designs differ between editions, so check your edition before building complex automatic farms."},{question:"How do I make a cobblestone generator on a skyblock island?",answer:"In skyblock, you start with limited lava and water. Place the lava source carefully — you only get one bucket! Dig a trench with the lava at one end and water at the other. Make sure the water flows toward the lava, not over it. A common mistake is losing your only lava source to obsidian."},{question:"Can I make a stone generator instead of cobblestone?",answer:"Yes! If lava flows on top of water (instead of water flowing into lava), you get smooth stone instead of cobblestone. Stone generators are more useful because you skip the smelting step. The design is slightly different from a cobblestone generator."}],s=[{id:"what-is-it",title:"What Is a Cobblestone Generator?"},{id:"basic-design",title:"Basic Cobblestone Generator (Step by Step)"},{id:"common-mistakes",title:"Common Mistakes to Avoid"},{id:"automatic",title:"Automatic Cobblestone Generator"},{id:"skyblock",title:"Skyblock Cobblestone Generator"},{id:"stone-generator",title:"Stone Generator Variant"},{id:"advanced",title:"Advanced Designs & AFK Farms"}],n=[{name:"Dig the Trench",text:"Dig a 1-block wide, 1-block deep trench that is 4 blocks long."},{name:"Create Water Channel",text:"At one end of the trench, dig an extra block. Place water in this end block. The water flows toward the middle."},{name:"Add Lava",text:"At the opposite end, place your lava bucket. The lava flows toward the water."},{name:"Mine Cobblestone",text:"Where water and lava meet, cobblestone forms. Mine it and a new block appears instantly. Repeat forever!"}];return e.jsx(se,{title:"How to Make a Cobblestone Generator in Minecraft (2026 Guide)",description:"Learn how to make a cobblestone generator in Minecraft step by step. Covers basic, automatic, and skyblock designs. Includes AFK farms, stone generators, and troubleshooting tips.",canonicalPath:"/blog/how-to-make-cobblestone-generator",keywords:"how to make cobblestone generator minecraft, cobblestone generator, minecraft cobblestone generator, automatic cobblestone generator, skyblock cobblestone generator, cobblestone farm minecraft",type:"article",breadcrumbs:t,faqs:r,howToSteps:n,howToName:"How to Make a Cobblestone Generator in Minecraft",howToDescription:"Step-by-step guide to building a cobblestone generator using water and lava in Minecraft",datePublished:"2026-02-19",dateModified:ke(),articleSection:"Minecraft Tutorials",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Cobblestone Generator Guide"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Tutorial"}),e.jsx(L,{variant:"secondary",children:"Survival"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"How to Make a Cobblestone Generator in Minecraft"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Build an unlimited ",e.jsx("strong",{children:"cobblestone generator"})," in minutes. This guide covers basic, automatic, and skyblock designs — plus how to avoid the obsidian mistake everyone makes."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 19, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 14 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Survival Expert"]})]}),e.jsx(Te,{title:"How to Make a Cobblestone Generator in Minecraft"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:cw,alt:"Minecraft cobblestone generator with lava and water flowing to create cobblestone blocks",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((i,a)=>e.jsx("li",{children:e.jsxs("a",{href:`#${i.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[a+1,"."]})," ",i.title]})},i.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"what-is-it",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"What Is a Cobblestone Generator?"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["A ",e.jsx("strong",{children:"cobblestone generator"})," is a simple Minecraft machine that produces unlimited cobblestone blocks. It works by making water and lava flow together — when they meet, the lava turns into cobblestone. You mine the cobblestone, and a new block forms instantly."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Cobblestone generators are essential in ",e.jsx("strong",{children:"skyblock"}),", where resources are limited, but they're useful in any survival world. Cobblestone is one of the most important building materials, used for walls, paths, furnaces, stone tools, and brewing stands."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Once you have unlimited cobblestone, you can use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," to plan circular walls and structures, or our ",e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"sphere generator"})," for dome designs — all built with free cobblestone from your generator."]})]}),e.jsxs("section",{id:"basic-design",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Basic Cobblestone Generator (Step by Step)"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["This is the simplest design that works in both ",e.jsx("strong",{children:"Java Edition"})," and ",e.jsx("strong",{children:"Bedrock Edition"}),". You only need one water bucket and one lava bucket."]}),e.jsx("div",{className:"space-y-4 mb-4",children:n.map((i,a)=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx("span",{className:"bg-primary text-primary-foreground rounded-full w-6 h-6 flex items-center justify-center text-sm",children:a+1}),i.name]}),e.jsx("p",{className:"text-muted-foreground ml-8",children:i.text})]},i.name))}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Important:"})," The trench must be exactly the right length so water and lava meet in the middle. If the trench is too short, you get obsidian. If it's too long, they won't meet at all. A 4-block trench is the standard size."]})]})})]}),e.jsxs("section",{id:"common-mistakes",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Common Mistakes to Avoid"}),e.jsx("div",{className:"space-y-3 mb-4",children:[{mistake:"Getting obsidian instead of cobblestone",fix:"Water is flowing ON TOP of lava. Redesign so they meet at the same level, flowing toward each other."},{mistake:"Lava source disappearing",fix:"You accidentally let water flow into the lava source block. Always place lava last, and make sure the water doesn't reach the lava source."},{mistake:"Water flooding everywhere",fix:"Your trench isn't contained. Build walls around the water channel to control the flow direction."},{mistake:"Can't mine cobblestone fast enough",fix:"Use an iron or diamond pickaxe for faster mining. Or upgrade to an automatic piston-based design."}].map(i=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-1 text-destructive",children:i.mistake}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[e.jsx("strong",{children:"Fix:"})," ",i.fix]})]},i.mistake))})]}),e.jsxs("section",{id:"automatic",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Automatic Cobblestone Generator"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["An ",e.jsx("strong",{children:"automatic cobblestone generator"})," uses pistons and redstone to push cobblestone out of the way as it forms. This lets you mine continuously without repositioning."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Piston-Based Design"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Build the basic cobblestone generator first"}),e.jsx("li",{children:"Place a piston facing the cobblestone formation point"}),e.jsxs("li",{children:["Connect a ",e.jsx("strong",{children:"redstone clock"})," (repeater loop) to the piston"]}),e.jsx("li",{children:"The piston pushes cobblestone forward each time a new block forms"}),e.jsx("li",{children:"Mine the pushed row of cobblestone at the end"})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["For more redstone ideas, check our ",e.jsx(p,{to:"/blog/redstone-circular-builds",className:"text-primary hover:underline",children:"redstone circular builds guide"})," which covers redstone clocks and piston mechanics in detail."]})]}),e.jsxs("section",{id:"skyblock",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Skyblock Cobblestone Generator"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["In ",e.jsx("strong",{children:"skyblock"}),", your cobblestone generator is your lifeline. You start with limited lava and water, so building it correctly the first time is critical."]}),e.jsx("div",{className:"space-y-2 mb-4",children:["Never place lava directly next to water — always leave a gap","Build the trench FIRST, then add water, then lava (in that order)","Make walls around the lava to prevent accidental obsidian","Consider building the generator over the void so dropped items don't despawn on blocks","Upgrade to a double or triple generator once you have more resources"].map((i,a)=>e.jsxs("div",{className:"flex items-start gap-2 text-muted-foreground",children:[e.jsx(ht,{className:"w-4 h-4 text-primary mt-1 shrink-0"}),e.jsx("span",{children:i})]},a))})]}),e.jsxs("section",{id:"stone-generator",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Stone Generator Variant"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Want smooth stone instead of cobblestone? A ",e.jsx("strong",{children:"stone generator"})," works differently: lava must flow on top of still water. This creates smooth stone directly, saving you the coal and time needed to smelt cobblestone into stone."]}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Dig a 1-block deep hole and fill it with water (source block, not flowing)"}),e.jsx("li",{children:"Place a block above the water with a 1-block gap"}),e.jsx("li",{children:"Place lava on top so it flows down onto the water surface"}),e.jsx("li",{children:"The lava touching the water creates smooth stone"}),e.jsx("li",{children:"Mine the stone with a silk touch pickaxe for smooth stone blocks"})]})]}),e.jsxs("section",{id:"advanced",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Advanced Designs & AFK Farms"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"For serious builders who need massive amounts of cobblestone:"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:[{title:"TNT Duper Farm",desc:"Uses TNT duplication glitch to blast cobblestone. Hoppers collect the drops. Produces 10,000+ blocks per hour. Works in Java Edition."},{title:"Wither Farm",desc:"The Wither boss destroys cobblestone as it forms. Combined with hoppers, this creates an industrial-scale farm. Advanced build requiring game knowledge."},{title:"Multi-Layer Generator",desc:"Stack multiple cobblestone generators vertically. Mine all layers at once for 3-5x faster production. Simple to build, very effective."},{title:"Piston Conveyor",desc:"Pistons push cobblestone along a conveyor belt into a collection area. Semi-automatic — you just hold down the mine button."}].map(i=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-1",children:i.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:i.desc})]},i.title))}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["All that cobblestone is perfect for building massive structures. Plan your build with our",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:" circle generator"})," for round walls or our",e.jsx(p,{to:"/blog/survival-base-designs-2026",className:"text-primary hover:underline",children:" survival base guide"})," for complete base layouts."]})]}),e.jsxs(S,{className:"bg-muted/30 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-3",children:"Related Minecraft Generator Guides"}),e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-skin-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Skin Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/free-account-generators-scam",className:"text-primary hover:underline flex items-center gap-1",children:["Free Account Generators: Scam or Real? ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-ai-video-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best AI Minecraft Video Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/minecraft-logo-title-maker",className:"text-primary hover:underline flex items-center gap-1",children:["Minecraft Logo & Title Maker Tools ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-map-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Map Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(i=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:i.question}),e.jsx("p",{className:"text-muted-foreground",children:i.answer})]},i.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Plan Your Cobblestone Builds"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Got unlimited cobblestone? Plan amazing structures with our free building tools."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/sphere-generator",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Sphere Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"how-to-make-cobblestone-generator",category:"Tutorial"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},F6=()=>{const t=[{name:"Home",url:"/"},{name:"Blog",url:"/blog"},{name:"Best Minecraft Map Generators 2026",url:"/blog/best-map-generators-2026"}],r=[{question:"What is a Minecraft map generator?",answer:"A Minecraft map generator is a tool that creates custom Minecraft worlds with specific terrain, structures, and biomes. Unlike random world generation, map generators let you control exactly what your world looks like — from mountain heights to ocean depths."},{question:"What is the best Minecraft map generator?",answer:"WorldPainter is the best overall map generator for custom terrain. For dungeon-style maps, use MCDungeon. For viewing existing world maps, Amidst and Chunkbase are excellent. The best choice depends on whether you want to create or explore maps."},{question:"Can I use map generators with Bedrock Edition?",answer:"Some map generators work with Bedrock Edition, but most are designed for Java Edition. Tools like Chunkbase support both editions for seed viewing. For custom map creation, WorldPainter exports Java worlds that can be converted to Bedrock using tools like Chunker."},{question:"How do I install a generated map in Minecraft?",answer:"For Java Edition: download the map folder, place it in your .minecraft/saves directory, and it appears in your single player world list. For Bedrock: import the .mcworld file by double-clicking it, and Minecraft opens with the map installed."},{question:"Are Minecraft map generators free?",answer:"Most popular map generators are free and open-source. WorldPainter, Amidst, and Chunkbase are all free. Some advanced tools like WorldMachine have paid versions with extra features, but the free versions are sufficient for most users."},{question:"Can I generate maps from real-world locations?",answer:'Yes! Tools like "Earth" Minecraft servers and specific plugins can convert real-world terrain data into Minecraft worlds. Google Earth elevation data gets translated into Minecraft blocks, creating playable versions of real locations.'},{question:"What is the difference between a seed viewer and a map generator?",answer:"A seed viewer shows you what a world looks like from a given seed number without opening Minecraft. A map generator creates entirely new worlds with custom terrain. Use our seed generator to find interesting seeds, then preview them in a seed viewer."}],s=[{id:"what-are-they",title:"What Are Minecraft Map Generators?"},{id:"best-generators",title:"Best Map Generators 2026"},{id:"seed-viewers",title:"Seed Viewers & World Previews"},{id:"custom-terrain",title:"Custom Terrain Generators"},{id:"adventure-maps",title:"Adventure Map Generators"},{id:"how-to-install",title:"How to Install Generated Maps"},{id:"tips",title:"Tips for Better Custom Maps"}];return e.jsx(se,{title:"Best Minecraft Map Generators 2026 - Custom World & Terrain Tools",description:"Discover the best Minecraft map generators for 2026. Create custom worlds, view seeds, generate terrain, and build adventure maps. Complete guide to map generation tools.",canonicalPath:"/blog/best-map-generators-2026",keywords:"minecraft map generator, minecraft world generator, minecraft terrain generator, minecraft seed viewer, custom minecraft map, minecraft map maker, minecraft world creator",type:"article",breadcrumbs:t,faqs:r,datePublished:"2026-02-19",dateModified:ke(),articleSection:"Minecraft Tools & Resources",children:e.jsxs("article",{className:"container mx-auto px-4 py-12 max-w-4xl",children:[e.jsx(oe,{items:[{name:"Blog",url:"/blog"}],currentPage:"Best Map Generators 2026"}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(L,{variant:"default",children:"Tools"}),e.jsx(L,{variant:"secondary",children:"Maps"}),e.jsx(L,{variant:"outline",children:"2026"})]}),e.jsx("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-heading font-bold mb-4 leading-tight",children:"Best Minecraft Map Generators in 2026"}),e.jsxs("p",{className:"text-xl text-muted-foreground mb-6",children:["Create custom ",e.jsx("strong",{children:"Minecraft worlds"})," with the best ",e.jsx("strong",{children:"map generators"}),". Build terrain from scratch, view seeds before loading, and design adventure maps — all with free tools."]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm text-muted-foreground mb-6",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ye,{className:"w-4 h-4"})," February 19, 2026"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(Oe,{className:"w-4 h-4"})," Updated: ",ze()]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ve,{className:"w-4 h-4"})," 16 min read"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(ot,{className:"w-4 h-4"})," Map Expert"]})]}),e.jsx(Te,{title:"Best Minecraft Map Generators 2026"})]}),e.jsx("div",{className:"mb-10 rounded-xl overflow-hidden",children:e.jsx("img",{src:dw,alt:"Aerial view of a generated Minecraft world showing diverse biomes and terrain",className:"w-full h-auto",loading:"lazy"})}),e.jsx(S,{className:"mb-10",children:e.jsxs(G,{className:"p-6",children:[e.jsxs("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:[e.jsx(kt,{className:"w-5 h-5"})," Table of Contents"]}),e.jsx("nav",{children:e.jsx("ol",{className:"space-y-2",children:s.map((n,i)=>e.jsx("li",{children:e.jsxs("a",{href:`#${n.id}`,className:"text-primary hover:underline flex items-center gap-2",children:[e.jsxs("span",{className:"text-muted-foreground text-sm",children:[i+1,"."]})," ",n.title]})},n.id))})})]})}),e.jsx(_,{slot:"in-content",className:"my-8"}),e.jsxs("div",{className:"prose prose-lg max-w-none",children:[e.jsxs("section",{id:"what-are-they",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"What Are Minecraft Map Generators?"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:[e.jsx("strong",{children:"Minecraft map generators"})," are tools that create custom worlds for you to play in. Instead of relying on Minecraft's random world generation, these tools let you design exactly what you want — custom mountains, specific biome layouts, hand-crafted terrain, and pre-built structures."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["There are two main types: ",e.jsx("strong",{children:"terrain generators"})," that create the landscape itself, and ",e.jsx("strong",{children:"seed viewers"})," that show you what a world seed looks like before you load it in-game. Both are essential tools for serious Minecraft builders and server operators."]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Pair map generators with our ",e.jsx(p,{to:"/seed-generator",className:"text-primary hover:underline",children:"seed generator"})," to find interesting world seeds, then preview them in a seed viewer before committing to a world. Once you start building, use our ",e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"circle generator"})," and other ",e.jsx(p,{to:"/tools",className:"text-primary hover:underline",children:"shape tools"})," to plan structures in your custom world."]})]}),e.jsxs("section",{id:"best-generators",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Best Map Generators for 2026"}),[{name:"WorldPainter",rating:"4.9/5",desc:"The ultimate custom terrain generator. Paint landscapes with brushes — raise mountains, carve rivers, place biomes, and scatter trees. Exports ready-to-play Minecraft worlds. Free and open-source.",free:!0,best:"Best Overall"},{name:"Chunkbase",rating:"4.8/5",desc:"Web-based seed viewer and map analyzer. Enter any seed to see biome maps, structure locations, slime chunks, and more. Supports both Java and Bedrock editions. Completely free.",free:!0,best:"Best Seed Viewer"},{name:"Amidst",rating:"4.6/5",desc:"Desktop seed viewer that generates biome maps from seeds. Shows stronghold locations, villages, temples, and other structures. Lightweight and fast. Java Edition only.",free:!0,best:"Best Desktop Viewer"},{name:"MCEdit / Amulet",rating:"4.7/5",desc:"World editors that let you modify existing maps. Copy structures, change biomes, fill areas, and import schematics. Essential for adventure map creators.",free:!0,best:"Best Editor"}].map(n=>e.jsxs(S,{className:"mb-4 p-4",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2 flex-wrap gap-2",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-lg",children:n.name}),e.jsx(L,{variant:"outline",className:"text-xs",children:n.best})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(L,{variant:"default",children:"Free"}),e.jsxs("span",{className:"flex items-center gap-1 text-sm",children:[e.jsx(St,{className:"w-4 h-4 text-yellow-500"})," ",n.rating]})]})]}),e.jsx("p",{className:"text-muted-foreground",children:n.desc})]},n.name))]}),e.jsxs("section",{id:"seed-viewers",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Seed Viewers & World Previews"}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Before starting a new world, use a ",e.jsx("strong",{children:"seed viewer"})," to preview what the terrain looks like. This saves hours of exploring random worlds looking for the perfect spawn."]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"How to Use Seed Viewers"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:["Generate a seed using our ",e.jsx(p,{to:"/seed-generator",className:"text-primary hover:underline",children:"seed generator"})," or pick a random number"]}),e.jsx("li",{children:"Enter the seed into a viewer like Chunkbase or Amidst"}),e.jsx("li",{children:"Select your Minecraft version (Java or Bedrock, and the update version)"}),e.jsx("li",{children:"Browse the biome map to find interesting terrain features"}),e.jsx("li",{children:"Check structure locations — villages, temples, strongholds, mansions"}),e.jsx("li",{children:"If you like the seed, create a new world with that seed in Minecraft"})]}),e.jsx(S,{className:"bg-muted/30 p-4 mb-4",children:e.jsxs("p",{className:"flex items-start gap-2",children:[e.jsx(qe,{className:"w-5 h-5 text-primary mt-1 shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Pro tip:"})," When using our seed generator, save interesting seeds to your favorites list. Then batch-preview them in Chunkbase to find the best one before starting your survival world."]})]})})]}),e.jsxs("section",{id:"custom-terrain",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Custom Terrain Generators"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Custom terrain generators let you build worlds from scratch. Here's what you can create:"}),e.jsx("div",{className:"grid md:grid-cols-2 gap-4 mb-4",children:[{title:"Mountain Ranges",desc:"Paint realistic mountain chains with snow peaks, valleys, and cliff faces. Control elevation, steepness, and rock exposure."},{title:"River Systems",desc:"Carve winding rivers with proper water flow, deltas, and erosion effects. Connect lakes and oceans naturally."},{title:"Custom Biomes",desc:"Place biomes exactly where you want them. Create tropical islands next to tundra or dense jungles surrounding a desert."},{title:"Underground Features",desc:"Design cave systems, underground lakes, and custom ore distribution. Create dungeon networks beneath the surface."}].map(n=>e.jsxs(S,{className:"p-4",children:[e.jsxs("h3",{className:"font-semibold mb-1 flex items-center gap-2",children:[e.jsx(Xl,{className:"w-4 h-4 text-primary"})," ",n.title]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:n.desc})]},n.title))})]}),e.jsxs("section",{id:"adventure-maps",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Adventure Map Generators"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Adventure maps are custom Minecraft experiences with stories, puzzles, and challenges. Creating them requires a combination of map generators and world editors."}),e.jsxs("ul",{className:"list-disc list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Terrain base:"})," Use WorldPainter to create the landscape"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Structures:"})," Import schematics using MCEdit or Amulet for buildings and dungeons"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Command blocks:"})," Add game logic, dialogue, and events directly in Minecraft"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Resource packs:"})," Custom textures and sounds for unique atmosphere"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Data packs:"})," Custom crafting recipes, loot tables, and world rules"]})]}),e.jsxs("p",{className:"text-muted-foreground mb-4",children:["Use our shape generators to plan complex structures for your adventure map. The",e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:" hexagon generator"})," is great for arena designs, while the ",e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"spiral staircase generator"})," helps with tower dungeons."]})]}),e.jsxs("section",{id:"how-to-install",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"How to Install Generated Maps"}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Java Edition"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Download the map folder (usually a .zip file)"}),e.jsx("li",{children:"Extract the zip to get the world folder"}),e.jsxs("li",{children:["Open your Minecraft directory: Windows: ",e.jsx("code",{children:"%appdata%/.minecraft/saves"}),", Mac: ",e.jsx("code",{children:"~/Library/Application Support/minecraft/saves"})]}),e.jsx("li",{children:"Copy the world folder into the saves directory"}),e.jsx("li",{children:"Open Minecraft — the map appears in your Singleplayer world list"})]}),e.jsx("h3",{className:"text-xl font-semibold mb-3",children:"Bedrock Edition"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-2 text-muted-foreground mb-4",children:[e.jsx("li",{children:"Download the .mcworld file"}),e.jsx("li",{children:"Double-click the file — Minecraft opens and imports it automatically"}),e.jsx("li",{children:"The map appears in your world list ready to play"})]})]}),e.jsxs("section",{id:"tips",className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Tips for Better Custom Maps"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-3 text-muted-foreground mb-4",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Plan before you generate:"})," Sketch your world layout on paper first. Decide where biomes, structures, and points of interest go."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Use real geography as reference:"})," Real mountains, rivers, and coastlines make terrain look natural."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Test performance:"})," Very detailed custom terrain can cause lag. Test your map on lower-end hardware."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Version compatibility:"})," Generate maps for your target Minecraft version. Newer versions add blocks and biomes that older versions can't display."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Backup your work:"})," Always keep a copy of your original generated map before editing it in-game."]})]})]}),e.jsxs(S,{className:"bg-muted/30 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-3",children:"Related Minecraft Generator Guides"}),e.jsxs("ul",{className:"space-y-2",children:[e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-skin-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best Minecraft Skin Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/free-account-generators-scam",className:"text-primary hover:underline flex items-center gap-1",children:["Free Account Generators: Scam or Real? ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/best-ai-video-generators-2026",className:"text-primary hover:underline flex items-center gap-1",children:["Best AI Minecraft Video Generators 2026 ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/minecraft-logo-title-maker",className:"text-primary hover:underline flex items-center gap-1",children:["Minecraft Logo & Title Maker Tools ",e.jsx(Q,{className:"w-3 h-3"})]})}),e.jsx("li",{children:e.jsxs(p,{to:"/blog/how-to-make-cobblestone-generator",className:"text-primary hover:underline flex items-center gap-1",children:["How to Make a Cobblestone Generator ",e.jsx(Q,{className:"w-3 h-3"})]})})]})]}),e.jsxs("section",{className:"mb-12",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:"Frequently Asked Questions"}),e.jsx("div",{className:"space-y-4",children:r.map(n=>e.jsxs(S,{className:"p-4",children:[e.jsx("h3",{className:"font-semibold mb-2",children:n.question}),e.jsx("p",{className:"text-muted-foreground",children:n.answer})]},n.question))})]}),e.jsxs(S,{className:"bg-primary/5 border-primary/20 p-6 mb-10",children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:"Generate Seeds & Plan Builds"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Find the perfect world seed and plan your builds with our free Minecraft tools."}),e.jsxs("div",{className:"flex flex-wrap gap-3",children:[e.jsxs(p,{to:"/seed-generator",className:"inline-flex items-center gap-2 bg-primary text-primary-foreground px-4 py-2 rounded-lg hover:opacity-90 transition",children:["Seed Generator ",e.jsx(Q,{className:"w-4 h-4"})]}),e.jsxs(p,{to:"/",className:"inline-flex items-center gap-2 border border-primary text-primary px-4 py-2 rounded-lg hover:bg-primary/10 transition",children:["Circle Generator ",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]}),e.jsx(Xe,{currentSlug:"best-map-generators-2026",category:"Tools"}),e.jsx(_,{slot:"footer",className:"mt-8"})]})})},Tg={A:[14,17,17,31,17,17,17],B:[30,17,17,30,17,17,30],C:[14,17,16,16,16,17,14],D:[28,18,17,17,17,18,28],E:[31,16,16,30,16,16,31],F:[31,16,16,30,16,16,16],G:[14,17,16,23,17,17,14],H:[17,17,17,31,17,17,17],I:[14,4,4,4,4,4,14],J:[7,2,2,2,2,18,12],K:[17,18,20,24,20,18,17],L:[16,16,16,16,16,16,31],M:[17,27,21,21,17,17,17],N:[17,25,21,19,17,17,17],O:[14,17,17,17,17,17,14],P:[30,17,17,30,16,16,16],Q:[14,17,17,17,21,18,13],R:[30,17,17,30,20,18,17],S:[14,17,16,14,1,17,14],T:[31,4,4,4,4,4,4],U:[17,17,17,17,17,17,14],V:[17,17,17,17,17,10,4],W:[17,17,17,21,21,27,17],X:[17,17,10,4,10,17,17],Y:[17,17,10,4,4,4,4],Z:[31,1,2,4,8,16,31],0:[14,17,19,21,25,17,14],1:[4,12,4,4,4,4,14],2:[14,17,1,2,4,8,31],3:[14,17,1,6,1,17,14],4:[2,6,10,18,31,2,2],5:[31,16,30,1,1,17,14],6:[14,16,16,30,17,17,14],7:[31,1,2,4,8,8,8],8:[14,17,17,14,17,17,14],9:[14,17,17,15,1,1,14],"!":[4,4,4,4,4,0,4],"?":[14,17,1,6,4,0,4],".":[0,0,0,0,0,0,4],",":[0,0,0,0,0,4,8],":":[0,4,0,0,0,4,0],"-":[0,0,0,31,0,0,0],_:[0,0,0,0,0,0,31]," ":[0,0,0,0,0,0,0],"#":[10,31,10,10,31,10,0],"/":[1,2,2,4,8,8,16],"<":[2,4,8,16,8,4,2],">":[8,4,2,1,2,4,8]},Ws=5,xd=7,Co=1,L6=t=>{const{text:r,shadow:s}=t,n=r.toUpperCase();if(!n.trim())return{grid:[],blockCount:0,width:0,height:0};const i=n.length*(Ws+Co)-Co,a=xd+(s?1:0),o=i+(s?1:0),l=Array.from({length:a},()=>Array(o).fill(0));let c=0;if(s)for(let d=0;d<n.length;d++){const j=n[d],m=Tg[j];if(!m)continue;const b=d*(Ws+Co)+1;for(let g=0;g<xd;g++)for(let y=0;y<Ws;y++)m[g]>>Ws-1-y&1&&(l[g+1][b+y]=2)}for(let d=0;d<n.length;d++){const j=n[d],m=Tg[j];if(!m)continue;const b=d*(Ws+Co);for(let g=0;g<xd;g++)for(let y=0;y<Ws;y++)m[g]>>Ws-1-y&1&&(l[g][b+y]=1,c++)}return{grid:l,blockCount:c,width:o,height:a}},O6=()=>{const[t,r]=f.useState({text:"MINECRAFT",scale:1,showGrid:!0,color:"#4ade80",bgColor:"#1a1a2e",shadow:!0}),s=f.useMemo(()=>L6(t),[t]),n=f.useCallback(y=>{r(h=>({...h,...y}))},[]),i=f.useCallback(y=>n({text:y.slice(0,30)}),[n]),a=f.useCallback(y=>n({scale:Math.max(.5,Math.min(3,y))}),[n]),o=f.useCallback(y=>n({showGrid:y}),[n]),l=f.useCallback(y=>n({color:y}),[n]),c=f.useCallback(y=>n({bgColor:y}),[n]),d=f.useCallback(y=>n({shadow:y}),[n]),j=f.useCallback(()=>{r({text:"MINECRAFT",scale:1,showGrid:!0,color:"#4ade80",bgColor:"#1a1a2e",shadow:!0})},[]),m=f.useCallback(()=>{const{grid:y,width:h,height:v}=s;if(!h||!v)return;const x=20,u=document.createElement("canvas");u.width=h*x,u.height=v*x;const w=u.getContext("2d");if(!w)return;w.fillStyle=t.bgColor,w.fillRect(0,0,u.width,u.height);for(let k=0;k<v;k++)for(let M=0;M<h;M++)y[k][M]===1?(w.fillStyle=t.color,w.fillRect(M*x,k*x,x,x),w.strokeStyle="rgba(0,0,0,0.2)",w.lineWidth=1,w.strokeRect(M*x,k*x,x,x)):y[k][M]===2&&(w.fillStyle="rgba(0,0,0,0.5)",w.fillRect(M*x,k*x,x,x));const N=document.createElement("a");N.download=`minecraft-text-${t.text.toLowerCase().replace(/\s/g,"-")}.png`,N.href=u.toDataURL("image/png"),N.click()},[s,t]),b=f.useCallback(()=>{const{grid:y,width:h,height:v}=s;if(!h||!v)return;const x=20;let u=`<svg xmlns="http://www.w3.org/2000/svg" width="${h*x}" height="${v*x}" viewBox="0 0 ${h*x} ${v*x}">`;u+=`<rect width="100%" height="100%" fill="${t.bgColor}"/>`;for(let k=0;k<v;k++)for(let M=0;M<h;M++)y[k][M]===1?u+=`<rect x="${M*x}" y="${k*x}" width="${x}" height="${x}" fill="${t.color}" stroke="rgba(0,0,0,0.2)" stroke-width="1"/>`:y[k][M]===2&&(u+=`<rect x="${M*x}" y="${k*x}" width="${x}" height="${x}" fill="rgba(0,0,0,0.5)"/>`);u+="</svg>";const w=new Blob([u],{type:"image/svg+xml"}),N=document.createElement("a");N.download=`minecraft-text-${t.text.toLowerCase().replace(/\s/g,"-")}.svg`,N.href=URL.createObjectURL(w),N.click()},[s,t]),g=f.useCallback(()=>{const{grid:y,width:h,height:v}=s;if(!h||!v)return;let x="";for(let u=0;u<v;u++){for(let w=0;w<h;w++)x+=y[u][w]===1?"█":y[u][w]===2?"▒":"░";x+=`
`}navigator.clipboard.writeText(x)},[s]);return{settings:t,textData:s,setText:i,setScale:a,setShowGrid:o,setColor:l,setBgColor:c,setShadow:d,reset:j,downloadPNG:m,downloadSVG:b,copyText:g}},z6=[{name:"Green",color:"#4ade80",bg:"#1a1a2e"},{name:"Gold",color:"#fbbf24",bg:"#1a1a2e"},{name:"Red",color:"#ef4444",bg:"#1a1a2e"},{name:"Aqua",color:"#22d3ee",bg:"#1a1a2e"},{name:"White",color:"#ffffff",bg:"#333333"},{name:"Purple",color:"#a855f7",bg:"#1a1a2e"},{name:"Blue",color:"#3b82f6",bg:"#1a1a2e"},{name:"Pink",color:"#ec4899",bg:"#1a1a2e"}],H6=()=>{const{t}=lt(),{toast:r}=ki(),s=f.useRef(null),{settings:n,textData:i,setText:a,setScale:o,setShowGrid:l,setColor:c,setBgColor:d,setShadow:j,reset:m,downloadPNG:b,downloadSVG:g,copyText:y}=O6(),h=Math.max(6,Math.min(24,500/Math.max(i.width||1,1)))*n.scale,v=()=>{y(),r({title:"Copied!",description:"Block text copied to clipboard."})};return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[300px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(Dh,{className:"h-5 w-5"}),"Text Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Your Text"}),e.jsx(Le,{type:"text",maxLength:30,value:n.text,onChange:x=>a(x.target.value),placeholder:"Type here..."}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[n.text.length,"/30 characters"]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Color Preset"}),e.jsx("div",{className:"grid grid-cols-4 gap-2",children:z6.map(x=>e.jsx("button",{onClick:()=>{c(x.color),d(x.bg)},className:`h-8 rounded border-2 transition-all ${n.color===x.color?"border-primary ring-2 ring-primary/30":"border-border"}`,style:{backgroundColor:x.color},title:x.name},x.name))})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Text Color"}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx("input",{type:"color",value:n.color,onChange:x=>c(x.target.value),className:"w-8 h-8 rounded cursor-pointer"}),e.jsx(Le,{value:n.color,onChange:x=>c(x.target.value),className:"text-xs font-mono"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Background"}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx("input",{type:"color",value:n.bgColor,onChange:x=>d(x.target.value),className:"w-8 h-8 rounded cursor-pointer"}),e.jsx(Le,{value:n.bgColor,onChange:x=>d(x.target.value),className:"text-xs font-mono"})]})]})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:"Drop Shadow"}),e.jsx(hr,{checked:n.shadow,onCheckedChange:j})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:[t("generator.scale"),": ",n.scale.toFixed(1),"x"]}),e.jsx(xt,{value:[n.scale],onValueChange:([x])=>o(x),min:.5,max:3,step:.1})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx($,{children:t("generator.showGrid")}),e.jsx(hr,{checked:n.showGrid,onCheckedChange:l})]}),e.jsxs("div",{className:"rounded-lg bg-muted p-4 space-y-2",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.blocks"),":"]}),e.jsx("span",{className:"font-semibold",children:i.blockCount})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("generator.stacks64"),":"]}),e.jsx("span",{className:"font-semibold",children:(i.blockCount/64).toFixed(1)})]}),e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Size:"}),e.jsxs("span",{className:"font-semibold",children:[i.width," × ",i.height]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:b,className:"w-full gap-2",disabled:!i.width,children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadPng")]}),e.jsxs(O,{onClick:g,variant:"outline",className:"w-full gap-2",disabled:!i.width,children:[e.jsx(_e,{className:"h-4 w-4"}),t("generator.downloadSvg")]}),e.jsxs(O,{onClick:v,variant:"outline",className:"w-full gap-2",disabled:!i.width,children:[e.jsx(Es,{className:"h-4 w-4"}),"Copy Block Text"]}),e.jsxs(O,{onClick:m,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"Text Generator",storageKey:"text-generator"}),e.jsx(Te,{title:"Check out this Minecraft Text Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsx(G,{className:"p-4 md:p-6",children:e.jsx("div",{className:"overflow-auto rounded-lg p-2 md:p-4 generator-grid-container",style:{maxHeight:"60vh",backgroundColor:n.bgColor},children:i.width>0?e.jsx("div",{ref:s,className:"inline-grid mx-auto generator-grid",style:{gridTemplateColumns:`repeat(${i.width}, ${h}px)`,gap:n.showGrid?"1px":"0px"},children:i.grid.map((x,u)=>x.map((w,N)=>e.jsx("div",{className:"transition-colors",style:{width:h,height:h,backgroundColor:w===1?n.color:w===2?"rgba(0,0,0,0.5)":"transparent",border:w===1?"1px solid rgba(0,0,0,0.2)":"none"}},`${N}-${u}`)))}):e.jsx("div",{className:"flex items-center justify-center h-40 text-muted-foreground",children:"Type something to see the preview"})})})})]})},q6=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Type Your Text",text:"Enter up to 30 characters in the text input field. Letters, numbers, and common symbols are supported."},{name:"Choose a Color",text:"Pick from 8 preset Minecraft-style colors or use custom hex color pickers for text and background."},{name:"Enable Drop Shadow",text:"Toggle the drop shadow option for a classic Minecraft text shadow effect that adds depth."},{name:"Adjust Scale",text:"Use the scale slider to zoom in or out on the pixel preview for easier block counting."},{name:"Download or Copy",text:"Download your pixel text as PNG or SVG, or copy the Unicode block text to your clipboard for sharing."}],s=[{question:"What is a Minecraft font generator?",answer:"A Minecraft font generator creates text using the iconic blocky pixel font style from Minecraft. Each letter is built from a 5×7 pixel grid, just like how text appears on signs and in the game's user interface. You can use the output as a building blueprint or download it as an image."},{question:"How do I use the Minecraft text generator for in-game builds?",answer:"Type your text, choose your block color, and download the PNG image. Use it as a building reference by counting blocks in the grid. Each filled pixel equals one block in your Minecraft world. This works perfectly for signs, banners, floor text, and pixel art lettering."},{question:"Can I use this as a Minecraft small font generator?",answer:"Yes! Our generator uses a compact 5×7 pixel grid per character, making it ideal for small text builds. For even smaller text in-game, you can use map art techniques with our exported images. The tool also supports Minecraft small text for chat using Unicode block characters."},{question:"Does the Minecraft font text generator support color codes?",answer:"Our generator supports full custom colors with hex values, matching Minecraft color codes like §a for green, §6 for gold, §c for red, and §b for aqua. Pick any color from the presets or enter a custom hex code for gradient and RGB effects."},{question:"Can I generate Minecraft gradient text?",answer:"While this tool generates solid-color pixel text, you can create gradient effects by downloading multiple versions with different colors and combining them. For in-game gradient text on servers that support RGB chat, use Minecraft color codes with plugins like EssentialsX or CMI."},{question:"What is the difference between Minecraft font generator and pixel art generator?",answer:"A Minecraft font generator specifically converts typed text into pixel-block letters. A pixel art generator converts images into block patterns. Both use pixel grids, but font generators are optimized for clean, readable text while pixel art generators handle complex images and shading."},{question:"Does this work with Minecraft Java and Bedrock Edition?",answer:"Yes! The block patterns work with all Minecraft editions including Java Edition, Bedrock Edition, Pocket Edition, Education Edition, and console versions. The pixel grid is universal — each filled cell equals one block regardless of your platform."}];return e.jsx(se,{title:"Minecraft Font Generator - Free Pixel Text Builder & Small Font Maker 2026",description:"★ Free Minecraft font generator! Create pixel-perfect text with the iconic blocky Minecraft font. Customize colors, add drop shadows, download PNG/SVG. Works for signs, pixel art, and server MOTD.",canonicalPath:"/text-generator",type:"WebApplication",keywords:"minecraft font generator, minecraft text generator, minecraft small font generator, pixel font minecraft, minecraft color code generator, minecraft small text generator, minecraft font text generator, minecraft 3d text generator, minecraft gradient text generator, minecraft motd generator, minecraft logo generator, small text generator minecraft, rgb generator minecraft, minecraft color codes generator",howToSteps:r,howToName:"How to Generate Minecraft Pixel Text",howToDescription:"Step-by-step guide to creating pixel-perfect Minecraft-style text for builds, signs, and pixel art.",faqs:s,breadcrumbs:[...t,{name:"Text Generator",url:"/text-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Text Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft Font Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Create ",e.jsx("strong",{children:"pixel-perfect Minecraft text"})," with the iconic blocky font style. Customize colors, add shadows, and download for your ",e.jsx("strong",{children:"Minecraft builds"}),"."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(H6,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Use the Minecraft Font Generator"}),e.jsxs("p",{children:["Our ",e.jsx("strong",{children:"Minecraft font generator"})," turns any text into the classic blocky pixel font that Minecraft is famous for. Each letter sits on a 5×7 pixel grid — the same proportions used in Minecraft's original bitmap font. Use it to plan text builds, create server logos, or design ",e.jsx("strong",{children:"Minecraft pixel art"})," lettering."]}),e.jsx("h3",{children:"What Can You Build With Pixel Text?"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Server Spawn Signs"})," – Welcome players with huge block-letter signs at spawn"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Map Art Text"})," – Create text on maps using the downloaded patterns"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Floor & Wall Text"})," – Build text into floors and walls for decoration"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Pixel Art Logos"})," – Design server logos, team names, or custom branding"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"MOTD Designs"})," – Preview how text looks in the Minecraft server MOTD format"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nether Portal Labels"})," – Label your portals with clear block text"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Base Names"})," – Mark your survival base with a bold text sign"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"PvP Arena Labels"})," – Add team names to your Minecraft PvP arenas"]})]}),e.jsx("h3",{children:"Minecraft Color Codes Reference"}),e.jsxs("p",{children:["Minecraft uses special ",e.jsx("strong",{children:"color codes"})," (formatting codes) for in-game text. Our generator's color presets match these classic Minecraft colors:"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"§a Green"})," – The default Minecraft text color for many UI elements"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"§6 Gold"})," – Used for item names and achievement notifications"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"§c Red"})," – Warning messages and PvP kill notifications"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"§b Aqua"})," – Diamond-related text and special items"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"§f White"})," – Standard chat text color"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"§5 Purple"})," – Enchantment descriptions and rare items"]})]}),e.jsx("h3",{children:"Small Font vs. Large Text Builds"}),e.jsxs("p",{children:["The ",e.jsx("strong",{children:"Minecraft small font generator"})," mode uses our compact 5×7 grid, perfect for small signs and labels. For larger text, simply scale up the pattern — each pixel becomes a 2×2 or 3×3 block area. This scaling technique is used by professional Minecraft builders on servers like ",e.jsx("strong",{children:"Hypixel"})," and in ",e.jsx("strong",{children:"Build Battle"})," competitions."]}),e.jsx("h3",{children:"Using RGB and Gradient Text in Minecraft"}),e.jsxs("p",{children:["Modern ",e.jsx("strong",{children:"Minecraft servers"})," support ",e.jsx("strong",{children:"RGB text colors"})," through plugins like EssentialsX, CMI, and PaperMC's native RGB support. Our generator lets you pick any hex color to match your server's RGB capabilities. For ",e.jsx("strong",{children:"gradient text"}),", export multiple color versions and combine them in-game using RGB color codes."]}),e.jsx("h3",{children:"Minecraft Font for Server MOTD"}),e.jsxs("p",{children:["The ",e.jsx("strong",{children:"Minecraft MOTD generator"})," functionality lets you preview how text appears in the server list. Design your Message of the Day with the right colors and spacing, then translate the pixel pattern into MOTD formatting codes for your server.properties file."]}),e.jsx("h3",{children:"Tips for Better Minecraft Text Builds"}),e.jsxs("ul",{children:[e.jsxs("li",{children:["Use ",e.jsx("strong",{children:"concrete blocks"})," for clean, solid colors without texture noise"]}),e.jsxs("li",{children:["Add a ",e.jsx("strong",{children:"dark background"})," behind text for better contrast and readability"]}),e.jsxs("li",{children:["Enable ",e.jsx("strong",{children:"drop shadow"})," for the classic Minecraft UI text look"]}),e.jsx("li",{children:"For 3D text, extend each filled pixel 2-3 blocks deep using the same color"}),e.jsxs("li",{children:["Use ",e.jsx("strong",{children:"glowstone"})," or ",e.jsx("strong",{children:"sea lanterns"})," behind text for illuminated signs"]}),e.jsxs("li",{children:["Place ",e.jsx("strong",{children:"item frames with maps"})," for ultra-detailed small text"]})]}),e.jsx("h3",{children:"3D Minecraft Text Effect"}),e.jsxs("p",{children:["To create ",e.jsx("strong",{children:"3D Minecraft text"}),", download the pixel pattern and build it in layers. Place the front face using your main color, then add a darker shade 1 block behind for depth. Our shadow feature previews this effect — the shadow offset shows exactly where to place the back layer for a professional 3D look."]}),e.jsx("h3",{children:"Related Minecraft Building Tools"}),e.jsxs("p",{children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft building tools"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Create perfect circles and arcs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Build ellipses for stadiums and pools"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Design honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Create pyramids and roof shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Build diamond and rhombus patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," – Design spiral stairs layer by layer"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Construct domes and spheres"]})]}),e.jsx("h3",{children:"Need Help?"}),e.jsxs("p",{children:["Visit our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," for answers to common questions, or ",e.jsx(p,{to:"/contact",className:"text-primary hover:underline",children:"contact us"})," for support. Check out our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"building blog"})," for tutorials on ",e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"pixel art"})," and more building techniques."]})]}),e.jsx(Xe,{currentSlug:"text-generator",category:"Tutorial"})]})})})},Ru=[{code:"§0",name:"Black",hex:"#000000"},{code:"§1",name:"Dark Blue",hex:"#0000AA"},{code:"§2",name:"Dark Green",hex:"#00AA00"},{code:"§3",name:"Dark Aqua",hex:"#00AAAA"},{code:"§4",name:"Dark Red",hex:"#AA0000"},{code:"§5",name:"Dark Purple",hex:"#AA00AA"},{code:"§6",name:"Gold",hex:"#FFAA00"},{code:"§7",name:"Gray",hex:"#AAAAAA"},{code:"§8",name:"Dark Gray",hex:"#555555"},{code:"§9",name:"Blue",hex:"#5555FF"},{code:"§a",name:"Green",hex:"#55FF55"},{code:"§b",name:"Aqua",hex:"#55FFFF"},{code:"§c",name:"Red",hex:"#FF5555"},{code:"§d",name:"Light Purple",hex:"#FF55FF"},{code:"§e",name:"Yellow",hex:"#FFFF55"},{code:"§f",name:"White",hex:"#FFFFFF"}];function Un(t){const r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return r?{r:parseInt(r[1],16),g:parseInt(r[2],16),b:parseInt(r[3],16)}:{r:0,g:0,b:0}}function Pg(t,r,s){return"#"+[t,r,s].map(n=>n.toString(16).padStart(2,"0")).join("")}function Eg(t){const r=Un(t);let s=Ru[0],n=1/0;for(const i of Ru){const a=Un(i.hex),o=Math.sqrt((r.r-a.r)**2+(r.g-a.g)**2+(r.b-a.b)**2);o<n&&(n=o,s=i)}return s.code}function Gg(t,r,s){return{r:Math.round(t.r+(r.r-t.r)*s),g:Math.round(t.g+(r.g-t.g)*s),b:Math.round(t.b+(r.b-t.b)*s)}}const _6=()=>{const[t,r]=f.useState({startColor:"#ff0000",endColor:"#0000ff",steps:10,text:"Hello World",format:"hex",showPreview:!0}),s=f.useMemo(()=>{const g=Un(t.startColor),y=Un(t.endColor),h=[];for(let v=0;v<t.steps;v++){const x=t.steps===1?0:v/(t.steps-1),u=Gg(g,y,x),w=Pg(u.r,u.g,u.b);h.push({color:w,hex:w,rgb:u,minecraft:Eg(w),position:x})}return h},[t.startColor,t.endColor,t.steps]),n=f.useMemo(()=>{if(!t.text)return[];const g=t.text.split(""),y=Un(t.startColor),h=Un(t.endColor);return g.map((v,x)=>{const u=g.length===1?0:x/(g.length-1),w=Gg(y,h,u),N=Pg(w.r,w.g,w.b);return{char:v,color:N,minecraft:Eg(N)}})},[t.text,t.startColor,t.endColor]),i=f.useMemo(()=>`linear-gradient(90deg, ${t.startColor}, ${t.endColor})`,[t.startColor,t.endColor]),a=f.useCallback(g=>r(y=>({...y,startColor:g})),[]),o=f.useCallback(g=>r(y=>({...y,endColor:g})),[]),l=f.useCallback(g=>r(y=>({...y,steps:g})),[]),c=f.useCallback(g=>r(y=>({...y,text:g})),[]),d=f.useCallback(g=>r(y=>({...y,format:g})),[]),j=f.useCallback(()=>{if(!n.length)return;const g=n.map(y=>t.format==="minecraft"?`${y.minecraft}${y.char}`:`&#x${y.color.slice(1)}${y.char}`).join("");navigator.clipboard.writeText(g)},[n,t.format]),m=f.useCallback(()=>{const g=s.map(y=>t.format==="rgb"?`rgb(${y.rgb.r}, ${y.rgb.g}, ${y.rgb.b})`:t.format==="minecraft"?y.minecraft:y.hex).join(`
`);navigator.clipboard.writeText(g)},[s,t.format]),b=f.useCallback(()=>{r({startColor:"#ff0000",endColor:"#0000ff",steps:10,text:"Hello World",format:"hex",showPreview:!0})},[]);return{settings:t,gradientStops:s,gradientTextOutput:n,gradientCSS:i,minecraftColors:Ru,setStartColor:a,setEndColor:o,setSteps:l,setText:c,setFormat:d,copyGradientText:j,copyColorCodes:m,reset:b}};var jc="Tabs",[U6,kE]=Wt(jc,[lc]),uw=lc(),[W6,xm]=U6(jc),hw=f.forwardRef((t,r)=>{const{__scopeTabs:s,value:n,onValueChange:i,defaultValue:a,orientation:o="horizontal",dir:l,activationMode:c="automatic",...d}=t,j=Ua(l),[m,b]=Xr({prop:n,onChange:i,defaultProp:a??"",caller:jc});return e.jsx(W6,{scope:s,baseId:ji(),value:m,onValueChange:b,orientation:o,dir:j,activationMode:c,children:e.jsx(he.div,{dir:j,"data-orientation":o,...d,ref:r})})});hw.displayName=jc;var mw="TabsList",xw=f.forwardRef((t,r)=>{const{__scopeTabs:s,loop:n=!0,...i}=t,a=xm(mw,s),o=uw(s);return e.jsx(ty,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:n,children:e.jsx(he.div,{role:"tablist","aria-orientation":a.orientation,...i,ref:r})})});xw.displayName=mw;var gw="TabsTrigger",fw=f.forwardRef((t,r)=>{const{__scopeTabs:s,value:n,disabled:i=!1,...a}=t,o=xm(gw,s),l=uw(s),c=bw(o.baseId,n),d=yw(o.baseId,n),j=n===o.value;return e.jsx(ry,{asChild:!0,...l,focusable:!i,active:j,children:e.jsx(he.button,{type:"button",role:"tab","aria-selected":j,"aria-controls":d,"data-state":j?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:c,...a,ref:r,onMouseDown:V(t.onMouseDown,m=>{!i&&m.button===0&&m.ctrlKey===!1?o.onValueChange(n):m.preventDefault()}),onKeyDown:V(t.onKeyDown,m=>{[" ","Enter"].includes(m.key)&&o.onValueChange(n)}),onFocus:V(t.onFocus,()=>{const m=o.activationMode!=="manual";!j&&!i&&m&&o.onValueChange(n)})})})});fw.displayName=gw;var pw="TabsContent",jw=f.forwardRef((t,r)=>{const{__scopeTabs:s,value:n,forceMount:i,children:a,...o}=t,l=xm(pw,s),c=bw(l.baseId,n),d=yw(l.baseId,n),j=n===l.value,m=f.useRef(j);return f.useEffect(()=>{const b=requestAnimationFrame(()=>m.current=!1);return()=>cancelAnimationFrame(b)},[]),e.jsx(Qr,{present:i||j,children:({present:b})=>e.jsx(he.div,{"data-state":j?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":c,hidden:!b,id:d,tabIndex:0,...o,ref:r,style:{...t.style,animationDuration:m.current?"0s":void 0},children:b&&a})})});jw.displayName=pw;function bw(t,r){return`${t}-trigger-${r}`}function yw(t,r){return`${t}-content-${r}`}var $6=hw,vw=xw,ww=fw,Nw=jw;const kw=$6,gm=f.forwardRef(({className:t,...r},s)=>e.jsx(vw,{ref:s,className:de("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",t),...r}));gm.displayName=vw.displayName;const ei=f.forwardRef(({className:t,...r},s)=>e.jsx(ww,{ref:s,className:de("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",t),...r}));ei.displayName=ww.displayName;const V6=f.forwardRef(({className:t,...r},s)=>e.jsx(Nw,{ref:s,className:de("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",t),...r}));V6.displayName=Nw.displayName;const Y6=[{name:"Fire",start:"#ff0000",end:"#ffaa00"},{name:"Ocean",start:"#0066ff",end:"#00ffcc"},{name:"Sunset",start:"#ff6600",end:"#ff00ff"},{name:"Forest",start:"#006600",end:"#55ff55"},{name:"Galaxy",start:"#4400ff",end:"#ff00ff"},{name:"Ice",start:"#00ccff",end:"#ffffff"},{name:"Lava",start:"#ff0000",end:"#ffff00"},{name:"Nether",start:"#aa0000",end:"#ff5555"}],K6=()=>{const{t}=lt(),{toast:r}=ki(),{settings:s,gradientStops:n,gradientTextOutput:i,gradientCSS:a,minecraftColors:o,setStartColor:l,setEndColor:c,setSteps:d,setText:j,setFormat:m,copyGradientText:b,copyColorCodes:g,reset:y}=_6(),h=()=>{b(),r({title:"Copied!",description:"Gradient text codes copied to clipboard."})},v=()=>{g(),r({title:"Copied!",description:"Color codes copied to clipboard."})},x=u=>{navigator.clipboard.writeText(u),r({title:"Copied!",description:`${u} copied to clipboard.`})};return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[320px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(Lr,{className:"h-5 w-5"}),"RGB Color Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Gradient Presets"}),e.jsx("div",{className:"grid grid-cols-4 gap-2",children:Y6.map(u=>e.jsx("button",{onClick:()=>{l(u.start),c(u.end)},className:"h-8 rounded border-2 border-border hover:border-primary transition-all",style:{background:`linear-gradient(90deg, ${u.start}, ${u.end})`},title:u.name},u.name))})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Start Color"}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx("input",{type:"color",value:s.startColor,onChange:u=>l(u.target.value),className:"w-8 h-8 rounded cursor-pointer"}),e.jsx(Le,{value:s.startColor,onChange:u=>l(u.target.value),className:"text-xs font-mono"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"End Color"}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx("input",{type:"color",value:s.endColor,onChange:u=>c(u.target.value),className:"w-8 h-8 rounded cursor-pointer"}),e.jsx(Le,{value:s.endColor,onChange:u=>c(u.target.value),className:"text-xs font-mono"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:["Gradient Steps: ",s.steps]}),e.jsx(xt,{value:[s.steps],onValueChange:([u])=>d(u),min:2,max:32,step:1})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Gradient Text"}),e.jsx(Le,{type:"text",maxLength:50,value:s.text,onChange:u=>j(u.target.value),placeholder:"Enter text for gradient..."}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[s.text.length,"/50 characters"]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Output Format"}),e.jsx(kw,{value:s.format,onValueChange:u=>m(u),children:e.jsxs(gm,{className:"w-full",children:[e.jsx(ei,{value:"hex",className:"flex-1",children:"HEX"}),e.jsx(ei,{value:"rgb",className:"flex-1",children:"RGB"}),e.jsx(ei,{value:"minecraft",className:"flex-1",children:"MC §"})]})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:h,className:"w-full gap-2",disabled:!s.text,children:[e.jsx(Es,{className:"h-4 w-4"}),"Copy Gradient Text"]}),e.jsxs(O,{onClick:v,variant:"outline",className:"w-full gap-2",children:[e.jsx(Es,{className:"h-4 w-4"}),"Copy Color Codes"]}),e.jsxs(O,{onClick:y,variant:"ghost",className:"w-full gap-2",children:[e.jsx(Jr,{className:"h-4 w-4"}),t("generator.reset")]})]}),e.jsx(xr,{toolName:"RGB Generator",storageKey:"rgb-generator"}),e.jsx(Te,{title:"Check out this Minecraft RGB Color Generator!"})]})]}),e.jsxs("div",{className:"space-y-6 order-first lg:order-last",children:[e.jsx(S,{children:e.jsxs(G,{className:"p-4 md:p-6",children:[e.jsx("h3",{className:"font-semibold mb-3",children:"Gradient Preview"}),e.jsx("div",{className:"h-16 rounded-lg w-full mb-4",style:{background:a}}),e.jsx("div",{className:"flex gap-1 overflow-x-auto pb-2",children:n.map((u,w)=>e.jsxs("button",{onClick:()=>x(u.hex),className:"flex-shrink-0 group cursor-pointer",title:`Click to copy ${u.hex}`,children:[e.jsx("div",{className:"w-10 h-10 rounded border border-border group-hover:ring-2 ring-primary transition-all",style:{backgroundColor:u.color}}),e.jsx("p",{className:"text-[10px] font-mono text-muted-foreground mt-1 text-center",children:s.format==="rgb"?`${u.rgb.r},${u.rgb.g},${u.rgb.b}`:s.format==="minecraft"?u.minecraft:u.hex.slice(0,7)})]},w))})]})}),s.text&&i.length>0&&e.jsx(S,{children:e.jsxs(G,{className:"p-4 md:p-6",children:[e.jsx("h3",{className:"font-semibold mb-3",children:"Gradient Text Preview"}),e.jsx("div",{className:"bg-muted/50 rounded-lg p-6 text-center",children:e.jsx("p",{className:"text-3xl md:text-4xl font-bold font-mono tracking-wide",children:i.map((u,w)=>e.jsx("span",{style:{color:u.color},children:u.char},w))})}),e.jsx("div",{className:"mt-4 bg-muted rounded-lg p-3 overflow-x-auto",children:e.jsx("p",{className:"text-xs font-mono text-muted-foreground break-all",children:i.map((u,w)=>e.jsx("span",{children:s.format==="minecraft"?`${u.minecraft}${u.char}`:`&#x${u.color.slice(1)}${u.char}`},w))})})]})}),e.jsx(S,{children:e.jsxs(G,{className:"p-4 md:p-6",children:[e.jsx("h3",{className:"font-semibold mb-3",children:"Minecraft Color Codes Reference"}),e.jsx("div",{className:"grid grid-cols-4 sm:grid-cols-8 gap-2",children:o.map(u=>e.jsxs("button",{onClick:()=>x(u.hex),className:"text-center group cursor-pointer",title:`${u.name} - ${u.code} - Click to copy`,children:[e.jsx("div",{className:"w-full aspect-square rounded border border-border group-hover:ring-2 ring-primary transition-all",style:{backgroundColor:u.hex}}),e.jsx("p",{className:"text-[10px] font-mono mt-1 text-muted-foreground",children:u.code}),e.jsx("p",{className:"text-[9px] text-muted-foreground",children:u.name})]},u.code))})]})})]})]})},Q6=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Choose Start Color",text:"Pick your starting color using a preset gradient or the custom color picker. This is the first color in your gradient."},{name:"Choose End Color",text:"Select the ending color for your gradient. The generator will smoothly blend between the two colors."},{name:"Adjust Gradient Steps",text:"Use the slider to set how many color steps appear in your gradient — from 2 for a sharp transition to 32 for ultra-smooth blending."},{name:"Enter Your Text",text:"Type any text to see it rendered with your gradient colors applied to each character individually."},{name:"Copy Color Codes",text:"Switch between HEX, RGB, or Minecraft § format and copy the gradient text or individual color codes to use in-game or in designs."}],s=[{question:"What is a Minecraft RGB generator?",answer:"A Minecraft RGB generator creates smooth color gradients that you can use for chat messages, signs, and builds in Minecraft. It converts colors between HEX, RGB, and Minecraft formatting codes (§ codes), making it easy to add colorful gradient text on servers that support RGB plugins."},{question:"How do I use RGB colors in Minecraft chat?",answer:"To use RGB colors in Minecraft chat, your server needs a plugin that supports hex color codes, such as EssentialsX, CMI, or PaperMC's native RGB support. Copy the gradient text output from our generator in Minecraft § format, then paste it into chat. The format uses §x§r§r§g§g§b§b for each character."},{question:"What are Minecraft color codes?",answer:"Minecraft has 16 built-in color codes using the § symbol: §0 (Black) through §f (White). These work in chat, signs, books, and MOTDs. Modern servers also support full RGB hex colors using the §x format, allowing millions of color combinations beyond the original 16."},{question:"Can I use gradient colors in Minecraft Bedrock Edition?",answer:"Minecraft Bedrock Edition supports the basic 16 color codes (§0-§f) in chat and signs. Full RGB gradient support depends on the server software. Our generator shows the closest matching Minecraft color code for each gradient step, so you can approximate gradients in Bedrock."},{question:"How do I convert HEX to Minecraft color codes?",answer:'Our generator automatically converts any HEX color to the closest Minecraft § color code. Simply pick or enter a HEX color, switch to "MC §" format, and the tool shows the matching Minecraft code. For servers with RGB support, the full hex value is used for exact color matching.'},{question:"What is the difference between RGB and HEX colors?",answer:"RGB uses three numbers (0-255) for Red, Green, and Blue channels — like rgb(255, 0, 128). HEX uses a 6-character code like #FF0080. They represent the same colors in different formats. Our generator converts between both formats instantly, plus Minecraft § codes."},{question:"Can I use this for Minecraft server MOTD colors?",answer:"Yes! Generate a gradient, copy the color codes in Minecraft format, and paste them into your server.properties MOTD field or your server management panel. This creates eye-catching colorful server descriptions that stand out in the Minecraft server list."}];return e.jsx(se,{title:"Minecraft RGB Color Generator - Free Gradient & Color Code Converter 2026",description:"★ Free Minecraft RGB generator! Create smooth color gradients, convert HEX to Minecraft color codes, generate gradient text. Works for chat, signs, MOTD & builds.",canonicalPath:"/rgb-generator",type:"WebApplication",keywords:"minecraft rgb generator, rgb generator minecraft, minecraft color code generator, minecraft gradient generator, minecraft gradient text generator, minecraft color codes generator, rgb gradient generator minecraft, gradient generator minecraft, minecraft motd generator, minecraft small font generator, minecraft color codes, hex to minecraft color, minecraft chat colors, minecraft server motd colors",howToSteps:r,howToName:"How to Generate Minecraft RGB Gradient Colors",howToDescription:"Step-by-step guide to creating smooth RGB color gradients for Minecraft chat, signs, and builds.",faqs:s,breadcrumbs:[...t,{name:"RGB Generator",url:"/rgb-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"RGB Color Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft RGB Color Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Create ",e.jsx("strong",{children:"smooth color gradients"})," for Minecraft. Convert between HEX, RGB, and",e.jsx("strong",{children:" Minecraft color codes"}),". Generate ",e.jsx("strong",{children:"gradient text"})," for chat, signs, and MOTDs."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(K6,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Use the Minecraft RGB Color Generator"}),e.jsxs("p",{children:["Our ",e.jsx("strong",{children:"Minecraft RGB generator"})," creates smooth gradients between any two colors and outputs them in formats compatible with Minecraft servers, chat plugins, and building tools. Whether you need ",e.jsx("strong",{children:"gradient text"})," for your server MOTD or ",e.jsx("strong",{children:"color codes"})," for in-game chat, this tool handles the conversion instantly."]}),e.jsx("h3",{children:"Understanding Minecraft Color Codes"}),e.jsxs("p",{children:["Minecraft uses the ",e.jsx("strong",{children:"§ (section sign)"})," followed by a character to apply colors and formatting. The original 16 colors range from ",e.jsx("strong",{children:"§0 (Black)"})," to ",e.jsx("strong",{children:"§f (White)"}),". Modern servers running PaperMC, Spigot with EssentialsX, or CMI support full ",e.jsx("strong",{children:"RGB hex colors"})," using the extended §x format — giving you access to over 16 million colors."]}),e.jsx("h3",{children:"Where Can You Use RGB Colors?"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Server Chat"})," – Add colorful gradient messages on servers with RGB plugin support"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Server MOTD"})," – Create eye-catching server descriptions in the multiplayer list"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Signs & Books"})," – Decorate your builds with colored text on signs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Scoreboard & Tab"})," – Customize scoreboard text and tab list player names"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"NPC Holograms"})," – Add gradient text to hologram displays above NPCs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Title Commands"})," – Show gradient title and subtitle text to players"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Boss Bars"})," – Create custom colored boss bar text for events"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Item Names"})," – Rename items with gradient colors using anvils and plugins"]})]}),e.jsx("h3",{children:"HEX vs RGB vs Minecraft Color Codes"}),e.jsxs("p",{children:["Colors can be represented in multiple formats. ",e.jsx("strong",{children:"HEX codes"})," like #FF5555 are compact and widely used in web design. ",e.jsx("strong",{children:"RGB values"})," like rgb(255, 85, 85) split the color into red, green, and blue channels. ",e.jsx("strong",{children:"Minecraft codes"})," use the § symbol — the original 16 codes (§0-§f) plus the extended §x format for full RGB support on modern servers."]}),e.jsx("h3",{children:"Creating Smooth Gradients"}),e.jsxs("p",{children:["The key to a beautiful ",e.jsx("strong",{children:"Minecraft gradient"})," is choosing the right number of steps. For short text (5-10 characters), use fewer steps for visible color shifts. For longer text or smooth transitions, increase the steps to 20-32. The gradient is calculated using linear interpolation between your start and end colors."]}),e.jsx("h3",{children:"Popular Gradient Combinations"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Fire Gradient"})," (Red → Gold) – Perfect for PvP servers and combat messages"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Ocean Gradient"})," (Blue → Cyan) – Great for water-themed builds and aquatic servers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Sunset Gradient"})," (Orange → Purple) – Beautiful for skybox-related content"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Forest Gradient"})," (Dark Green → Light Green) – Ideal for nature and survival servers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Galaxy Gradient"})," (Purple → Magenta) – Perfect for space and fantasy themes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nether Gradient"})," (Dark Red → Red) – Fits Nether-themed builds and portals"]})]}),e.jsx("h3",{children:"Server Plugin Compatibility"}),e.jsx("p",{children:"Not all Minecraft servers support RGB colors equally. Here's a compatibility guide:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"PaperMC"})," – Native RGB support with §x§r§r§g§g§b§b format"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Spigot + EssentialsX"})," – RGB support via {#RRGGBB} format"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"CMI Plugin"})," – Full RGB and gradient support built-in"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"BungeeCord/Velocity"})," – RGB support in tab list and chat"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Vanilla Minecraft"})," – Limited to 16 original § color codes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Bedrock Edition"})," – Supports 16 basic colors only"]})]}),e.jsx("h3",{children:"Tips for Better Color Combinations"}),e.jsxs("ul",{children:[e.jsxs("li",{children:["Use ",e.jsx("strong",{children:"analogous colors"})," (neighbors on the color wheel) for subtle, pleasing gradients"]}),e.jsxs("li",{children:["Use ",e.jsx("strong",{children:"complementary colors"})," (opposites) for bold, attention-grabbing text"]}),e.jsx("li",{children:"Avoid pairing very dark colors together — they'll look muddy in Minecraft's UI"}),e.jsx("li",{children:"Test your gradient on a dark background — Minecraft chat uses a semi-transparent dark overlay"}),e.jsx("li",{children:"For readability, ensure your lightest gradient step has enough contrast with the chat background"}),e.jsxs("li",{children:["Use the ",e.jsx("strong",{children:"Ice preset"})," (Cyan → White) for winter and frost themed server events"]})]}),e.jsx("h3",{children:"Related Minecraft Building Tools"}),e.jsxs("p",{children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft building tools"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Create perfect circles and arcs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/text-generator",className:"text-primary hover:underline",children:"Text/Font Generator"})," – Build pixel-perfect Minecraft text"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Build ellipses for stadiums and pools"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Design honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Create pyramids and roof shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Build diamond and rhombus patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/spiral-staircase-generator",className:"text-primary hover:underline",children:"Spiral Staircase Generator"})," – Design spiral stairs layer by layer"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Construct domes and spheres"]})]}),e.jsx("h3",{children:"Need Help?"}),e.jsxs("p",{children:["Visit our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," for answers to common questions, or ",e.jsx(p,{to:"/contact",className:"text-primary hover:underline",children:"contact us"})," for support. Check out our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"building blog"})," for tutorials on ",e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"pixel art"})," and more building techniques."]})]}),e.jsx(Xe,{currentSlug:"rgb-generator",category:"Tutorial"})]})})})},Bg=["xX","The","Pro","Epic","Dark","Ice","Fire","Shadow","Storm","Iron","Gold","Nova","Ender","Nether","Pixel","Craft","Block","Red","Blue","Sky","Star","Moon","Sun","Frost","Thunder","Crystal","Royal","Mighty","Swift","Lucky"],Ag=["Creeper","Enderman","Dragon","Wolf","Fox","Blaze","Zombie","Skeleton","Wither","Phantom","Golem","Villager","Piglin","Ghast","Guardian","Warden","Axolotl","Steve","Alex","Notch","Herobrine","Builder","Miner","Crafter","Explorer","Knight","King","Queen","Warrior","Hunter","Archer","Wizard","Ninja","Pirate","Diamond","Emerald","Redstone","Obsidian","Netherite","Amethyst","Copper","Lapis","Pickaxe","Sword","Shield","Bow","Trident","Crossbow","Anvil","Beacon"],X6=["Xx","HD","YT","TV","GG","MC","PvP","Pro","God","Boss","King","Lord","Master","Slayer","Hunter","Gamer","Legend","Hero","Star","_01","_99","_X","_Z","123","007","2026","Jr","Sr","III"],J6=[{name:"Random",id:"random"},{name:"PvP / Combat",id:"pvp"},{name:"Mobs",id:"mobs"},{name:"Building",id:"building"},{name:"Fantasy",id:"fantasy"},{name:"OG / Clean",id:"og"}],Z6={pvp:["Warrior","Slayer","Fighter","Blade","Arrow","Shield","Sword","Bow","PvP","Combo","Clutch","Rush"],mobs:["Creeper","Enderman","Dragon","Wolf","Blaze","Zombie","Skeleton","Wither","Phantom","Golem","Warden","Axolotl"],building:["Builder","Crafter","Architect","Block","Pixel","Redstone","Beacon","Tower","Castle","Bridge","Dome","Forge"],fantasy:["Wizard","Mage","Sorcerer","Enchanter","Dragon","Phoenix","Griffin","Unicorn","Mystic","Shadow","Arcane","Rune"],og:["Steve","Alex","Notch","Dream","Techno","Craft","Mine","Block","Pixel","Cube","Vox","Ray"]};function Ui(t){return t[Math.floor(Math.random()*t.length)]}function eE(t,r){const s=t==="random"?Ag:Z6[t]||Ag,n=Ui(s);switch(r){case"classic":{const i=Math.random()>.4,a=Math.random()>.4,o=i?Ui(Bg):"",l=a?Ui(X6):"";return`${o}${n}${l}`.slice(0,16)}case"underscore":{const i=Ui(s);return`${n}_${i}`.slice(0,16)}case"numbers":{const i=Math.floor(Math.random()*9999);return`${Math.random()>.5?Ui(Bg):""}${n}${i}`.slice(0,16)}case"clean":return n.slice(0,16);default:return n}}const tE=()=>{const[t,r]=f.useState({theme:"random",count:12,style:"classic"}),[s,n]=f.useState([]),[i,a]=f.useState(()=>{try{return JSON.parse(localStorage.getItem("mc-name-favorites")||"[]")}catch{return[]}}),o=J6,l=f.useCallback(()=>{const h=[],v=new Set;let x=0;for(;h.length<t.count&&x<200;){x++;const u=eE(t.theme,t.style),w=u.toLowerCase();v.has(w)||u.length<3||(v.add(w),h.push({name:u,length:u.length,hasNumbers:/\d/.test(u),hasUnderscore:u.includes("_")}))}n(h)},[t]),c=f.useCallback(h=>{a(v=>{const x=v.includes(h)?v.filter(u=>u!==h):[...v,h];return localStorage.setItem("mc-name-favorites",JSON.stringify(x)),x})},[]),d=f.useCallback(()=>{a([]),localStorage.removeItem("mc-name-favorites")},[]),j=f.useCallback(h=>{navigator.clipboard.writeText(h)},[]),m=f.useCallback(()=>{navigator.clipboard.writeText(s.map(h=>h.name).join(`
`))},[s]),b=f.useCallback(h=>r(v=>({...v,theme:h})),[]),g=f.useCallback(h=>r(v=>({...v,count:h})),[]),y=f.useCallback(h=>r(v=>({...v,style:h})),[]);return{settings:t,names:s,favorites:i,themes:o,generate:l,toggleFavorite:c,clearFavorites:d,copyName:j,copyAllNames:m,setTheme:b,setCount:g,setStyle:y}},rE=[{id:"classic",label:"Classic",desc:"Prefix + Root + Suffix"},{id:"underscore",label:"Underscore",desc:"Word_Word style"},{id:"numbers",label:"Numbers",desc:"Name + digits"},{id:"clean",label:"Clean/OG",desc:"Single word only"}],sE=()=>{const{toast:t}=ki(),{settings:r,names:s,favorites:n,themes:i,generate:a,toggleFavorite:o,clearFavorites:l,copyName:c,copyAllNames:d,setTheme:j,setCount:m,setStyle:b}=tE();f.useEffect(()=>{a()},[]);const g=h=>{c(h),t({title:"Copied!",description:`"${h}" copied to clipboard.`})},y=()=>{d(),t({title:"Copied!",description:`${s.length} names copied to clipboard.`})};return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[320px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(ot,{className:"h-5 w-5"}),"Name Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Name Theme"}),e.jsx("div",{className:"grid grid-cols-2 gap-2",children:i.map(h=>e.jsx("button",{onClick:()=>j(h.id),className:`px-3 py-2 text-sm rounded-md border-2 transition-all ${r.theme===h.id?"border-primary bg-primary/10 text-primary font-medium":"border-border hover:border-primary/50"}`,children:h.name},h.id))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Name Style"}),e.jsx("div",{className:"space-y-2",children:rE.map(h=>e.jsxs("button",{onClick:()=>b(h.id),className:`w-full text-left px-3 py-2 rounded-md border-2 transition-all ${r.style===h.id?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[e.jsx("span",{className:"text-sm font-medium",children:h.label}),e.jsxs("span",{className:"text-xs text-muted-foreground ml-2",children:["– ",h.desc]})]},h.id))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:["Names to Generate: ",r.count]}),e.jsx(xt,{value:[r.count],onValueChange:([h])=>m(h),min:4,max:24,step:4})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:a,className:"w-full gap-2",children:[e.jsx(Ij,{className:"h-4 w-4"}),"Generate Names"]}),e.jsxs(O,{onClick:y,variant:"outline",className:"w-full gap-2",disabled:!s.length,children:[e.jsx(Es,{className:"h-4 w-4"}),"Copy All Names"]})]}),n.length>0&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs($,{className:"flex items-center gap-1",children:[e.jsx(pi,{className:"h-3 w-3 text-red-500"})," Favorites (",n.length,")"]}),e.jsx(O,{variant:"ghost",size:"sm",onClick:l,className:"h-6 px-2",children:e.jsx(Oj,{className:"h-3 w-3"})})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:n.map(h=>e.jsx(L,{variant:"secondary",className:"cursor-pointer hover:bg-primary/20",onClick:()=>g(h),children:h},h))})]}),e.jsx(xr,{toolName:"Name Generator",storageKey:"name-generator"}),e.jsx(Te,{title:"Check out this Minecraft Name Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsxs(G,{className:"p-4 md:p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{className:"font-semibold",children:"Generated Names"}),e.jsxs(L,{variant:"outline",children:[s.length," names"]})]}),s.length>0?e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:s.map((h,v)=>e.jsxs("div",{className:"group flex items-center justify-between p-3 rounded-lg border border-border hover:border-primary/50 hover:bg-muted/50 transition-all",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"font-mono font-semibold text-sm truncate",children:h.name}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:[h.length," chars"]})]}),e.jsxs("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx(O,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>o(h.name),children:e.jsx(pi,{className:`h-3.5 w-3.5 ${n.includes(h.name)?"fill-red-500 text-red-500":""}`})}),e.jsx(O,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>g(h.name),children:e.jsx(Es,{className:"h-3.5 w-3.5"})})]})]},`${h.name}-${v}`))}):e.jsx("div",{className:"flex items-center justify-center h-40 text-muted-foreground",children:'Click "Generate Names" to get started'}),e.jsxs("div",{className:"mt-6 rounded-lg bg-muted/50 p-4",children:[e.jsx("h4",{className:"font-semibold text-sm mb-2",children:"Minecraft Username Rules"}),e.jsxs("ul",{className:"text-xs text-muted-foreground space-y-1",children:[e.jsx("li",{children:"• 3–16 characters long"}),e.jsx("li",{children:"• Letters (a-z, A-Z), numbers (0-9), and underscores (_) only"}),e.jsx("li",{children:"• Cannot start or end with an underscore"}),e.jsx("li",{children:"• Case-insensitive (Steve = steve)"}),e.jsx("li",{children:"• Must be unique across all Minecraft accounts"})]})]})]})})]})},nE=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Choose a Theme",text:"Select a name theme like PvP, Mobs, Building, Fantasy, or OG/Clean to get names that match your playstyle."},{name:"Pick a Style",text:"Choose between Classic (prefix+root+suffix), Underscore (word_word), Numbers (name+digits), or Clean (single word) formatting."},{name:"Set Name Count",text:"Use the slider to choose how many names to generate at once — from 4 to 24 names per batch."},{name:"Generate Names",text:"Click the Generate button to create a fresh batch of unique Minecraft username ideas instantly."},{name:"Save & Copy",text:"Heart your favorites to save them, and click copy to grab any name for use on Minecraft, Xbox, or other platforms."}],s=[{question:"What is a Minecraft name generator?",answer:"A Minecraft name generator creates random username ideas for your Minecraft account, Xbox Gamertag, or server profile. It combines popular Minecraft-themed words, prefixes, and suffixes to produce unique names that follow Minecraft's username rules (3-16 characters, letters, numbers, and underscores only)."},{question:"How do I change my Minecraft username?",answer:'For Java Edition, log in to your Microsoft account at minecraft.net, go to your profile settings, and click "Change" next to your username. You can change your name once every 30 days. For Bedrock Edition, your username is your Xbox Gamertag — change it through xbox.com or the Xbox app.'},{question:"What are the rules for Minecraft usernames?",answer:'Minecraft usernames must be 3-16 characters long and can only contain letters (a-z, A-Z), numbers (0-9), and underscores (_). Names cannot start or end with an underscore. They are case-insensitive, meaning "Steve" and "steve" are considered the same name. Each username must be unique across all accounts.'},{question:"Can I check if a Minecraft name is available?",answer:"Yes! You can check name availability at namemc.com or through the official Minecraft website. Our generator creates names following valid Minecraft username rules, but availability depends on whether another player has already claimed the name."},{question:"What makes a good Minecraft username?",answer:'A good Minecraft username is memorable, easy to spell, and reflects your personality or playstyle. Short names (4-8 characters) are considered "OG" and are highly valued. Avoid excessive numbers or special characters. Theme-based names (like mob names or item names) are popular in the Minecraft community.'},{question:"Are these generated names guaranteed to be available?",answer:"No, our generator creates name ideas based on Minecraft themes and valid formatting rules, but we cannot guarantee availability. Popular name combinations may already be taken. Use namemc.com or the Minecraft website to verify if a specific name is available before trying to claim it."},{question:"Can I use these names for Xbox Gamertags?",answer:"Yes! Most names generated here work as Xbox Gamertags since they follow similar rules. Xbox Gamertags allow 1-15 characters with letters, numbers, and spaces. Note that Xbox adds a numeric suffix (like #1234) if your chosen name is already taken, so you'll still get a unique identity."}];return e.jsx(se,{title:"Minecraft Name Generator - Free Username & Gamertag Ideas 2026",description:"★ Free Minecraft name generator! Get unique username ideas, gamertag suggestions, and name tag inspiration. PvP, fantasy, OG styles. Copy & use instantly!",canonicalPath:"/name-generator",type:"WebApplication",keywords:"minecraft name generator, minecraft username generator, minecraft names generator, minecraft gamertag generator, minecraft name tag generator, minecraft alt generator, free minecraft name ideas, minecraft ign generator, cool minecraft names, og minecraft names, minecraft username ideas, xbox gamertag generator minecraft",howToSteps:r,howToName:"How to Generate Minecraft Usernames",howToDescription:"Step-by-step guide to generating unique Minecraft username ideas for your account, server, or gamertag.",faqs:s,breadcrumbs:[...t,{name:"Name Generator",url:"/name-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Name Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft Name Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Generate unique ",e.jsx("strong",{children:"Minecraft usernames"}),", ",e.jsx("strong",{children:"gamertag ideas"}),", and",e.jsx("strong",{children:" name tag suggestions"}),". Find the perfect name for your account, server, or alt."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(sE,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Use the Minecraft Name Generator"}),e.jsxs("p",{children:["Our ",e.jsx("strong",{children:"Minecraft name generator"})," creates unique username ideas based on popular Minecraft themes, mobs, items, and playstyles. Whether you need a name for your main account, an alt, or a server profile, our tool generates names that follow Minecraft's official username rules and sound great in-game."]}),e.jsx("h3",{children:"Choosing the Right Theme"}),e.jsx("p",{children:"Different themes produce different styles of names. Here's what each theme focuses on:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Random"})," – A mix of everything: mobs, items, roles, and Minecraft lore"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"PvP / Combat"})," – Aggressive names with warrior, weapon, and battle themes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mobs"})," – Names based on Minecraft creatures like Creeper, Enderman, and Warden"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Building"})," – Creative names for architects, builders, and redstone engineers"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fantasy"})," – Magical names with wizard, dragon, and enchantment themes"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"OG / Clean"})," – Simple, short names inspired by classic Minecraft players"]})]}),e.jsx("h3",{children:"Understanding Name Styles"}),e.jsx("p",{children:"The style option controls how names are formatted:"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Classic"}),' – Combines prefixes and suffixes like "xXDragonSlayerXx" or "ProBuilderHD"']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Underscore"}),' – Uses underscores for separation like "Ender_Dragon" or "Pixel_Knight"']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Numbers"}),' – Adds random numbers like "Shadow2026" or "ProCreeper99"']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Clean"}),' – Simple single words like "Obsidian" or "Phantom" — perfect for OG-style names']})]}),e.jsx("h3",{children:"Tips for Choosing a Great Minecraft Name"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Keep it short"})," – Names under 8 characters are easier to remember and type"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Make it unique"})," – Add your own twist to common words to avoid taken names"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Match your playstyle"})," – PvP players often use aggressive names, builders use creative ones"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Avoid trends"}),' – Names with "xX" or "HD" may feel dated quickly']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Check availability"})," – Use ",e.jsx("a",{href:"https://namemc.com",target:"_blank",rel:"noopener noreferrer",className:"text-primary",children:"NameMC"})," to verify your chosen name is available"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Consider all platforms"})," – Make sure your name works on Java, Bedrock, and Xbox"]})]}),e.jsx("h3",{children:"Minecraft Username Rules"}),e.jsxs("p",{children:["Before choosing a name, make sure it follows ",e.jsx("strong",{children:"Minecraft's official rules"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:["Must be between ",e.jsx("strong",{children:"3 and 16 characters"})," long"]}),e.jsxs("li",{children:["Can only contain ",e.jsx("strong",{children:"letters (a-z, A-Z)"}),", ",e.jsx("strong",{children:"numbers (0-9)"}),", and ",e.jsx("strong",{children:"underscores (_)"})]}),e.jsx("li",{children:"Cannot start or end with an underscore"}),e.jsxs("li",{children:["Names are ",e.jsx("strong",{children:"case-insensitive"}),' — "Steve" and "steve" count as the same name']}),e.jsxs("li",{children:["Each name must be ",e.jsx("strong",{children:"unique"})," across all Minecraft accounts worldwide"]}),e.jsxs("li",{children:["You can change your name once every ",e.jsx("strong",{children:"30 days"})," on Java Edition"]})]}),e.jsx("h3",{children:"How to Change Your Minecraft Name"}),e.jsxs("p",{children:["On ",e.jsx("strong",{children:"Java Edition"}),", visit ",e.jsx("a",{href:"https://www.minecraft.net",target:"_blank",rel:"noopener noreferrer",className:"text-primary",children:"minecraft.net"}),", log in with your Microsoft account, and navigate to profile settings. On ",e.jsx("strong",{children:"Bedrock Edition"}),", your name is tied to your Xbox Gamertag — change it through the Xbox app or website. Remember that your old name becomes available to others 37 days after you change it."]}),e.jsx("h3",{children:"Xbox Gamertag vs Minecraft Username"}),e.jsxs("p",{children:["Since the Microsoft migration, ",e.jsx("strong",{children:"Java Edition"})," players still have separate Minecraft usernames, while ",e.jsx("strong",{children:"Bedrock Edition"})," players use their Xbox Gamertag. Xbox allows up to 15 characters and adds a numeric suffix (#1234) if the base name is taken. Our generator creates names compatible with both systems."]}),e.jsx("h3",{children:"Popular Minecraft Name Trends in 2026"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Short & OG"})," – Single-word names under 6 characters are highly sought after"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Mob-themed"})," – Names based on the Warden, Breeze, and other new mobs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Netherite/Amethyst"})," – Material-based names reflecting newer game content"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Clean underscores"}),' – Names like "Ice_Phoenix" are popular for their readability']}),e.jsxs("li",{children:[e.jsx("strong",{children:"Nostalgia names"})," – References to classic Minecraft like Steve, Herobrine, and Notch"]})]}),e.jsx("h3",{children:"Related Minecraft Building Tools"}),e.jsxs("p",{children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft tools"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Create perfect circles and arcs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/text-generator",className:"text-primary hover:underline",children:"Text/Font Generator"})," – Build pixel-perfect Minecraft text"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB Color Generator"})," – Create gradients and color codes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/oval-generator",className:"text-primary hover:underline",children:"Oval Generator"})," – Build ellipses for stadiums and pools"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Design honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Construct domes and spheres"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Create pyramids and roof shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Build diamond and rhombus patterns"]})]}),e.jsx("h3",{children:"Need Help?"}),e.jsxs("p",{children:["Visit our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," for answers to common questions, or ",e.jsx(p,{to:"/contact",className:"text-primary hover:underline",children:"contact us"})," for support. Check out our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"building blog"})," for tutorials and ",e.jsx(p,{to:"/blog/pixel-art-guide",className:"text-primary hover:underline",children:"pixel art guides"}),"."]})]}),e.jsx(Xe,{currentSlug:"name-generator",category:"Tutorial"})]})})})},iE=["Plains","Forest","Desert","Jungle","Taiga","Snowy Tundra","Swamp","Savanna","Badlands","Mushroom Island","Dark Forest","Birch Forest","Ocean","Deep Ocean","Frozen Ocean","Warm Ocean","Beach","Mountains","Stony Peaks","Meadow","Cherry Grove","Mangrove Swamp","Nether Wastes","Crimson Forest","Warped Forest","Soul Sand Valley","Basalt Deltas","End Highlands","End Midlands"],aE=["Village","Desert Temple","Jungle Temple","Woodland Mansion","Ocean Monument","Stronghold","Mineshaft","Dungeon","Pillager Outpost","Ruined Portal","Buried Treasure","Shipwreck","Nether Fortress","Bastion Remnant","End City","Ancient City","Trail Ruins","Trial Chambers"],oE=["Spawn near Village","Spawn near Ocean","Exposed Stronghold","Surface Diamonds","Double Village","Mushroom Island nearby","All biomes close","Rare biome combo","Near Woodland Mansion","Exposed Mineshaft","Island spawn","Mountain spawn","Flower forest nearby","Cherry Grove spawn","Near Ancient City","Lush Cave exposed"];function gd(t,r){return[...t].sort(()=>Math.random()-.5).slice(0,r)}function lE(t){let r,s;if(t==="java"){const d=BigInt(Math.floor(Math.random()*4294967296))<<32n,j=BigInt(Math.floor(Math.random()*2**32));r=d|j,r>=2n**63n&&(r-=2n**64n),s=r.toString()}else{const d=Math.floor(Math.random()*4294967296)-2147483648;r=BigInt(d),s=d.toString()}const n=2+Math.floor(Math.random()*3),i=2+Math.floor(Math.random()*2),a=gd(iE,n),o=gd(aE,i),l=gd(oE,1)[0],c=Math.floor(Math.random()*3)+3;return{seed:s,numericSeed:r,edition:t,suggestedBiomes:a,suggestedStructures:o,specialFeature:l,rating:c}}const cE=()=>{const[t,r]=f.useState({edition:"java",count:6}),[s,n]=f.useState([]),[i,a]=f.useState(()=>{try{return JSON.parse(localStorage.getItem("mc-seed-favorites")||"[]")}catch{return[]}}),o=f.useCallback(()=>{const g=[];for(let y=0;y<t.count;y++)g.push(lE(t.edition));n(g)},[t]),l=f.useCallback(g=>{a(y=>{const h=y.includes(g)?y.filter(v=>v!==g):[...y,g];return localStorage.setItem("mc-seed-favorites",JSON.stringify(h)),h})},[]),c=f.useCallback(()=>{a([]),localStorage.removeItem("mc-seed-favorites")},[]),d=f.useCallback(g=>{navigator.clipboard.writeText(g)},[]),j=f.useCallback(()=>{navigator.clipboard.writeText(s.map(g=>g.seed).join(`
`))},[s]),m=f.useCallback(g=>r(y=>({...y,edition:g})),[]),b=f.useCallback(g=>r(y=>({...y,count:g})),[]);return{settings:t,seeds:s,favorites:i,generate:o,toggleFavorite:l,clearFavorites:c,copySeed:d,copyAllSeeds:j,setEdition:m,setCount:b}},dE=()=>{const{toast:t}=ki(),{settings:r,seeds:s,favorites:n,generate:i,toggleFavorite:a,clearFavorites:o,copySeed:l,copyAllSeeds:c,setEdition:d,setCount:j}=cE();f.useEffect(()=>{i()},[]);const m=g=>{l(g),t({title:"Copied!",description:`Seed ${g} copied to clipboard.`})},b=()=>{c(),t({title:"Copied!",description:`${s.length} seeds copied to clipboard.`})};return e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[320px_1fr] overflow-hidden",children:[e.jsxs(S,{className:"h-fit",children:[e.jsx(ee,{children:e.jsxs(te,{className:"flex items-center gap-2",children:[e.jsx(Xl,{className:"h-5 w-5"}),"Seed Generator"]})}),e.jsxs(G,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx($,{children:"Minecraft Edition"}),e.jsx(kw,{value:r.edition,onValueChange:g=>d(g),children:e.jsxs(gm,{className:"w-full",children:[e.jsx(ei,{value:"java",className:"flex-1",children:"Java Edition"}),e.jsx(ei,{value:"bedrock",className:"flex-1",children:"Bedrock"})]})}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r.edition==="java"?"Java seeds are 64-bit numbers (huge range)":"Bedrock seeds are 32-bit numbers"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs($,{children:["Seeds to Generate: ",r.count]}),e.jsx(xt,{value:[r.count],onValueChange:([g])=>j(g),min:3,max:12,step:3})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(O,{onClick:i,className:"w-full gap-2",children:[e.jsx(Ij,{className:"h-4 w-4"}),"Generate Seeds"]}),e.jsxs(O,{onClick:b,variant:"outline",className:"w-full gap-2",disabled:!s.length,children:[e.jsx(Es,{className:"h-4 w-4"}),"Copy All Seeds"]})]}),n.length>0&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs($,{className:"flex items-center gap-1",children:[e.jsx(pi,{className:"h-3 w-3 text-red-500"})," Saved Seeds (",n.length,")"]}),e.jsx(O,{variant:"ghost",size:"sm",onClick:o,className:"h-6 px-2",children:e.jsx(Oj,{className:"h-3 w-3"})})]}),e.jsx("div",{className:"space-y-1",children:n.map(g=>e.jsxs("div",{className:"flex items-center justify-between text-xs font-mono bg-muted rounded px-2 py-1",children:[e.jsx("span",{className:"truncate",children:g}),e.jsx(O,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>m(g),children:e.jsx(Es,{className:"h-3 w-3"})})]},g))})]}),e.jsx(xr,{toolName:"Seed Generator",storageKey:"seed-generator"}),e.jsx(Te,{title:"Check out this Minecraft Seed Generator!"})]})]}),e.jsx(S,{className:"order-first lg:order-last overflow-hidden",children:e.jsxs(G,{className:"p-4 md:p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h3",{className:"font-semibold",children:"Generated Seeds"}),e.jsxs(L,{variant:"outline",className:"capitalize",children:[r.edition," Edition"]})]}),s.length>0?e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:s.map((g,y)=>e.jsxs("div",{className:"group p-4 rounded-lg border border-border hover:border-primary/50 hover:bg-muted/30 transition-all",children:[e.jsxs("div",{className:"flex items-start justify-between mb-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"font-mono font-bold text-lg text-primary truncate",children:g.seed}),e.jsxs("div",{className:"flex items-center gap-1 mt-1",children:[Array.from({length:5}).map((h,v)=>e.jsx(St,{className:`h-3 w-3 ${v<g.rating?"fill-yellow-400 text-yellow-400":"text-muted-foreground"}`},v)),e.jsx("span",{className:"text-xs text-muted-foreground ml-1",children:"Rating"})]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(O,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>a(g.seed),children:e.jsx(pi,{className:`h-3.5 w-3.5 ${n.includes(g.seed)?"fill-red-500 text-red-500":""}`})}),e.jsx(O,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>m(g.seed),children:e.jsx(Es,{className:"h-3.5 w-3.5"})})]})]}),e.jsx(L,{className:"mb-2 text-xs",children:g.specialFeature}),e.jsxs("div",{className:"mb-2",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:"Suggested Biomes:"}),e.jsx("div",{className:"flex flex-wrap gap-1",children:g.suggestedBiomes.map(h=>e.jsx(L,{variant:"secondary",className:"text-[10px]",children:h},h))})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-1",children:"Nearby Structures:"}),e.jsx("div",{className:"flex flex-wrap gap-1",children:g.suggestedStructures.map(h=>e.jsx(L,{variant:"outline",className:"text-[10px]",children:h},h))})]})]},`${g.seed}-${y}`))}):e.jsx("div",{className:"flex items-center justify-center h-40 text-muted-foreground",children:'Click "Generate Seeds" to get started'}),e.jsxs("div",{className:"mt-6 rounded-lg bg-muted/50 p-4",children:[e.jsx("h4",{className:"font-semibold text-sm mb-2",children:"How to Use Seeds in Minecraft"}),e.jsxs("ul",{className:"text-xs text-muted-foreground space-y-1",children:[e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Java:"})," Create New World → More World Options → Seed for the World Generator"]}),e.jsxs("li",{children:["• ",e.jsx("strong",{children:"Bedrock:"})," Create New → Game → Seed → Paste the seed number"]}),e.jsx("li",{children:"• Seeds generate the same world layout every time they're used"}),e.jsx("li",{children:"• Java and Bedrock seeds produce different worlds from the same number"}),e.jsx("li",{children:"• Biome/structure suggestions are randomized hints — explore to discover what's really there!"})]})]})]})})]})},uE=()=>{const t=[{name:"Home",url:"/"},{name:"Tools",url:"/tools"}],r=[{name:"Select Edition",text:"Choose between Java Edition (64-bit seeds) or Bedrock Edition (32-bit seeds) based on what you play."},{name:"Set Seed Count",text:"Use the slider to choose how many seeds to generate at once — from 3 to 12 per batch."},{name:"Generate Seeds",text:"Click Generate Seeds to create random world seeds with suggested biomes, structures, and special features."},{name:"Review Results",text:"Browse generated seeds, check suggested biomes and nearby structures, and read the special feature for each seed."},{name:"Copy & Use",text:"Heart seeds to save them, copy to clipboard, and paste into Minecraft's world creation screen."}],s=[{question:"What is a Minecraft seed?",answer:"A Minecraft seed is a number that the game uses to generate your world. Every seed creates the same terrain, biomes, structures, and ore placement. Sharing a seed lets other players explore the exact same world layout you have. Seeds can be any number — positive, negative, or even text that gets converted to a number."},{question:"Do Java and Bedrock seeds work the same?",answer:"No. Java Edition uses 64-bit seeds while Bedrock Edition uses 32-bit seeds. Even if you enter the same seed number in both editions, they will generate completely different worlds because Java and Bedrock use different world generation algorithms. Always use seeds meant for your specific edition."},{question:"How do I enter a seed in Minecraft?",answer:'For Java Edition: Click "Create New World" → "More World Options" → enter the seed in "Seed for the World Generator." For Bedrock Edition: Click "Create New" → "Game" tab → scroll down to "Seed" → paste or type the number. The seed must be entered before creating the world.'},{question:"Can I find the seed of my current world?",answer:"Yes! In Java Edition, type /seed in the chat (requires cheats enabled or operator permissions). In Bedrock Edition, go to Settings → Game → scroll down to see the seed. In singleplayer, you can also find it in the world settings before loading the world."},{question:"What are the best Minecraft seeds?",answer:'The "best" seed depends on what you want. Speedrunners look for exposed strongholds near spawn. Builders want flat plains or beautiful mountain biomes. Survival players prefer village spawns with nearby resources. Our generator creates random seeds with suggested features to help you find interesting worlds.'},{question:"Do seeds change between Minecraft versions?",answer:"Yes, major updates can change world generation. A seed from Minecraft 1.17 may generate a different world in 1.18+ because Mojang overhauled terrain generation. Seeds are most reliable when used on the same Minecraft version they were discovered on. Our generator creates seeds for the latest version."},{question:"Are the biome and structure suggestions accurate?",answer:"The biome and structure suggestions shown are randomized hints to give you exploration ideas — they represent what you might find near spawn. Actual world content depends on Minecraft's internal generation algorithm. Use tools like Chunkbase to verify exact biome and structure locations for a specific seed."}];return e.jsx(se,{title:"Minecraft Seed Generator - Random Seeds for Java & Bedrock 2026",description:"★ Free Minecraft seed generator! Generate random world seeds for Java and Bedrock Edition. Get biome suggestions, structure hints, and special features. Copy & use instantly!",canonicalPath:"/seed-generator",type:"WebApplication",keywords:"minecraft seed generator, seed generator minecraft, minecraft seed generator bedrock, minecraft random seed, minecraft world seed, minecraft seeds 2026, best minecraft seeds, minecraft java seeds, minecraft bedrock seeds, minecraft seed finder, random minecraft seed, minecraft map seed",howToSteps:r,howToName:"How to Generate Minecraft World Seeds",howToDescription:"Step-by-step guide to generating random world seeds for Minecraft Java and Bedrock Edition.",faqs:s,breadcrumbs:[...t,{name:"Seed Generator",url:"/seed-generator"}],children:e.jsx("main",{className:"container py-8",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsx(oe,{items:t,currentPage:"Seed Generator"}),e.jsxs("header",{className:"text-center mb-8",children:[e.jsx("h1",{className:"text-3xl md:text-4xl font-bold text-primary mb-4",children:e.jsx("strong",{children:"Minecraft Seed Generator"})}),e.jsxs("p",{className:"text-lg text-muted-foreground max-w-2xl mx-auto",children:["Generate random ",e.jsx("strong",{children:"Minecraft world seeds"})," for ",e.jsx("strong",{children:"Java"})," and",e.jsx("strong",{children:" Bedrock Edition"}),". Get biome suggestions, structure hints, and special features."]})]}),e.jsx(_,{slot:"header",className:"mb-6"}),e.jsx(dE,{}),e.jsx(_,{slot:"between-sections",className:"mt-8"}),e.jsxs("section",{className:"mt-12 prose prose-green dark:prose-invert max-w-4xl mx-auto",children:[e.jsx("h2",{children:"How to Use the Minecraft Seed Generator"}),e.jsxs("p",{children:["Our ",e.jsx("strong",{children:"Minecraft seed generator"})," creates random world seeds compatible with both",e.jsx("strong",{children:" Java Edition"})," and ",e.jsx("strong",{children:"Bedrock Edition"}),". Each seed comes with suggested biomes, nearby structures, and a special feature to help you find interesting worlds without hours of exploring."]}),e.jsx("h3",{children:"Understanding Minecraft Seeds"}),e.jsxs("p",{children:["A ",e.jsx("strong",{children:"Minecraft seed"})," is a number that determines everything about your world — the terrain, biomes, structure locations, cave systems, and ore distribution. The same seed always generates the same world (on the same edition and version). This is why players share seeds to show off amazing spawns, rare biome combinations, and speedrun-friendly layouts."]}),e.jsx("h3",{children:"Java Edition vs Bedrock Edition Seeds"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Java Edition"})," uses 64-bit signed integers for seeds, giving a range of about 18.4 quintillion possible worlds. ",e.jsx("strong",{children:"Bedrock Edition"})," uses 32-bit signed integers with about 4.3 billion possibilities. The same number produces entirely different worlds on each edition because they use different generation algorithms."]}),e.jsx("h3",{children:"What Makes a Great Seed?"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Village at spawn"})," – Immediate shelter, food, and trading in survival mode"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Multiple biomes nearby"})," – Access to diverse resources without long travel"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Exposed structures"})," – Visible temples, mineshafts, or strongholds near spawn"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Island spawn"})," – Popular challenge mode for experienced survival players"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Beautiful terrain"})," – Dramatic mountains, cliffs, and waterfalls for builders"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rare biome combo"})," – Mushroom Island, Cherry Grove, or Badlands near spawn"]})]}),e.jsx("h3",{children:"How Seeds Work Technically"}),e.jsxs("p",{children:["When you create a world, Minecraft uses the seed as input to a ",e.jsx("strong",{children:"pseudorandom number generator (PRNG)"}),`. This PRNG determines chunk-by-chunk what biome, terrain height, cave placement, and structures appear. Because the algorithm is deterministic, the same seed + version + edition always produces identical results. Text seeds (like "minecraft") are converted to numbers using Java's hashCode() function.`]}),e.jsx("h3",{children:"Seed Compatibility Across Versions"}),e.jsxs("p",{children:["Mojang occasionally changes the world generation algorithm in major updates. The most significant change was in ",e.jsx("strong",{children:"1.18 (Caves & Cliffs Part 2)"}),", which completely overhauled terrain generation with new height limits and cave systems. Seeds from before 1.18 will generate very different worlds in newer versions. Always note which Minecraft version a seed was found on."]}),e.jsx("h3",{children:"Tips for Finding Your Perfect Seed"}),e.jsxs("ul",{children:[e.jsx("li",{children:"Generate multiple seeds and compare their suggested features"}),e.jsxs("li",{children:["Use ",e.jsx("a",{href:"https://www.chunkbase.com/apps/seed-map",target:"_blank",rel:"noopener noreferrer",className:"text-primary",children:"Chunkbase Seed Map"})," to preview a seed's actual layout"]}),e.jsx("li",{children:"Save favorite seeds for different playstyles (survival, creative, speedrun)"}),e.jsx("li",{children:"Test seeds in creative mode before committing to a survival world"}),e.jsx("li",{children:"Share great seeds with the Minecraft community on Reddit or Discord"}),e.jsx("li",{children:"Remember that negative seeds are just as valid as positive ones"})]}),e.jsx("h3",{children:"Popular Seed Categories"}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Speedrun seeds"})," – Stronghold near spawn with a village for resources"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Survival seeds"})," – Village spawn with diverse biomes and good caves"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Builder seeds"})," – Flat terrain, beautiful landscapes, or dramatic cliffs"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Challenge seeds"})," – Island survival, no-village, or all-desert worlds"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Scenic seeds"})," – Mountain ranges, flower valleys, and ocean archipelagos"]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Rare seeds"})," – Mushroom Islands, modified biomes, or glitched generation"]})]}),e.jsx("h3",{children:"Using Seeds on Minecraft Servers"}),e.jsxs("p",{children:["Server admins can set a world seed in the ",e.jsx("strong",{children:"server.properties"})," file using the",e.jsx("code",{children:"level-seed"})," setting. This ensures all players experience the same world. For existing servers, changing the seed requires generating a new world — it won't affect the current world. Many popular servers like ",e.jsx("strong",{children:"Hypixel"})," use custom seeds for their game modes."]}),e.jsx("h3",{children:"Related Minecraft Building Tools"}),e.jsxs("p",{children:["Explore our complete collection of ",e.jsx("strong",{children:"Minecraft tools"}),":"]}),e.jsxs("ul",{children:[e.jsxs("li",{children:[e.jsx(p,{to:"/",className:"text-primary hover:underline",children:"Circle Generator"})," – Create perfect circles and arcs"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/text-generator",className:"text-primary hover:underline",children:"Text/Font Generator"})," – Build pixel-perfect Minecraft text"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/rgb-generator",className:"text-primary hover:underline",children:"RGB Color Generator"})," – Create gradients and color codes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/name-generator",className:"text-primary hover:underline",children:"Name Generator"})," – Generate unique username ideas"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/sphere-generator",className:"text-primary hover:underline",children:"3D Sphere Generator"})," – Construct domes and spheres"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/hexagon-generator",className:"text-primary hover:underline",children:"Hexagon Generator"})," – Design honeycomb patterns"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/triangle-generator",className:"text-primary hover:underline",children:"Triangle Generator"})," – Create pyramids and roof shapes"]}),e.jsxs("li",{children:[e.jsx(p,{to:"/diamond-generator",className:"text-primary hover:underline",children:"Diamond Generator"})," – Build diamond and rhombus patterns"]})]}),e.jsx("h3",{children:"Need Help?"}),e.jsxs("p",{children:["Visit our ",e.jsx(p,{to:"/faq",className:"text-primary hover:underline",children:"FAQ page"})," for answers to common questions, or ",e.jsx(p,{to:"/contact",className:"text-primary hover:underline",children:"contact us"})," for support. Check out our ",e.jsx(p,{to:"/blog",className:"text-primary hover:underline",children:"building blog"})," for tutorials on ",e.jsx(p,{to:"/blog/survival-base-designs-2026",className:"text-primary hover:underline",children:"survival base designs"})," and more building techniques."]})]}),e.jsx(Xe,{currentSlug:"seed-generator",category:"Tutorial"})]})})})},hE=new eS,mE=()=>e.jsx(rS,{client:hE,children:e.jsx(i4,{children:e.jsxs(EC,{children:[e.jsx(h1,{}),e.jsx(W1,{}),e.jsx(ZS,{children:e.jsxs($S,{children:[e.jsx(Z,{path:"/",element:e.jsx(iP,{})}),e.jsx(Z,{path:"/tools",element:e.jsx(n6,{})}),e.jsx(Z,{path:"/oval-generator",element:e.jsx(RP,{})}),e.jsx(Z,{path:"/hexagon-generator",element:e.jsx(LP,{})}),e.jsx(Z,{path:"/spiral-staircase-generator",element:e.jsx(qP,{})}),e.jsx(Z,{path:"/sphere-generator",element:e.jsx(VP,{})}),e.jsx(Z,{path:"/triangle-generator",element:e.jsx(XP,{})}),e.jsx(Z,{path:"/diamond-generator",element:e.jsx(t6,{})}),e.jsx(Z,{path:"/text-generator",element:e.jsx(q6,{})}),e.jsx(Z,{path:"/rgb-generator",element:e.jsx(Q6,{})}),e.jsx(Z,{path:"/name-generator",element:e.jsx(nE,{})}),e.jsx(Z,{path:"/seed-generator",element:e.jsx(uE,{})}),e.jsx(Z,{path:"/blog",element:e.jsx(i6,{})}),e.jsx(Z,{path:"/blog/how-to-build-circles",element:e.jsx(a6,{})}),e.jsx(Z,{path:"/blog/dome-building-guide",element:e.jsx(o6,{})}),e.jsx(Z,{path:"/blog/tower-designs-guide",element:e.jsx(l6,{})}),e.jsx(Z,{path:"/blog/geometric-patterns-guide",element:e.jsx(c6,{})}),e.jsx(Z,{path:"/blog/underwater-bases-guide",element:e.jsx(d6,{})}),e.jsx(Z,{path:"/blog/medieval-castles-guide",element:e.jsx(u6,{})}),e.jsx(Z,{path:"/blog/pixel-art-guide",element:e.jsx(h6,{})}),e.jsx(Z,{path:"/blog/modern-architecture-guide",element:e.jsx(m6,{})}),e.jsx(Z,{path:"/blog/rlcraft-building-guide",element:e.jsx(x6,{})}),e.jsx(Z,{path:"/blog/hypixel-building-guide",element:e.jsx(g6,{})}),e.jsx(Z,{path:"/blog/minecraft-education-guide",element:e.jsx(f6,{})}),e.jsx(Z,{path:"/blog/circle-building-mistakes-2026",element:e.jsx(k6,{})}),e.jsx(Z,{path:"/blog/minecraft-lag-fix-2026",element:e.jsx(M6,{})}),e.jsx(Z,{path:"/blog/minecraft-2026-cuter-update-secrets",element:e.jsx(C6,{})}),e.jsx(Z,{path:"/blog/redstone-circular-builds",element:e.jsx(S6,{})}),e.jsx(Z,{path:"/blog/bridge-building-guide",element:e.jsx(T6,{})}),e.jsx(Z,{path:"/blog/garden-landscaping-guide",element:e.jsx(P6,{})}),e.jsx(Z,{path:"/blog/survival-base-designs-2026",element:e.jsx(E6,{})}),e.jsx(Z,{path:"/blog/spiral-staircase-designs",element:e.jsx(G6,{})}),e.jsx(Z,{path:"/blog/best-skin-generators-2026",element:e.jsx(B6,{})}),e.jsx(Z,{path:"/blog/free-account-generators-scam",element:e.jsx(A6,{})}),e.jsx(Z,{path:"/blog/best-ai-video-generators-2026",element:e.jsx(R6,{})}),e.jsx(Z,{path:"/blog/minecraft-logo-title-maker",element:e.jsx(D6,{})}),e.jsx(Z,{path:"/blog/how-to-make-cobblestone-generator",element:e.jsx(I6,{})}),e.jsx(Z,{path:"/blog/best-map-generators-2026",element:e.jsx(F6,{})}),e.jsx(Z,{path:"/generator-lingkaran-minecraft",element:e.jsx(p6,{})}),e.jsx(Z,{path:"/gerador-circulo-minecraft",element:e.jsx(j6,{})}),e.jsx(Z,{path:"/generador-circulos-minecraft-vn",element:e.jsx(b6,{})}),e.jsx(Z,{path:"/minecraft-circle-generator-hindi",element:e.jsx(y6,{})}),e.jsx(Z,{path:"/minecraft-daire-olusturucu",element:e.jsx(v6,{})}),e.jsx(Z,{path:"/minecraft-circle-generator-thai",element:e.jsx(w6,{})}),e.jsx(Z,{path:"/about",element:e.jsx(aP,{})}),e.jsx(Z,{path:"/faq",element:e.jsx(MP,{})}),e.jsx(Z,{path:"/contact",element:e.jsx(CP,{})}),e.jsx(Z,{path:"/privacy",element:e.jsx(SP,{})}),e.jsx(Z,{path:"/terms",element:e.jsx(TP,{})}),e.jsx(Z,{path:"/sitemap",element:e.jsx(PP,{})}),e.jsx(Z,{path:"*",element:e.jsx(EP,{})})]})})]})})});sj(document.getElementById("root")).render(e.jsx(mE,{}));